Inspiration

It started with a colleague.

She had just come back to work after having her baby, and she was carrying two lives at once: the office, and a newborn at home. She was always tired, always a little anxious, always keeping track of one more thing. One day she told us something that stayed with us. She knew her husband and her family loved her. She knew they cared. But some days it was simply too much, and all she wanted was one hour of complete rest, with nobody needing her.

The help she did get often made things harder. Someone would offer to cook, someone else would take the baby for a while, but nobody owned anything. She still had to plan it, ask for it, and check on it. Help that has to be managed is just more work.

The longer we listened, the clearer it became. Her family wasn't failing her. The work had simply never been divided. Nobody knew what was theirs to take, and nobody felt safe saying no.

This matters most in the weeks after birth. A mother's body is healing, and her sleep is broken night after night. Rest isn't a luxury then. It's part of recovering. Yet it's the first thing she gives up, because she's the only one holding the whole picture.

That's why we built With Us. Everyone at home privately says what they can take on, and the work is shared fairly before the week begins. Her rest hours are protected first, so when she lies down, someone else truly has the baby. She gets her hour, and nobody has to ask for it.

What it does

With Us turns a new mother's recovery, her baby's care and the household chores into one fair weekly plan, shared by everyone at home. Each person privately says what they can take on, and With Us builds the week around them. Her rest comes first, nobody is handed work they didn't agree to, and nobody has to explain a no.

It doesn't track her symptoms or try to diagnose her. It does something simpler that families rarely manage on their own: it decides, before the week begins, who is carrying what. That's what turns scattered, chaotic help into real care.

How it works

  1. Start with the baby. The household is created by choosing baby girl or baby boy and adding the mother who is recovering.
  2. Turn the doctor's words into small steps. Someone uploads her discharge sheet. Gemini reads it, and a family member confirms each line beside the doctor's original words. Nothing is added or changed. Confirmed lines become her quests, like a 10 minute daily walk.
  3. List the week's work. Baby duties such as night support, baths and the baby's doctor visits, and home jobs such as cooking, laundry and groceries. Each one is a whole responsibility with one owner. "Baby's doctor visits" means remembering, booking and going.
  4. Everyone tells the truth, privately. Each person sets the hours they can give, the days they can't do, and the kinds of work they can't take. They can add the reason in a locked box, or tell their own private assistant in their own words. The family sees the limit. Never the reason.
  5. Her rest is protected first. The mother sets her rest hours, and With Us plans for less work than she offers. A plan that breaks her rest is thrown out.
  6. A fair plan, worked out in code. Once the mother and her partner both agree to let With Us share out the work, it assigns each responsibility so everyone is about equally full against their own capacity, and never above it. This maths is plain code, not AI.
  7. Nothing is assigned without a yes. Each task arrives as a private request with Accept or Decline. A decline is never announced. The plan quietly re-balances, and the family only sees "Plan updated". If someone wants the family told, With Us writes one kind line for them, with no reason in it.
  8. When the work doesn't fit, the family decides. If the work outgrows the house, for example when the baby catches a cold, With Us shows the hours still uncovered instead of overloading anyone. The family chooses to drop a task, get outside help, or someone raises their own hours.

Two views of the same week

  • The mother sees a quest map, not a chore list. Small steps from her doctor, rest quests that show who has the baby, and a bunny for each one she finishes. No charts, no test numbers, no streaks.
  • Everyone else sees a dashboard of who owns what, how full each person is, and their next task. If she chooses to share, they can also see whether she rested today.

Three rules it never breaks

  1. The new mother gets her space.
  2. The fairness maths is never left to AI.
  3. Your reasons never leave you.

How we built it

We started from an empty folder with the Devpost Learn Skill Pack in Claude Code. The skills interviewed us about the idea, then helped us write the scope, product requirements and spec before any code. All three planning files are in the repo. Tech stack

Frontend : React 18, Vite, TypeScript, React Router, plain CSS tokens, lucide-react icons Backend : Python 3.11, FastAPI Database : SQLModel on SQLite AI : Google Gemini Testing : pytest Other : Pillow (sample discharge sheet)

