It’s been a minute since I’ve shared an update. Lately, I’ve been deep in research and technical interview prep — the kind of work that doesn’t fill up your GitHub contributions graph, but is critical behind the scenes.
One major breakthrough: I’m rethinking the architecture for my project rebuild.
Initially, I fully intended to build with Next.js. It’s an outstanding framework for performant, SEO-optimized web applications, offering major UX and DX wins like smaller bundles, intuitive routing, server-side data fetching, and built-in security benefits.
However, as I clarified the core goals for this app, I realized something important: The best experience for my users will be delivered through a Progressive Web App (PWA).
For those unfamiliar, PWAs are web applications designed to feel like native mobile apps. They can even be listed in app stores and are expected to meet high standards for privacy, security, and offline usability. A key requirement is strong offline support — users shouldn’t be blocked from using the app when they lose connection.
Architecturally, Next.js’s core strength is server-side rendering (SSR) — which naturally depends on a live connection to work best. You can adapt Next for static generation and offline support, but it felt like forcing a square peg into a round hole.
From a user’s perspective, SEO isn’t critical for my app. It’s a tool meant to be discovered via app stores, not search engines. What’s absolutely critical is that it works across devices, installs easily, and remains fully functional even with a weak or absent connection.
So, it has started to make more sense to reach for tools designed from the ground up for lean, performant, client-side apps. Moving forward, I’m planning a stack based on:
- Vite (for rapid, lightweight builds)
- TanStack (for query/mutation management)
- Zustand (for local state)
- (some) IndexedDB solution (for offline persistence)
I’m mindful not to chase new tech for its own sake — but to pick tools that align directly with user needs. Next.js would be an incredible choice for many projects. Just not this one — and I’m excited to build the right foundation from the start.
Peace,
Ben