Developer debugs service worker redundant bug in Next.js PWA with Claude's help

A developer shared their experience building Somnia, a dream incubation and programming app, almost entirely with Claude as a coding partner. The app is a Next.js 14 Progressive Web App that installs to home screens like a native app, sends push notifications at sleep/wake times, stores all data locally on device, and avoids app store distribution.
The problematic bug
The developer spent three weeks debugging a critical issue where web push notifications weren't working. The service worker kept going REDUNDANT immediately after installing in PWA standalone mode on Samsung Android devices. navigator.serviceWorker.getRegistrations() consistently returned empty arrays in this mode.
Debugging process
During the debugging process, the developer:
- Consulted Claude, GPT, Gemini, and Perplexity for assistance
- Generated full debug reports
- Tried over 15 different fixes
- Built a debug page that finally showed the service worker going REDUNDANT
- Interpreted
chrome://serviceworker-internalsoutput with Claude's help
The root cause
The actual problem was that sw.js had been accidentally committed to git with a stale build ID. The precache manifest inside was trying to fetch assets from an old deployment, which all returned 404 errors. Workbox's install event failed silently, causing the service worker to self-destruct every time.
The fix
The solution was simple: git rm --cached command fixed the issue by removing the stale file from the cache.
Claude helped maintain systematic debugging when the developer wanted to give up, and while the app contains zero AI-generated content (all dream entries are written by humans), it was built almost entirely through conversation with Claude.
📖 Read the full source: r/ClaudeAI
👀 See Also

OpenClaw Agent Memory Continuity Solution Using Database Query System
An OpenClaw user solved agent memory continuity between sessions by implementing a database that stores session data, allowing the agent to query past references instead of storing entire sessions in context. The agent named Sage could remember previous conversations after session resets using this approach.

Benchmark vs. Production: When AI Agent Tests Pass but Real Workflows Fail
A developer switched production AI agents from Claude Sonnet to cheaper Grok and MiniMax models after they passed benchmark tests, but both failed in production due to operational reliability issues not covered by the benchmarks.

Using AI to Enhance Existing Enterprise Tools Like Jira
A developer used Claude's Chrome extension to create a Jira sidebar showing cross-project dependency graphs in 4 prompts, working directly within the existing Jira interface.

Claude Code's Underrated Strength: Codebase Navigation Over Code Generation
A developer reports that after months of using Claude Code as their primary dev tool, the biggest productivity gain comes from its ability to read and cross-reference entire codebases faster than grep, enabling rapid understanding of data flows and debugging.