Inspiration
Modern e-commerce search often forces a choice between rigid keyword matching that fails across multi-turn conversations and slow, costly LLMs prone to hallucination. AURA was created to bridge this gap by delivering a lightweight, deterministic retrieval agent that maintains rich conversational context using zero heavy dependencies.
What it does
AURA is a multi-turn conversational e-commerce agent that understands user intent, tracks evolving constraints, and surfaces relevant product recommendations. It handles category searches, active attribute preferences, explicit preference overrides, and negative rejections across multi-turn sessions while dynamically prompting users for key product details.
How we built it
The core engine relies on Python's standard library and an in-memory SQLite database utilizing FTS5 for fast full-text candidate retrieval. Incoming queries undergo intent detection and regex-based constraint extraction before passing into a candidate search. Top results are dynamically reranked using a multi-factor scoring function
Challenges we ran into
A primary challenge was unifying SQLite FTS5's negative BM25 score gradient with positive additive heuristic bonuses ($\mathbf{+30.0}$ for constraint hits), which required calibrating score bounds with $\max(0, -S_{\text{BM25}})$. Additionally, managing mid-session preference shifts required building dedicated override interceptors to clear state memory cleanly.
Accomplishments that we're proud of
We successfully built a production-ready, highly accurate recommendation agent that runs entirely on standard library dependencies without external PyPI packages or external LLM API costs. The architecture delivers low-latency responses, handles explicit preference changes gracefully, and manages dynamic attribute-based follow-up prompts.
What we learned
We learned that structured state tracking—managing context maps across session turns—is far more reliable for multi-turn dialogue than naive prompt concatenation. We also discovered that targeted regex pattern matching provides surprisingly robust constraint extraction while keeping inference speeds lightning-fast.
What's next for AURA
Moving forward, we plan to expand AURA by integrating vector embeddings alongside FTS5 for hybrid dense-sparse retrieval, expanding the priority attribute taxonomy, and introducing real-time catalog sync support to scale across larger, dynamically changing catalog datasets.
Log in or sign up for Devpost to join the conversation.