🚀 About the Project

💡 Inspiration

Procurement is still painfully manual—teams spend hours Googling vendors, cross-checking credibility, and making subjective decisions. We wanted to compress that entire workflow into seconds using AI, without sacrificing depth or reliability.


🏗️ How We Built It

We designed SpendOS as a decoupled, AI-first system:

  • Backend: FastAPI for APIs + async handling
  • Worker Layer: ARQ + Redis to process long-running AI tasks
  • AI Orchestration: LangGraph to manage a multi-step pipeline:

    • Vendor discovery (via SerpAPI)
    • Data enrichment
    • Parallel risk analysis
    • Parallel reliability scoring
    • Final recommendation synthesis
  • Inference Stack: Multi-model LLM setup (LLaMA, Qwen via Groq) for speed + specialization

  • Frontend: React 19 with SSE for real-time progress updates

We optimized for throughput using parallel nodes. Conceptually:

[ T_{total} \approx \max(T_{risk}, T_{reliability}) + T_{overhead} ]

Instead of sequential execution:

[ T_{total} = T_1 + T_2 + T_3 + \dots ]


⚔️ Challenges We Faced

  • Latency vs Depth Tradeoff Running multiple LLM calls can slow things down. We solved this with parallel execution + Groq inference.

  • Unstructured Data Noise Web results are messy. We built sanitization + structured extraction layers to maintain consistency.

  • State Management in AI Pipelines Coordinating multiple dependent steps wasn’t trivial—LangGraph helped manage state transitions cleanly.

  • Async Architecture Complexity Separating API response cycles from long-running AI workflows required careful handling of queues, retries, and streaming updates.


📚 What We Learned

  • Parallelizing AI workflows is a game-changer for real-world latency
  • Multi-model setups outperform single-model pipelines in both speed and accuracy
  • Clean architecture (service + worker separation) is critical for scaling AI systems
  • Real-time feedback (SSE) drastically improves user trust in AI systems

🎯 Outcome

SpendOS transforms procurement from a slow, manual process into a real-time, AI-driven decision engine—delivering structured, risk-aware vendor insights in seconds instead of hours.

Built With

  • communication:
  • groq-(llm-inference)-llms:-llama-3.x
  • javascript-backend:-fastapi
  • languages:-python
  • qwen-32b-infra-&-deployment:-docker
  • real-time
  • render
  • sqlalchemy-2.0-(async)-frontend:-react-19
  • sses
  • typescript
  • vite-ai-orchestration:-langgraph-task-queue:-arq-with-redis-database:-postgresql-apis:-serpapi-(vendor-discovery)
Share this project:

Updates