← back home

The full catalog

Everything I've
shipped & studied.

Filter by discipline or shipping status, then open any dossier for screenshots, system flows, learnings and the gaps I would tackle next.

12detailed dossiers
30+total builds
3disciplines

Find the relevant work

Showing all 39 projects

Selected depth

Start with the dossiers.

Open one to see the problem, architecture, workflow and honest next steps—not just a thumbnail.

Flow

Upload exportAuto-map columnsClassify every $CohortsBoard pack

Why

Founders burn hours in spreadsheets before every board meeting — and get different answers each time. The ritual becomes one import button.

How

Transaction-level ingestion, a movement-classification engine assigning every dollar to new/expansion/churn/retained/reactivated, and views shaped like investor questions.

Learnings

  • Normalization IS the product — every export disagrees about refunds.
  • Classification must be explainable per-row or finance won't trust it.

What's missing

  • Live Stripe/Razorpay sync (today: upload)
  • Multi-tenant workspaces & billing
TypeScriptReactNodePostgreSQL

Flow

Drop CSV/ExcelParse in-browserFix data issuesMRR · cohorts · refunds · geo

Why

Revenue data is radioactive — teams hesitate to upload it anywhere. Privacy by architecture: all parsing and math run client-side.

How

TypeScript + custom chart library (Sankey, waterfall, cohort heatmaps), auto-detected remappable columns, data-issues fixer pipeline.

Learnings

  • "Never leaves the browser" closes more users than any feature.
  • Client-side cleaning UX is the hard part, not parsing.

What's missing

  • Web-worker pipeline for huge files
  • Saved workspaces · shareable reports
TypeScriptCustom SVG chartsVite

Flow

Import leadsCSV auto-mapDrag through stagesWhatsApp/email outreachauto-loggedFounder dashboardARR · CaC · win rate

Why

Replaces the lead spreadsheet every early team runs on — and does the founder math a spreadsheet never will.

How

Stage probabilities roll card values into weighted pipeline and projected MRR; spend entry feeds blended CaC and channel CPL/ROAS. Metrics layer unit-tested.

Learnings

  • Fewer fields with the math done beats more fields.
  • Auto-logging is the difference between a CRM and a graveyard.

What's missing

  • Email inbox sync (outbound only today)
  • Role-based permissions · mobile app
Next.js 16PrismaNeon PostgresClerkVitest

Flow

Upload PDFDetect bank layoutExtract rowsReconcile vs. totalsClean Excel

Why

Parsers — AI ones included — break on large multi-page statements and fail silently. In financial data, silent failure is the worst kind.

How

Format-aware parsing per Indian bank layout; a verification layer treats the statement's own totals as ground truth — opening + transactions must equal closing.

Learnings

  • Trust the document's totals, never the parser.
  • Boring per-format parsers beat clever generic ones 10×.

What's missing

  • More bank layouts
  • Batch API · Tally/QuickBooks export
PythonPDF parsingpandasopenpyxl

Flow

Paste DDLParse keysInfer relationshipsby conventionExplorable graphAI explanations

Why

Only a handful of people understand how the tables relate; onboarding runs on tribal knowledge and Slack archaeology.

How

Explicit FKs first, then inference from naming conventions (user_id → users); interactive graph with per-table focus; AI explains what clusters are for.

Learnings

  • Conventions encode 80% of undeclared relationships.
  • Progressive disclosure is the real design problem.

What's missing

  • Live DB connections (today: pasted schema)
  • Team sharing · drift diffing
TypeScriptGraph renderingGemini AI

Flow

GST invoiceinteger-paise mathRecord IRNTally voucherXML, queued retryDual QRGST + UPIAuto-match creditsconfidence tiers

Why

Indian SMBs juggle GST compliance, Tally and collection as three disconnected chores; money falls through the cracks between them.

How

One GST engine drives preview and server so they can never disagree; Tally XML with queued retries; bank credits auto-match with confidence tiers — high posts automatically, the rest queue for review.

Learnings

  • Money math in floats is a bug factory — integer paise everywhere.
  • Queue-and-retry beats "is Tally running?".

What's missing

  • Automated IRN via e-invoice API
  • Multi-company · GST filing exports
Next.js 16Prisma · PostgresTally XMLUPI QR

Flow

Upload statementEngine suggestsfrom client's QBO historyHuman approvesPost with dedupefull audit logReconcile

Why

Bookkeepers spend hours categorizing transactions QuickBooks has seen a hundred times before.

How

Exact-vendor, fuzzy and recurring-payment matching against the client's own history; settles invoices/bills; detects transfers instead of double-counting. Six test modules.

Learnings

  • Human-in-the-loop is the feature accounting buyers ask for first.
  • Transfers are where naive categorizers double-count.

What's missing

  • Multi-tenant onboarding
  • Xero support · per-client auto-post policies
Python · FastAPIQuickBooks APIrapidfuzzReact

Flow

SEO landing pagesLeads capturedsource-trackedWorked in internal CRMWhatsApp campaignsRazorpay collectsBlog pipeline compoundsprerender · RSS · sitemap

Why

Built to run a real agency end to end — marketing, conversion, collection and operations in one place.

How

