Hearty
AI concierge MVP for active seniors
Available at: d2jc32x9xxe9d3.cloudfront.net
Issue / Solution
The Issue: Many active seniors and adult learners start lifestyle courses (like classical instruments, golf, or cooking) with high enthusiasm but drop out within a few weeks. Standard directories or marketplaces offer hundreds of scattered listings but fail to support the end-to-end learning journey, leaving seniors feeling overwhelmed, unguided, and disconnected during their initial lesson stages.
The Solution: I built Hearty, a deployed web MVP focusing on course completion rather than simple registration. Seniors are onboarded through a conversational AI voice assistant (Evelyn) that conducts a comfortable diagnosis to extract schedules and barriers. The system seeds a structured 12-session learning workspace with active milestones, manager notifications, lesson check-ins, and direct message lines, deployed using Next.js on CloudFront and an AWS Chalice/Neon Postgres backend.
Overview
Hearty is a deployed web MVP for Korean adult learners and active seniors. The product combines a polished public landing page, an onboarding diagnosis flow, sample login, dashboard screens, schedule, records, messages, notifications, and backend-backed user data. The current deployment is live through CloudFront and backed by an AWS Chalice API.
System Architecture
The system is built static-first for ultra-low hosting costs, leveraging AWS serverless compute and serverless relational storage.
System Architecture
Product Flow
The landing page frames the product around completion rather than simple registration: AI helps a user find a suitable activity, and a dedicated manager supports the 3-month journey. The diagnosis page introduces Evelyn, the AI concierge, as a conversational onboarding agent. After signup or sample login, the app can seed a starter workspace with a plan, lessons, records, messages, and notifications so the dashboard feels like an actual service instead of an empty prototype.
Landing Page & Conversational Onboarding
Hearty's client interfaces use warm, highly readable layouts tailored for elder accessibility. They feature large font ranges and a relaxed, voice-guided conversational flow.
What I Built
- A static-export Next.js 16 frontend hosted from private S3 through CloudFront.
- A serverless AWS Chalice backend deployed through API Gateway and Lambda in Seoul.
- Neon Postgres schema and migrations for users, profiles, plans, lessons, activity logs, messages, notifications, OAuth tickets, and sessions.
- JWT signup/login, sample-account login, Google OAuth flow, and Kakao OAuth groundwork.
- Live dashboard routes for home, schedule, records, messages, notifications, and diagnosis-result save.
- AI concierge screens and prompt design for Evelyn, including voice-diagnosis structure and user-profile extraction.
Architecture
Hearty is intentionally static-first. The frontend builds into plain files under
frontend/out, uploads to private S3, and is served through CloudFront.
Browser requests call the API Gateway endpoint, which invokes a Chalice Lambda connected
to Neon Postgres. This keeps hosting simple and inexpensive while still supporting live
authentication and dashboard data.
The backend API includes health checks, signup/login, sample login, OAuth start/callback, current-user lookup, dashboard data, plans, lessons, activity logs, messages, notifications, and diagnosis-result saving. Resource reads follow a tenant-isolation rule: if a logged-in user should not see a resource, the API returns 404 rather than revealing whether that resource exists.
Operations
The repo includes deployment scripts for provisioning the frontend bucket, uploading the static build, invalidating CloudFront, and deploying the Chalice backend. The README also records the current CDN URL, backend API URL, AWS region, and Neon database setup so the project can be handed off or resumed without rediscovering infrastructure details.
Stack
Next.js 16, React 19, TypeScript, AWS S3, CloudFront, API Gateway, AWS Lambda, AWS Chalice, Python 3.12, Neon Postgres, JWT, Zustand, TanStack Query, Google GenAI.