FinTech · Data pipeline + dashboard
Meridian Capital — Automated Portfolio Reporting
Reporting lag reduced from 3 days to 15 minutes. $120k/yr saved in manual labor.
Industry
FinTech
Service
Data pipeline + dashboard
Timeline
8 weeks
Result
Reporting lag reduced from 3 days to 15 minutes. $120k/yr saved in manual labor.
Meridian Capital — Automated Portfolio Reporting
Illustrative engagement — details anonymized.
Industry: FinTech Service: Automated data pipeline + real-time dashboard Timeline: 8 weeks Stack: Next.js, Supabase, Alpaca API
The problem
Meridian Capital's portfolio reporting was entirely manual. Analysts pulled data from three brokerage feeds, reconciled in spreadsheets, and compiled PDF reports for clients. The process took roughly 3 days per reporting cycle, introduced frequent copy-paste errors, and meant clients were always looking at stale numbers.
The firm had grown to 200+ managed accounts. The manual process that worked at 50 accounts was now a bottleneck — and a compliance risk.
What we built
Automated data pipeline: An ingestion service that pulls position, transaction, and market data from the Alpaca API on a configurable schedule (default: every 15 minutes). Data is normalized, reconciled against expected holdings, and stored in Supabase with full audit trails.
Real-time dashboard: A Next.js application with role-based access. Portfolio managers see aggregate views. Individual clients see their own holdings, performance charts, and transaction history — updated in near real-time.
Report generation: Automated PDF report generation using the same data pipeline. Reports that previously took a full day to compile are now generated on-demand or on a schedule, with zero manual intervention.
Alerting: Threshold-based alerts for unusual position changes, reconciliation mismatches, or failed data pulls. Delivered via email to the operations team.
The technical decisions
Supabase over custom Postgres: The client needed row-level security for multi-tenant portfolio access. Supabase's built-in RLS policies gave us per-client data isolation without building a custom auth layer. Saved roughly 2 weeks of development.
Incremental sync over full refresh: Rather than pulling all historical data on every cycle, we implemented incremental sync with watermark tracking. This reduced API calls by 95% and kept the pipeline within Alpaca's rate limits comfortably.
Server-side rendering for compliance: All dashboard pages are server-rendered. This ensures the data displayed matches what's in the database at render time — important for regulatory screenshots and audit trails.
Results
- Reporting lag: 3 days → 15 minutes
- Manual labor saved: ~$120,000/year (2 full-time analyst positions reallocated to higher-value work)
- Error rate: Manual reconciliation errors dropped to near-zero
- Client satisfaction: NPS increased 18 points in the quarter following launch
Handoff
Full codebase delivered in the client's GitHub organization. Supabase project transferred to their account. Documentation includes API integration guide, data dictionary, and runbook for common operations. 30-day bug warranty included.
Illustrative engagement — details anonymized.