All projects
PROJECT 01 / CONVERSATIONAL ANALYTICS

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, query previews, and tracked data exports.

Emerald glass ribbons flow through a transparent data monolith and resolve into orderly columns, representing conversational analytics.
PROJECT OVERVIEW

Behind the build.

  • Built the Python backend service for conversational analytics.

  • Implemented graph-based filter extraction and ClickHouse query generation.

  • Separated preview, export, tracking, and credit-count responsibilities.

Tools & technologies

  • Python
  • FastAPI
  • LangGraph
  • ClickHouse
MY CONTRIBUTION

What I built

I built the Growstack Python backend service: the Python service behind conversational filtering, ClickHouse query construction, result previews, and tracked exports. This contribution is scoped to that service; the wider Growstack product has other components.

THE PROBLEM

What this solves

Business users need to explore large people and company datasets without hand-writing ClickHouse filters or losing track of what was exported.

ARCHITECTURE

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 a structured filter output. QueryGenerator turns that filter into ClickHouse SQL; a ClickHouse client executes queries. ExportTrackingService delegates people and company exports, previews, credit counts, and tracking to focused services.

ONE WORKFLOW

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 client can validate syntax and execute it. The user can inspect a preview before an export service selects records and records the export for that user.

ENGINEERING

Decisions visible in the code

  • A separate filter graph keeps intent classification, tool calls, and final filter construction inspectable.
  • Preview and export services separate exploration from record delivery and export tracking.
  • People and company export paths have their own services while sharing a routing and credit-count layer.
BENEFIT & EVIDENCE

What the workflow enables

The service gives users a path from a business question to queryable data and keeps the export operation traceable in backend records.

My ownership of this Python service is confirmed. The repository does not establish a reproducible dataset-size benchmark, measured time savings, or ownership of the full product.

EXPLORE NEXT

uRecruits