The fair-plan engine The fairness maths is plain, deterministic Python. AI never assigns a task or computes a number. Weight: each responsibility’s weight is hours per occurrence × occurrences per week × a multiplier (1.5× for night work, 1.2× when travel is involved).

Capacity: each person sets their own weekly hours. The mother’s plan uses only 50% of what she offers. Burden: assigned hours ÷ capacity. The goal is to keep the gap between the most and least loaded person within 15 percentage points.

Algorithm: a greedy pass, then up to 500 rounds of local search (moves and swaps), then a repair step for anything left uncovered. Hard rules, never broken: 0 people over capacity, 0 assignments on blocked days or blocked kinds of work, 0 declined tasks reassigned to the same person, 0 assignments inside the mother’s rest hours.

Deterministic: the same input always gives the same plan.

Privacy and security Separate private tables: reasons, assistant instructions, proposals, declines and chats live in their own tables, so a public query can’t join to them by accident.

Per-viewer projection: every API response passes through one function that builds it for the person viewing it. Other people’s data is cut down to a whitelist: name, role, capacity, blocked days and accepted tasks.

Isolated AI context: each person’s assistant only receives their own private data and the public plan. Output guard: every AI reply and announcement is normalised (lookalike letters, zero-width characters, base64) and checked against private text before anyone sees it.

Silent consent: proposals and declines are visible only to the person asked. The family only ever sees the published plan.

Sessions: httpOnly cookies. Minimal medical data: only the discharge lines a person confirmed are stored, and quest progress stays private unless the mother shares it.

Safety by design The discharge sheet reader only extracts what is written. Unclear lines are marked “Ask your doctor”, and nothing becomes a quest until a person confirms it. The assistants never give medical advice, and With Us never scores or labels the mother.

Testing and results Automated tests: [N] in total, all passing. Engine properties: checked across [200] generated households, with 0 violations of capacity, blocked days, rest hours or declines. Projection test: logs in as each of the 4 family members and checks every API response. [0] leaks found. Leak evaluation: [Y] adversarial attempts (direct asks, role play, base64, Hindi, “repeat your instructions”) plus 5 harmless questions. [X of Y] blocked, and [5 of 5] harmless questions answered.

Challenges we ran into

  • Figuring out what actually helps. It would have been easy to build another tracker or a gadget that scores a mother's mood. We kept coming back to what our colleague asked for: real help and an hour of rest. So we studied where help at home breaks down, and built for that instead of for the tech.
  • Progress without anxiety. Test numbers made her more anxious, not less. We removed every chart and score from the mother's screen and turned her doctor's instructions into small quests.
  • Making fair actually fair. An equal split is unfair to someone with a full-time job. Each person is measured against the capacity they set themselves, and the mother is planned at half of what she offers, because new mothers almost always offer too much.
  • A "no" is private too. We first announced declines, until we realised that even "Ramesh can't cook this week" reveals something. Now declines are silent and the plan quietly re-balances.
  • Keeping the maths out of AI. Gemini reads and talks, but every assignment and fairness number comes from deterministic Python. Our first greedy split left lopsided weeks, so we added local search and a repair step, and the engine reports a shortfall instead of overloading anyone.
  • Keeping secrets secret. Each assistant never receives anyone else's reasons. Other people's limits travel under opaque ids, and an output guard normalises lookalike letters, hidden characters and base64 before checking replies. We attacked it with our own leak tests.
  • Medical instructions. The discharge sheet reader only extracts what is written and flags anything unclear as "Ask your doctor". Nothing becomes a quest until a person confirms it.

