Growstack AI.
Engineering case study by Priyansh Dobariya · Python · FastAPI · LangGraph · ClickHouse
Big data. Simple conversations.
A Python analytics backend that turns natural-language business questions into ClickHouse filters and linked company and contact results across a 300M+ record architecture.

Explore Growstack AI.
Explore a representative workflow with sample data. Everything runs in your browser.
Loading the project workspace…
Behind the build.
Built the Python backend service for conversational analytics.
Implemented graph-based filter extraction and ClickHouse query generation.
Designed linked company and contact exploration around inspectable filters.
Tools & technologies
What I built
I built the Growstack Python backend service behind conversational filtering, ClickHouse query construction, and linked company and people results. This contribution is scoped to that service; the wider Growstack product has other components.
What this solves
Business users need to explore a 300M+ record people and company architecture without hand-writing ClickHouse filters or losing the relationship between matching records.
How it works
FastAPI routes call a Python chat manager and a separate LangGraph filter agent. The filter graph classifies intent, rejects non-business requests, loops through tools when needed, and builds structured filter output. QueryGenerator turns those filters into ClickHouse SQL, and the interface exposes the applied criteria beside linked company and people data.
From input to outcome
A question enters the chat manager, which identifies the data intent and asks the filter graph for structured criteria. Query generation produces a ClickHouse candidate; the matching company set can then be explored alongside related people records while the active filters remain visible.
Decisions visible in the code
- A separate filter graph keeps intent classification, tool calls, and final filter construction inspectable.
- Visible filters let users verify how their question was interpreted before they explore the result set.
- Company and people views preserve relationships so a user can move from an organization to its matching contacts.
What the workflow enables
The service gives users a fast path from a plain-language business question to inspectable filters and connected data.
My ownership of this Python service is confirmed. The 300M+ scale describes the source architecture; this portfolio interaction uses a small local fixture and does not claim a live performance benchmark or ownership of the full product.