Active · May 31, 2026
곁 · Beside
A private, installable PWA for keeping the encouragement of the people who love you — voice, photo, a kind word, a short clip — and surfacing it on the hard days. One codebase: zero-account local to full production infra by env var alone.
- Role
- Solo (AI-pair-programmed with Claude Code)
- Stack
- Next.js 16 · React 19 · TypeScript · PostgreSQL · Drizzle · PWA · Web Push · S3 / R2 · Terraform · Tailwind v4

Project log
Chronological record of troubleshooting, retros, and updates while building this.
Week of May 25, 20267 entries · 1 Update · 1 Troubleshoot · 4 Tech retro · 1 UX retro
Adversarial Security Review: 11 Confirmed Flaws and What We Fixed Now
Tech retroMay 31, 2026 · 2 min
After the build, we ran a multi-agent adversarial review (security/auth/data/capture/PWA/spec) and confirmed 11 flaws. Fixed immediately the ones that break the demo/spec; documented the 2 production-scale items.
Kakao Login Live Integration: from KOE006 to KOE010, and the decision to do OAuth directly
TroubleshootMay 31, 2026 · 2 min
Implemented the spec's 'Kakao via generic OAuth' directly without Better Auth, slotting it into the lib/auth interface. Cleared two gates with real keys — KOE006 (redirect not registered) and KOE010 (missing client_secret) — and logged in successfully.
Beotimok: An Overnight Autonomous MVP Build — From a One-Page Spec to a Working App
UpdateMay 31, 2026 · 2 min
A record of taking a single work.md spec and building the 'Beotimok' (a private keepsake box you open when you're falling apart) PWA MVP all the way to done overnight. Designed to run immediately with 0 external accounts.
PGlite Embedded DB: The Full Story of Concurrency, Corruption, and Build Conflicts and How They Were Solved
Tech retroMay 31, 2026 · 3 min
Three traps hit with PGlite (WASM PostgreSQL), chosen for zero external DBs — concurrent queries, disk corruption, and build multi-worker conflicts — and the convergence onto lazy-init + a process guard.
Every Stack Decision: What, Why, Alternatives, and the Production Switch Point
Tech retroMay 31, 2026 · 3 min
A rundown of every tech-stack decision made in the 버팀목 MVP, with rationale, alternatives, and production switch points. The core pattern: 'put local defaults behind an interface, and swap in production keys by changing just one file.'
Trust comes from 'feeling, control, relationship,' not an encryption explainer — and multitenancy
UX retroMay 31, 2026 · 3 min
A discussion and decision on how to handle 'I'm scared my data is stored outside' in a sensitive product. Where E2EE fits, prioritizing felt trust, implementing export/delete-everything, and proving multitenancy isolation.
Video as a Fourth Content Type — §1.1 A Deliberate Departure from Simplicity
Tech retroMay 31, 2026 · 2 min
By owner decision, short video (20s) was added on top of voice/photo/text. Flagged as a deliberate departure from the spec's simplicity guardrail, extending the existing capture pattern as-is. Unresolved playback compatibility caveat noted.