How I Built ToolHub: A 138-Tool Static PWA That Stays Sub-Second

μž‘μ„±μž

μΉ΄ν…Œκ³ λ¦¬:

← ν”Όλ“œλ‘œ
DEV Community Β· ɐ β„’β„―β„― Β· 2026-08-04 개발(SW)
Cover image for How I Built ToolHub: A 138-Tool Static PWA That Stays Sub-Second

ɐ β„’β„―β„―

Hi everyone! πŸ‘‹ I recently published a full architecture retrospective on building ToolHub β€” a clean, privacy-first, zero-bloat suite of 138+ in-browser web utilities.

Here is a summary of the key engineering tradeoffs and technical decisions that allowed us to keep the site sub-second fast and fully offline-capable.

πŸš€ Key Architectural Highlights

⚑ 1. Next.js Static Export (output: ‘export’)
Instead of running a node server for SSR/ISR, we opted for a 100% static export model hosted on edge CDN.
πŸ‘‰ Why: Zero server maintenance, ultra-low TTFB, infinite scaling.
πŸ‘‰ Tradeoff: Everything dynamic executes strictly on the client side in browser memory.

πŸ“² 2. Custom Service Worker Caching Strategy
We built a custom SW strategy specifically for PWA caching:

stale-while-revalidate for static assets (_next/static/*).

network-first for HTML document navigations (ensures users always see the latest release when online).

Complete offline capability across all 138 tools once cached.

πŸ” 3. pSEO Engine (Programmatic SEO)
Generating 138+ static tool pages with full JSON-LD structured data and automated internal linking meshes, all baked into static HTML at build time without runtime database lookups.

πŸ“ 4. Zero-CLS Ad Strategy
Preventing layout shifts (CLS) by reserving explicit fixed-height layout slots for ad units before they load.

πŸ› οΈ Try ToolHub Live:
πŸ‘‰ https://toolhub.axtrivc.com/

πŸ“– Read the full engineering deep-dive on my blog:
πŸ‘‰ https://toolhub.axtrivc.com/blog/how-i-built-toolhub/

I’d love to hear your thoughts, feedback on the architecture, or suggestions for new tools! πŸ’¬

μ›λ¬Έμ—μ„œ 계속 β†—

μ½”λ©˜νŠΈ

λ‹΅κΈ€ 남기기

이메일 μ£Όμ†ŒλŠ” κ³΅κ°œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν•„μˆ˜ ν•„λ“œλŠ” *둜 ν‘œμ‹œλ©λ‹ˆλ‹€