The original analytics implementation stored one tiny file in Vercel Blob for every page view. Vercel Blob charges per operation, not per byte, so this burned through the free tier faster than expected. In this post I will detail the migration to Firestore daily summary documents — one write per page view, one read per day of stats — and the Firestore gotcha that wasted an afternoon.
Vercel
2 posts.
Most analytics tools require a JavaScript snippet in every page — which means your readers' browsers are doing the tracking work, and adding a dependency you cannot fully control. In this post I will detail how I added page view tracking to this blog using Next.js 16's proxy layer and Vercel Blob, with no client-side JavaScript and no third-party analytics service.