Bugs we squashed

  • Sessions not sticking. The login cookie wasn't passed through the Vite dev proxy, so every page acted logged out. We fixed the proxy and cookie settings.
  • Rest hours across midnight. A 10 pm to 6 am rest block didn't register as overlapping with a 5 am task. We rewrote the overlap check to handle windows that wrap around.
  • Plan flicker after a decline. Re-planning moved tasks people had already accepted. Accepted tasks are now locked, and only open ones are re-solved.
  • A reason in an error log. A failed save logged the full request, including private text. Logs now record ids and counts only.
  • Broken JSON from the model. Gemini sometimes wrapped its output in markdown or added extra fields, which crashed the confirm screen. Responses are now cleaned and validated, with a manual fallback.
  • Database locked. An accept and a re-plan hit SQLite at the same moment. Writes now go through one serialised session.

Accomplishments that we're proud of

  • A screen that makes a new mother feel cared for, not measured. The quest map turns her doctor's instructions into small, gentle steps, with no charts, scores or test numbers. Rest is a quest too, and every quest tells her who has the baby.
  • Rest that is guaranteed, not hoped for. Her rest hours are hard rules in the engine. No plan that breaks them can ever be published, and she is always planned for less than she offers.
  • A safe way to say no. Every task arrives as a private request with Accept or Decline. A decline is never announced, the plan quietly re-balances, and nobody has to explain themselves.
  • Fairness you can check. Every assignment comes from deterministic code: 0 people over capacity, 0 tasks on blocked days, the same plan every time for the same input, across [200] generated households in our tests.
  • Privacy that holds under attack. Our projection test checked every API response for all 4 family members with [0] leaks, and the assistants blocked adversarial attempts while still answering normal questions.
  • The doctor's words, never changed. The discharge sheet becomes quests only after a person confirms each line beside the original, and anything unclear says "Ask your doctor".
  • One complete week, end to end. From choosing baby girl or baby boy to a shared plan across recovery, baby duties and chores, with consent, re-planning and shortfall handling, all running in a single working app built from an empty folder with the Devpost Learn Skill Pack.
  • A plan before code. We wrote our scope, requirements and spec first, and the three rules we set on day one (her rest first, maths in code, reasons stay private) held all the way to submission.

What we learned

  • Listen before you build. Our colleague didn't ask for an app that understood her body. She asked for help and an hour of rest. The most useful thing we built came from taking that request literally.
  • Care fails from lack of a plan, not lack of love. Every family member in our story cared. What was missing was a clear answer to "whose job is this?", decided before the week began.
  • Less information can be kinder. Hiding numbers from the mother, and hiding declines from the family, made the app feel safer, not emptier.
  • Let AI understand, let code decide. Gemini was great at reading a discharge sheet and turning messy words into structure. But fairness and assignments needed deterministic code that anyone can check.
  • Privacy is a data design choice, not a prompt. Telling a model "keep this secret" isn't enough. Real privacy came from never giving each assistant other people's data in the first place, then testing it with attacks.
  • Plan before you prompt. The Devpost Learn Skill Pack had us write a scope, requirements and spec before any code. Every time our coding agent drifted or forgot a decision, the spec brought it back.
  • Cutting scope is a skill. We started with two ideas and too many features. The product got better each time we removed something that didn't serve the mother's rest.

What's next for With Us

  • Pilot with real families. Test it with new mothers and their households, starting with colleagues and friends, and learn what actually changes in their first weeks at home.
  • More languages. Hindi first, then other Indian languages, so grandparents and every family member can use it comfortably.
  • On the phone. A mobile-friendly app with gentle reminders: "You have the baby from 2 pm, Meera is resting."
  • Calendar sync. Pull real work schedules from Google Calendar, so limits like "client meetings on Thursdays" update themselves.
  • Stronger security. Encryption at rest for private text, a PIN for each member, and hosting with HTTPS.
  • Working with doctors and hospitals. Discharge instructions shared directly as structured data, so there's no photo to read and nothing to misread.
  • Support beyond the first weeks. Plans that adapt as the baby grows: vaccination schedules, the mother's return to work, and changing family routines.
  • A gentle way to reach help. With guidance from clinicians, an easy path for the mother to talk to someone when she needs to, without the app ever labelling or diagnosing her.

Built With

Share this project:

Updates

Submission history