HelpMeJuno is a product I built and launched to take a real swing at the invisible workload that one person in a household, usually mom, ends up carrying. Meals, reminders, renewals, kid logistics, home maintenance, family events. The constant background tax of remembering everything.
You can try it live at helpmejuno.com.
The Idea
Juno is an AI Home Manager you text. She is one persistent persona, same voice across every interaction, and she runs the mental load of your household over SMS. The wedge is meal planning and grocery lists, because it is the most frequent recurring decision a family makes and the easiest place to feel relief in week one.
The target user is non-technical and mobile-first. They do not want another app to install or another login to manage. They prefer texting, so the product meets them there. The web app at helpmejuno.com is a companion for richer views and management when they want them, not a prerequisite.
What I Built
I built the entire product end to end: marketing site, auth, billing, the SMS pipeline, the web chat surface, the modules, the integrations, and the LLM stack behind Juno's persona.
- SMS-first UX over Twilio with A2P 10DLC approved and live. Users text a real phone number and Juno texts back.
- Companion web app at helpmejuno.com with dashboard, web chat (SSE streaming), onboarding interview, meals, people, reminders, settings, and admin views.
- Auth with Auth.js v5 and a Drizzle adapter. Email + password, phone verification via Twilio, email verification, password reset, and magic-link flows for upgrade and portal.
- Billing with Stripe checkout and customer portal. Three tiers (Free, Pro, Ultra) plus pay-as-you-go credit packs. The system handles tier-aware webhooks, lazy monthly allotments, and daily bonuses on a per-user local-tz day.
- Background jobs with Inngest. Async SMS processing, cron-driven reminder delivery, and billing jobs.
The LLM Stack
Juno is not a chatbot wrapper. The persona is system-level, not module-level, so every new module inherits her voice instead of inventing its own.
- Claude Sonnet 4.6 powers user-facing conversation (Anthropic SDK).
- Gemini Flash handles cheap structured tasks: topic classification, extraction, routing.
- Tool catalog per module: cross, meals, people, reminders, billing, integrations.
- Conversation manager with per-channel sessions (SMS / web), idle timeout on SMS, reset keywords, and a topic-shift classifier that routes to the correct module.
- Allergen guard post-processor that regenerates a meal plan if any allergen slips through. Safety-first on allergens and medical info is non-negotiable.
The Meals Module
Meals is the wedge and the most fully built module. It includes an interview-style onboarding that populates a structured household profile, weekly meal plan generation, a shopping list generator, liked meals rotation across weeks, and the allergen guard mentioned above. Durable context (people, food preferences, reminders) lives in the structured schema, not in raw chat rows, which keeps Juno specific and personal over time without bloating message history.
Integrations
Free users get one email account and one calendar. Pro and Ultra are unlimited. Integrations are gated by plan and managed at /settings/integrations.
- Composio: Gmail, Google Calendar, Outlook (email + calendar combined).
- Apple Calendar: iCloud CalDAV.
- Fastmail: IMAP/SMTP + CalDAV.
- Yahoo Mail: IMAP.
Architecture Highlights
The database is the source of truth. SMS and web are different windows into the same underlying user data, so a user can text a reminder and see it in the web dashboard a moment later, or vice versa.
The stack is Next.js 16 (App Router) and React 19 on Vercel, Neon Postgres with Drizzle ORM, Inngest for background jobs, Upstash Redis for rate limiting, Resend for transactional email, and Tailwind v4 with shadcn/ui and Base UI on the front end.
Pricing Model
I went with credit-based usage instead of unlimited tiers. SMS messages cost 10 credits, web messages cost 7. Free is 60 daily / 500 monthly credits. Pro is $25/mo with 100 daily / 1,500 monthly. Ultra is $100/mo with 150 daily / 10,000 monthly. Pro and Ultra can buy credit packs for overage. This keeps margins predictable while still giving free users enough room to actually feel the product before upgrading.
Brand Guardrails
Some rules I baked in from day one:
- Allergens and medical info are validated explicitly, plans regenerate on violation, and disclaimers fire on medical topics.
- No cross-user data leakage. A user's data never appears in another user's context.
- PII out of logs. Tool calls log with parameters redacted where appropriate.
- Cascade delete on account deletion. User-initiated deletion wipes all related data.
- Chat history rotates. Archived conversations are message-pruned after 30 days. Durable context lives in the structured schema, not in raw message rows.
- AI is fallible, and we say so. Users acknowledge it at signup and the disclaimer is reinforced on the chat surface and in the Terms.
Why This Project Matters
HelpMeJuno is the kind of product I love building: a clear painful problem, a non-technical primary user, a channel they already live in (SMS), and a stack of modern AI tools that finally make a real assistant feasible. It is also a working example of how I think about AI products in general: persona at the system level, structured data as the source of truth, the LLM as a router and writer rather than a memory store, and pricing that respects the cost of the thing under the hood.
Try it at helpmejuno.com.