Overview
What I built
- A responsive front-end using Next.js and React for creating and distributing surveys.
- Secure data storage and real-time listeners using Supabase.
- Aggregation and reporting dashboards that surface actionable insights.
Impact
Technologies used
- Next.js, React
- Supabase
- PostgreSQL / Supabase database services
- Node.js
Outcome
Problem
Solution
Architecture
Text
Browser (Next.js) -> API (Next API routes) -> Supabase (Postgres & Realtime)
| |
+--> Background workers / ETL --> Reporting DB / Materialized Views
Key components
- Survey builder (drag-and-drop field ordering, preview)
- Respondent front-end with token-based access and anti-spam protections
- Real-time aggregation using Supabase listeners and server-side transformations
- Reporting UI with filters, trend charts, and CSV exports
Features
- Create surveys with multiple question types (text, rating, multiple choice)
- Schedule surveys and email distribution hooks
- Live dashboards with time-series charts and top-feedback highlights
- Export results to CSV and automated summary emails
Screenshots / Media
Metrics
- ~40% reduction in time-to-insight for customer feedback
- 99.9% availability during campaign windows
Lessons learned
- Keeping the data model simple made downstream reporting easy.
- Realtime systems are powerful for dashboards but require careful rate-limiting and batching.
Next steps
- Add behavioural analytics (session replay snippets) and A/B test integrations.