Project case study
FixoraAI
Dual-lane LangGraph orchestration for maintenance operations. Separates execution work from informational queries, routes ~94% correctly, and escalates ambiguity instead of guessing.
Private implementation; details are shared at an architectural level.

Problem
- Execution work and general questions were landing in the same queue
- Wrong routing cost real operational time, like the wrong technician being dispatched
- Rule-based keyword matching was not accurate enough for the actual query distribution
Constraints
- Classification latency under 2 seconds
- Wrong routing has direct operational cost
- Ambiguous requests must escalate, not produce a confident-sounding wrong answer
Architecture
- Two-lane state graph: one lane for execution work, one for informational queries
- Shared state with confidence checks at each decision node
- Persistent store holds conversation history and context
Tradeoffs
- State graph over a single prompt chain. Routing needed explicit branching and state, not one LLM call and a prayer
- Rapid-prototyping UI over a polished frontend. Validation mattered more than production polish at this stage
- Multi-step classification over single-call. Noticeably better on edge cases
Outcome
- ~94% correct routing without human intervention
- Escalation path catches ambiguous requests instead of forcing a classification