#Build02 · Fintech · Internal platform
DotPe CRM internal brain
An internal platform with analytics dashboards, automated vendor onboarding and auto-generated templates.


/month saved
sales recovered
Problem
CRM sales, onboarding, and adoption data for merchants lived across scattered Redash queries and manually-updated Google Sheets. There was no single merchant profile — sales, ops, and leadership each pieced together their own view, and weekly reporting meant screenshotting dashboards into emails that often broke on size limits.
Solution
We built a merchant-centric dashboard and database: Redash queries and the CRM/Loyalty closures Google Sheet sync in automatically via cron, landing in a generic time-series snapshot table per merchant. Sales, ops, and leadership (read-only) all see the same account-level view, with a hand-built HTML email report sent out automatically instead of screenshots.
Process
Started with the data model — one merchant record, with a generic snapshot table so any new Redash or Sheets metric could be added without a schema change. Sync jobs were split into single-purpose cron routes after Vercel's function execution ceiling forced slow Redash syncs apart. The email report was rebuilt from scratch after discovering Gmail clips HTML over ~102KB, ruling out screenshot-based reporting.
Technical details
How it's built.
What runs where, what it talks to, and what was handed over.
- Merchant-centric dashboard + database view
- Automated Redash + Google Sheets sync with run tracking
- Role-based access (sales/ops write, leadership read-only)
- Onboarding, roadmap, and support-request tracking
- Automated weekly HTML email report (inline SVG charts, no screenshots)
Architecture
How the pieces connect.
Redash queries and the closures Google Sheet sync into Postgres via scheduled cron jobs, landing in a generic per-merchant snapshot table. Server Components read this via Prisma; a pure computation layer handles funnel/KPI/ARPU math separately from data fetching. A weekly cron renders a dependency-free HTML email report and sends it via Resend.
They turned our scattered CRM data and ops work into one live dashboard. Recovered 40% revenue by spotting gaps, saved hundreds of hours of manual work.
More builds

Pick a time, or just message. Either way you talk to the person building your tool.


