Chorus
Household chore management app with cascading scheduling that spreads work naturally across time.
What is it?
Chorus is a household chore management app I built for couples and small households. The core idea is what I call a “cascading schedule” system – higher-frequency chores naturally flow into lower-frequency time slots, which ensures consistent work distribution without having to micromanage a calendar.
Daily schedules include one weekly chore, weekly views include one monthly task, and monthly views include one yearly chore. This spreads annual tasks across the year automatically while still allowing manual adjustments when needed.
Try it yourself: https://github.com/loehnertz/Chorus
Why I built it
I got tired of the mental overhead of chore management in shared living situations. Either everything was ad-hoc and things got forgotten, or we’d try to be systematic about it and end up spending more time planning chores than actually doing them.
I wanted something that would distribute work fairly across time without requiring us to sit down and plan every week. The cascading model removes decision fatigue – you just look at today’s list and do what’s there. Everything else takes care of itself.
How it works
The daily schedule becomes your source of truth where all chores ultimately resolve. When you look at your day, you see:
- Daily tasks (obviously)
- One weekly task that’s due
- One monthly task if it’s time
- Maybe a yearly task if the timing works out
This way, big annual chores (like cleaning the oven or reorganizing storage) just appear in your daily view at the right time without you having to remember them.
Key features:
- Cascading Planning System – Work is distributed across time periods automatically
- Multi-User Support – Task assignment and individual completion tracking for household members
- Smart Suggestions – Prioritizes overdue or never-completed chores, with auto-placement for weekly/biweekly chores on preferred weekdays
- Pace Warnings – Alerts when falling behind on schedules to keep the household on track
- Mobile-First Interface – Optimized for quick interactions and on-the-go task management
Tech stack
I built Chorus with modern full-stack tools:
- Next.js (App Router) + TypeScript for the full-stack application framework
- PostgreSQL via Neon for robust data persistence
- Prisma ORM for type-safe database operations
- Neon Auth (Better Auth) for secure authentication
- TailwindCSS with custom CSS variables for the design system
- Framer Motion for smooth, satisfying animations
- Jest + React Testing Library for comprehensive testing
Each deployment represents a single household where all users share the same chore pool and can view each other’s tasks. Hosted on Vercel with serverless functions.
Design
Chorus follows a “Domestic Futurism” aesthetic using a warm, grounded color palette:
- Terracotta (#E07A5F) for primary actions
- Sage (#81B29A) for completed states
- Cream (#F4F1DE) for backgrounds
- Charcoal (#3D405B) for text
Typography combines Outfit (display) and Merriweather (body), emphasizing smooth animations and satisfying interactions that make chore management feel less like a burden.
What I learned
Building Chorus reinforced some important lessons:
- Automatic distribution beats manual scheduling – The cascading model removes decision fatigue while ensuring nothing falls through the cracks
- Shared context reduces coordination overhead – When everyone can see the full household state, fewer conversations are needed about “who does what”
- Delight in mundane interactions – Small animations and feedback loops can make routine tasks genuinely enjoyable
The deploy-per-household model also simplified things a lot – single-tenant deployments mean I don’t need complex multi-tenancy infrastructure for data isolation and privacy.