Inspiration

As a parent, I wanted a simple way to track my child's summer habits, chores, and personal growth — something more engaging than a paper chart, but not as heavy as a full parenting app. I also wanted a real project to sharpen my full-stack skills, so I built Summer Growth Ledger from the ground up with no prior coding background.

What it does

Summer Growth Ledger is a bilingual (English/Chinese) progressive web app that lets families log daily habits, chores, and milestones for their kids over the summer. It works offline as a PWA, syncs data to the cloud, and presents progress in a way that's easy for both parents and kids to understand.

How we built it

The app is built as a full-stack PWA, with the frontend calling a Supabase backend for authentication and data storage. It's deployed on Render. Over many iterations (the app is now at v115), I worked through real-world issues like Row Level Security (RLS) policies blocking legitimate requests, conflicting dual event listeners between the main app script and a fallback script, and bugs in dropdown population logic.

Challenges we ran into

  • Debugging Supabase RLS rules that silently blocked valid reads/writes
  • Resolving conflicts between app.js and fallback.js firing duplicate event listeners
  • Fixing dropdown population bugs across bilingual UI states
  • Learning full-stack development (frontend, backend, deployment) from scratch throughout the build process

Built With

  • javascript?supabase?postgresql?render?pwa?html/css
Share this project:

Updates