-
-
Home dashboard: parents track each child's daily points, weekly summaries, and today's task list in a bilingual interface.
-
Admin panel: parents customize each child's task list with paired positive/negative behaviors and adjustable point values.
-
Reward Shop: kids redeem earned points for real rewards like movie picks, extra game time, or a one-on-one outing with a parent.
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
Log in or sign up for Devpost to join the conversation.