React 19 + GSAP 3D scroll homepage, dual layout system, custom prerendering build pipeline, Express 5 + Neon backend, better-auth OTP, Razorpay webhooks.

Learnings

  • Prerendering beats SSR for weekly-changing content.
  • Source attribution must be captured at write time.

What's missing

  • CMS for non-dev editing
  • Landing-page A/B testing
React 19GSAP · Three.jsExpress 5Neon PostgresRazorpay

Flow

Ingest 4 sourcesJoin on identityDAU/MAU · ROAS · cohorts · creditsDetect drop-offsAuto re-engagement

Why

Product, growth and revenue data lived in four tools; every question needed four tabs and manual joins.

How

Identity-joined pipeline across product DB, PostHog, Stripe and Meta; drop-off detection fires re-engagement notifications automatically.

Learnings

  • Four sources is easy; four teams agreeing on definitions is the project.
  • Metrics wired to actions change behavior; dashboards alone don't.

What's next

  • Self-serve metric builder
  • Anomaly alerts · channel LTV prediction
PostgreSQLPostHog APIStripe APIMeta Ads APIPython

Flow

Scrape reviewsClean & dedupeSentiment scoringNPS cohortsTableau trendsby app version

Why

App-store reviews were a goldmine of product feedback nobody was reading systematically.

Learnings

  • Reviews cluster into few themes fast; the long tail is thin.
  • NPS by version turns "users are unhappy" into "release X broke Y".

What's missing

  • Scheduled re-scrapes · aspect-based sentiment · iOS coverage
PythonWeb scrapingNLPTableau

Flow

Pick a titleparameter actionLODs score similarityRankgenre · rating · popularityLive recommendations

Why

To prove BI tools can do more than bar charts — recommendation logic with pure LOD expressions and parameter actions.

Learnings

  • Tableau computes almost anything if you think in LODs.
  • Parameter actions are a full interaction model.

What's missing

  • Dataset refresh · collaborative filtering · match explanations
TableauLOD expressionsParameter actions

Flow

Search destinationPhoton geocodingSet radius100m – 5kmAdaptive GPSbattery tiers by ETAEnter radiusEscalating alarmthrough silent mode

Why

Everyone who commutes by train or bus has slept past their stop.

How

MapLibre + OpenFreeMap + Photon + OSRM (no Google billing); unit-tested pure-Dart trip state machine; alarm on the alarm audio stream; distance-based snooze; CI APK builds.

Learnings

  • Free map stack works; geocoding quality varies outside big cities.
  • Battery-vs-accuracy tiers beat sliders.

What's missing

  • Store releases (today: CI builds)
  • iOS background hardening · offline maps
Flutter · DartMapLibreOSRM · PhotonGitHub Actions

More builds & analyses

WowWrite

AI writing suite: detector, humanizer, 50+ tools.

● Live ↗

SubTrack

SaaS subscription discovery and spend management.

● Live ↗

Taxera

Marketing site for business-registration services.

● Live ↗

Payments & Ad-Spend BI

Flask BI dashboard, multi-currency ad-spend + payments.

Flask · Private

Zocket Revenue Dashboard

Revenue-vs-ad-spend analytics with customer drill-downs.

Private

Meta Ads Insights

60 days of campaign/adset/ad performance in Streamlit.

GitHub ↗

Ad Rejections Monitor

Facebook ad rejections tracked from Redshift.

GitHub ↗

Stripe → Postgres ETL

Pipeline + LLM SQL-assistant for financial analytics.

GitHub ↗

Mercury API Client

Typed Python client for Mercury banking.

GitHub ↗

Airflow Ad-Spend ETL

FB + Snapchat ingestion at Zocket — live view of ~$4M/mo.

Work project

HueHunt

Daily color-memory challenge — PWA + Android.

PWA

Parallel (App Cloner)

Isolated instances of the same macOS app, side by side.

Swift

CineSage

AI movie recommendations via Gemini.

Gemini AI

Hide Numbers

Chrome extension masking sensitive data for screenshots.

Extension

GitFolio AI

GitHub profile → portfolios & case studies. This site's ancestor.

Gemini AI

Color Flip

One-tap arcade game — web, Android, iOS.

Cross-platform

Cosmos

AI astrology — Western, Tamil, Telugu.

● Live ↗

Nutriscan

Snap food → calories & macros.

Gemini Vision

Language Box

All-in-one AI language toolkit.

● Live ↗

Task Recorder

Interval nudges to log work, synced via Firebase.

Extension

GitHub Line Counter

Gamified LOC counter with badges.

GitHub ↗

Netflix EDA

Catalog exploration in Python/Jupyter.

GitHub ↗

Zomato Analysis

Tableau · Power BI · Excel.

GitHub ↗

Aerofit Statistics

EDA + probability on buyer profiles.

GitHub ↗

Used-Car Price Predictor

ML pricing for the Indian market.

GitHub ↗

Flipkart Scraping

Datasets behind the Tableau category analysis.

GitHub ↗

PyScript Dashboard

Python running in the browser.

GitHub ↗

tableau:// public gallery

Go deeper

Read the case studies.

Two scroll-through investigations, a notebook, and two launch pages.

case studies →

Or just

Say hello.

gautham2597@gmail.com — Chennai, India.

contact →