Work

Real projects.
Real results.

Two recent builds, each starting with a slow, manual process and ending with a system the team now runs on. Client names are withheld and identifying details are removed from screenshots.

Case study 01 · Data Cleanup + Dashboards

One source of truth for subscription growth, pricing, and marketing.

A Power BI dashboard that replaced manual data pulls with a live view of subscribers, conversion, churn, and demographics, now used to shape the client's subscription marketing and pricing strategy.

4 days
From kickoff to handoff
2 pages
Growth & retention, demographics & engagement
1 view
Replacing manual pulls and spreadsheet merges
Self-serve
Filter by country, age, plan, gender, and date

The challenge

Every pricing or marketing discussion started the same way: someone on the team pulled subscription data from several sources, merged it by hand, and rebuilt the same calculations in spreadsheets. It was slow, hard to repeat, and different people could end up with different numbers for the same question.

What we built

  • Key metrics at a glance: active subscribers, registered users, total subscriptions, registered-user conversion, churned subscribers, and churn rate.
  • Monthly growth: net new subscribers by month with a cumulative overlay, plus subscriptions created over time.
  • Plan and status split: monthly vs. annual plans, active vs. canceled, so pricing changes can be read directly against retention.
  • Subscriber demographics: age groups, gender mix, billing plan, and a geographic view by location and country.
  • Engagement: engagement score distribution and event-based engagement mix over the past 12 months.
  • Built for the team: on-page slicers, in-report guidance, and export with filters applied, so anyone can answer their own question.

The outcome

The calculations the team used to rebuild by hand now live in one model, defined once and refreshed automatically. The dashboard became the reference point for decisions on subscription marketing and pricing strategy: instead of debating whose numbers were right, the team starts from the same view and spends its time on the decision itself.

Case study 02 · Custom AI Tool

An AI data assistant that cut ad hoc requests by 90%.

A Python app connected to the client's database that answers data questions in plain English, returning charts, tables, and exports in seconds instead of waiting in the data team's queue.

−90%
Ad hoc data requests
30–50
Requests per month before
1–5 hrs
To resolve each request before
2 weeks
From kickoff to handoff

The challenge

The data team received 30 to 50 one-off requests every month: "how many users signed up last month by country?", "can you pull this by plan?" Each one took between one and five hours to write the query, check it, and format the answer. That added up to roughly 30 to 250 hours of analyst time a month spent on questions, not on deeper analysis.

What we built

  • Ask in plain English: people type a question the way they'd ask a colleague.
  • Claude turns it into SQL: the Claude API interprets the question, writes the query against the client's database, and runs it.
  • Answers as chart, table, or CSV: results render instantly and can be exported for further work.
  • Transparent by design: every answer comes with a plain-language explanation of what was queried, plus a "Show SQL" view for the data team.
  • Safe access: read-only connection, with every query logged and auditable.
  • Recent searches: a history of questions so common requests are one click away.

The outcome

Ad hoc requests to the data team dropped by 90%. Business users get answers in seconds without waiting in a queue, and analysts got back the hours they used to spend on repetitive pulls, time that now goes into the deeper analysis only they can do.

Have a similar bottleneck?

Tell us what's slow, manual, or impossible to answer today. We'll tell you honestly what it would take to fix.