
The Problem Everyone Complains About But No Easy Solution Exists
There is a chaos that every parent recognizes instantly. It doesn’t make headlines. It doesn’t have a product category. But it consumes real time and causes real stress every single week.
It goes something like this.
Your child’s school sends an email about a field trip, permission slip due Friday. Your spouse gets a separate email about picture day next Thursday. A parent sends a message about coordinating a playdate this weekend. You get a payment reminder from the pediatrician. A birthday party invitation arrives. A school newsletter mentions the Spring Fair in two weeks. Buried in another thread is the confirmation for the family vacation you booked three months ago, and you can’t remember if you ever added it to the calendar. Your own dentist appointment is somewhere in your inbox too, and you are pretty sure it is next Tuesday.
None of these are urgent in isolation. Together, they form a constant low-level noise that requires ongoing attention, coordination between two parents, and the kind of working memory that modern life steadily erodes.
As a product manager, I have been identifying problems and designing solutions professionally for years. And yet I accepted this chaos as an unavoidable feature of family life.
Then I decided to build something about it, using vibe coding and Claude Code, Anthropic’s AI coding agent. What followed genuinely surprised me.
Putting on the PM Hat
Before writing a single line of code, or asking an AI to write one, I ran the problem through a proper product lens.
Problem Statement: Family communications are fragmented across two inboxes, requiring constant manual effort to track, coordinate, and act on, leading to missed commitments and mental load for both parents.
User: Two parents managing a full family calendar, including kids school events, activities, and social commitments alongside their own appointments, shared travel plans, and household logistics.
User Stories: As a parent, I want to ask a simple question about what is happening this week and get an instant answer without searching through emails manually. I want calendar events detected from emails automatically without manual entry. I want both my spouse and I to have access to the same information so we stay coordinated without extra effort.
Success Metrics: Zero missed commitments, fewer ‘did you see that email?’ conversations between partners, no more manually creating calendar appointments from emails, and time back from inbox management.
Existing solutions and why they fall short:
- Gmail labels and filters: require manual setup, no intelligence, no cross-inbox coordination
- Shared Google Calendar: great for events but doesn’t help with email discovery
- Family apps like Cozi: require manual entry, not connected to email
- Google Gemini: The closest existing alternative. Google’s Personal Intelligence feature allows Gemini to reason across your Gmail and Calendar to answer questions, essentially what Family Assistant does. However it requires explicitly granting Gemini access to your entire Google Workspace: every email, document, and file. For many families that is a meaningful privacy trade-off. Once enabled, your prompts and Gemini’s responses can be used to improve Google’s models. Ultimately, you are working within Google’s product on Google’s terms, with limited visibility into what is being processed and when.
The gap was clear. Existing tools either required manual effort, lacked intelligence, or came with privacy trade-offs that meant handing over your entire digital life to a single company. There was no private, self-hosted solution that could read your email, understand what matters, surface it intelligently, and take action through a simple conversational interface.
That became the product vision: a private AI assistant that reads your family inbox, answers questions, and manages your calendar through natural conversation.
The Solution: Family Assistant
Family Assistant is a mobile-first web app that:
- Connects to Gmail via the Google API, syncing only emails that match your configured rules
- Lets both parents chat with an AI to ask questions, find information, and schedule events
- Automatically detects calendar-worthy events in emails and adds them
- Sends daily briefings summarizing the day’s calendar and recent emails
- Runs entirely on your own infrastructure. Your data stays in your own database
Here is what a typical interaction looks like:
Me: Anything new from school this week?
Assistant: Yes, St. Patrick’s sent two emails. There’s a field trip to the Science Center on May 8th. There’s also a reminder about the Spring Fair on May 15th, volunteers needed from 10am. Want me to add either of these to your calendar?
Me: Can you schedule a playdate with Jake’s mom for Saturday at 3pm?
Assistant: I’ll set that up. Add to calendar: Playdate with Jake, on Saturday May 3rd at 3pm?
That is the experience. Simple, fast, genuinely useful.

