Building Analytics and Observability Into My Portfolio
By Neel Vora
This post walks through how I built analytics and Observability Into My Portfolio, and where it fits in the rest of my work.
Coming from museum and government work where stakeholders needed clear metrics, I built this analytics system to prove value, not just track vanity metrics.
Most portfolios only show static content. Mine needed to act more like a real product.
That meant adding analytics, telemetry, and observability features that help me understand how users interact with my work.
What I wanted to measure
- Page views for every project
- Time on page
- Scroll depth
- Referrer
- User agent
- Country
- Anonymous visitor ID
On top of that, I wanted real observability:
- Error logging
- Health checks
- Admin dashboards
The data layer
I used:
- Supabase Postgres
- Row level security
- Server routes for ingesting events
Tables include:
- analytics_events
- analytics_sessions
- error_logs
Client capture
Each project page mounts a hook that records:
- View event on load
- Scroll depth on unmount
- Time on page difference
Admin dashboards
I built simple admin pages that show:
- Events by project
- Traffic over time
- User locations
- Error logs
Why this matters
It also combines design analytics systems from scratch in a production environment.
Keep exploring
From here you can:
- Visit /neel-vora for more background about me and my work.
- Browse more posts on the blog.
Thanks for reading! If you found this useful, check out my other posts or explore the live demos in my AI Lab.