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.

Built With

Share this project:

Updates

Submission history