Building It with AI: An Honest Account
I have not written production code since 2008. My background is in Java, JSP, and Servlets (are they still used?) from the early days of my career. An MBA, eight years in finance, and a pivot to Product Management later, I have spent the last several years working across many aspects of bringing products to life except writing the code itself.
Early last year I dipped back into hands-on building. I used ChatGPT to generate Python scripts for a Netflix data enrichment project (more on that in a separate post). But the experience was far from seamless. Every iteration meant prompting, copying, pasting, testing, and prompting again. It felt like assembling furniture with instructions written in a language I mostly speak.
This project was built entirely using vibe coding, specifically Claude Code, Anthropic’s AI coding agent that runs in your terminal and builds entire applications autonomously. The experience genuinely amazed me. In under a week, without writing a single line of code myself, I had a fully deployed, working application solving a real problem for my family. That is not something I could have said about any previous tool.
What Claude Code got right
The scaffolding was instant. A full Next.js (a React-based web framework) project with Supabase (a cloud database) integration, NextAuth (authentication library), shadcn/ui components, API routes, and a pgvector schema, all set up correctly and coherently in the first session.
It understood the full product vision from a detailed written prompt and made sensible architectural decisions without being asked. When I said use RAG (Retrieval Augmented Generation, a technique for finding relevant information before answering a question), it implemented query expansion for short follow-up messages, set appropriate similarity thresholds, and tuned the match count, details I would not have known to specify.
It worked largely autonomously. Once given clear direction, it built entire features end-to-end with minimal intervention.
What Claude Code got wrong
This is where it gets interesting, and where honest accounts of AI-assisted development are most valuable.
Claude Code made 21 significant mistakes across the build. I documented every one. They fall into two categories.
Requirements gaps, things Claude assumed because I didn’t specify
Timezone handling was the most painful example. I never specified that the app would be used in Seattle. Claude assumed all times should be in the server’s timezone, which meant UTC. A 1pm appointment would appear at 6am on Google Calendar. The fix required three separate corrections before times displayed correctly.
Email sync frequency caught us both out. I asked for emails to sync every 30 minutes. What neither of us accounted for was that my hosting plan only supports daily automatic jobs. The sync was silently not running.
Chat history persistence is perhaps the most relatable. The app had no memory between conversations, every session started completely fresh, like talking to someone with amnesia. I had to explicitly ask for conversations to be saved.
Implementation decisions, things Claude got subtly wrong
Search ranking was the most consequential. The app was finding relevant emails but not ranking them by relevance. The most useful email could sit ninth in a list of ten, giving Claude the wrong context to answer your question. Everything appeared to be working. The answers were just subtly off.
Silent failures were the hardest to debug. Several issues produced no error messages, the app simply returned empty results with no indication of why.
What this tells us about vibe coding
Most of these bugs produced no errors. The app ran, looked normal, and behaved incorrectly in ways that only became visible with real data and real usage.
Claude Code is only as good as what you give it. A detailed Business Requirements Document (BRD) produces better software than a rough brief, and the same principle applies here. Vibe coding with high level prompts is perfectly suited for prototyping. But a production-ready app benefits significantly from detailed requirements. The more precise your input, the less the AI assumes, and the fewer bugs make it into your code.
Claude Code excels at: Architecture, scaffolding, integrating APIs, and working autonomously across a large codebase. It requires human oversight for: edge cases that only surface with real data, silent failures, and anything requiring real-world context about who is using the app and how.
The PM skill, defining the problem clearly, writing precise requirements, and evaluating whether the output matches the intent, was not replaced by the AI. It was more important than ever.
What I Would Do Differently
Treat security as an explicit requirement, not an assumption. I had to specifically request that Google OAuth tokens stored in Supabase (a cloud database) be encrypted. Left unasked, they would have sat in plain text. Your Gmail account is arguably more valuable than your bank account. It is the recovery mechanism for almost everything else you own. Security at that level deserves explicit attention.
Audit for vulnerabilities and hardcoded values. Before considering any build complete, explicitly ask Claude Code to scan for security vulnerabilities and hardcoded credentials.
Save session context from day one. Claude Code has no memory between sessions. I learned to maintain a CLAUDE.md file in the project root with the full specification and progress notes. Claude Code reads it automatically on every session start. This should be set up before writing a single line of code.
The Cost: Essentially Free
Every service used in this app has a free tier that comfortably covers a two-person household. Vercel (a cloud hosting platform), Supabase, and Google APIs are all free within normal usage limits. The Anthropic Claude API costs a few dollars a month at most for conversational usage. The entire app runs for roughly the cost of a coffee per month.
The Result
The app works exactly as I envisioned. Both my wife and I use it daily on our phones as a Progressive Web App (PWA), meaning it installs on the home screen and runs like a native app.
Cost, security, and complexity turned out to be manageable. What I underestimated was how much product thinking the project required. That thinking, not the coding, was the hardest part. And it was the part no AI did for me.
Last week my wife couldn’t remember the details of an upcoming school event. She asked the app and within seconds it told her exactly what she needed to know. No searching, no scrolling, no ‘can you check your email?’ text to me. Her verdict: it’s the second best thing after Coca-Cola. I’ll take that as a success.
Final Thoughts
Family Assistant started as a personal tool but the problem it solves is universal. As a product manager, it is hard not to think through what commercialization would look like. A B2C mobile app with a freemium model, free tier with ads and a paid Family plan at $1.99, is the natural path. However, taking it to thousands of users is a different challenge. Scalability and infrastructure are increasingly handled by managed cloud services that vibe coding can leverage. Compliance, security at scale, and data architecture require engineering expertise beyond what AI coding tools can reliably deliver today.
Vibe coding can take you from idea to working app faster than anything before it. But it cannot replace the thinking that determines whether those applications are worth building. For product managers, this creates an opportunity that has never existed before, but closing it still requires problem definition, systems thinking, and honest evaluation of what is working and what is not.
The code is on GitHub. Have a look.
github.com/kunalmaliks/family-assistant
From Prompt to Product: Building an App with Claude Code, an Agentic AI was originally published in Towards AI on Medium, where people are continuing the conversation by highlighting and responding to this story.