Dashly — LLM-Guided Analytics Platform — Engineering Case Study
Yubi · SpoctoX (Debt Collection) · by Yatharth Lakhera
Customizable internal analytics platform built solo for SpoctoX (Yubi's debt-collection arm). Multi-DB connectors, an LLM-guided query optimizer, and a stale-while-revalidate cache that keeps the dashboard up when source DBs go down.
The challenge
SpoctoX's business-ops and select clients' data-analytics teams were on Apache Superset, but three things made it the wrong tool: branding (Superset couldn't be whitelabeled, and the dashboards were going out to external client analytics teams — a hard brand requirement), customization (the team needed 10+ chart types tailored to debt-collection metric shapes that Superset's library didn't cover), and a 5–10 minute query rate limit that killed iterative analysis. Worse, business-ops users don't write SQL — they were leaning on engineers for one-off queries against operational MySQL, Postgres, Redshift, and Apache Pinot stores holding hundreds of millions of rows.
The build
Built Dashly end-to-end (frontend + backend, solo). A multi-DB connector layer abstracts MySQL/Postgres/Redshift/Pinot behind a single query surface. An LLM-guided optimizer pipeline — static query validator, per-DB EXPLAIN normalization, LLM-generated optimization suggestions for non-SQL users, and a hard cap of 100 returned data points (chart-bound) — keeps business-ops users from nuking prod with unbounded queries. A persistent, stale-while-revalidate Redis cache keeps the dashboard up even when source DBs go down.
Impact
- P95 under 200ms on the cached query path — Superset's 5–10 min wait collapsed to seconds
- +70% adoption among business-ops vs the old Superset deployment
- 90% reduction in source-DB query load (cache + 100-point cap + EXPLAIN-gated execution)
- Whitelabel-ready — shipped to external client data-analytics teams
- Source-DB outages stopped taking the dashboard down
Technologies: Python, FastAPI, React, Redis, MySQL, Postgres, Redshift, Apache Pinot, LLM
Yatharth Lakhera — full portfolio