Ship Log

97 things shipped so far. 13 weeks left in the year.

Streak 5 weeks
2026
Week 39 · Sep 21–27
  • Pay schedules New feature Release notes

    • Pay schedules — Pay a nanny every week, every other week, twice a month or once a month. The schedule is written the way you’d say it: “Every other Friday”, “The 15th and 30th”.
    • Picking a payday — Choose her next payday on a calendar, then how it repeats. The next three paydays show before you save, including what February does.
    • Switching schedules — Pay periods you’ve already paid stay exactly as they were. Anything not yet paid moves to the new schedule and is due on the new first payday.
    • Billing follows it — Billing, payday reminders and receipts follow each nanny’s own schedule, with dates like “Sep 16 – 30” when she isn’t paid weekly. A progress bar shows how many sessions are done.
    • From the start — Setting up a nanny asks for her schedule, and it’s what she sees when she accepts your invite.
  • Nanny rates Release notes

    • Hourly total — Rates are typed the way people quote them: the nanny’s total for an hour at each number of kids. Each family’s share appears beside it as you type, so nobody has to do the division — a $35/hr rate for two kids shows $17.50 per kid.
    • Uneven splits — A rate that doesn’t divide evenly is marked approximate — $35 an hour across three kids reads ”≈ $11.67 /kid” — and the exact cents are what gets charged.
    • Saving a rate — Rates save exactly as entered, including when you open the sheet and save without changing anything. A rate you don’t touch is left exactly as it was.
    • One source — The rate on a nanny’s profile, in the Rates sheet, on a charge and in a session’s cost breakdown all come from the same place, so it reads the same everywhere.
  • Sick days New feature Release notes

    • Out sick — Mark a nanny or a family out for the day, with symptoms the whole pod sees. Any parent can do it, not just an admin.
    • Covering the day — A sick nanny’s sessions stay on the calendar and ask for a caretaker. Any parent can step in, and that session isn’t billed.
    • Sick pay — Set a contract on a nanny’s profile: paid days per year, a flat rate, and whether one family pays or the pod splits it. Paid days appear in Billing and in her earnings.
    • Who hears about it — The pod sees the symptoms, the affected family gets “needs a nanny,” and at 5 pm she’s asked if she’s back tomorrow.
  • A clearer release log Release notes

    • New feature label — A bigger release now looks like one. Features carry a “New feature” mark and a heavier rule; small fixes gather under “Also fixed” instead of taking a headline each.
    • Shorter notes — Each entry is a handful of labeled lines instead of paragraphs, so you can tell at a glance what changed without reading a wall of text.
    • The public log too — The same entries on ingridhartman.com/ship got the same treatment, and every one of them was rewritten.
  • Test runner fixes Release notes

    • Internal: the scripted iPhone test flows now report a crashed flow as a failure, run every flow even after one fails, and all pass again. Nothing changed for people using the app.
Week 38 · Sep 14–20
  • Test flows for the iPhone app Release notes

    • Internal: scripted flows now drive the real iPhone app the way a person would, before anything ships, replacing the older test tooling. Nothing changed for people using the app.
  • Build 91 Release notes

    • New build — A new TestFlight build carrying every fix since the last one. Nothing new on screen.
    • Permission prompts — The photo and camera permission prompts now say what the app actually does with them: share photos with your pod and set profile pictures.
    • Internal: a separate development app on TestFlight, and build-configuration changes that no longer affect which updates an installed build accepts. Nothing changed for people using the app.
  • Profile photos and bigger faces Release notes

    • Nanny photos — A nanny can add or change her profile photo any time from the About sheet on her profile, and pod admins can set it from the same place, the way they already can for kids and family members.
    • Bigger faces on Today — Kid avatars in the day capsules, the nanny’s photo on the timeline rail, and the small face in the “who’s here” chip are all larger. The layout is unchanged.
    • Billing estimate — The estimated amount at the top of Billing renders in full while a session is still running.
    • Empty days — On a day with no sessions, Today’s card offers “Add a session” directly. The ”+” in the header appears only on days that already have one.
    • Session chat — Session chat is limited to a single pilot pod. Other pods don’t see the chat dock, can’t open a thread, and get no chat notifications.
  • Tips and paying New feature Release notes

    • Tips — When you pay, the sheet offers to round up to the nearest $10 or $20, and anything over what you owe is recorded as a tip. A tip never counts toward your balance; “make it a credit instead” is there if you meant to prepay.
    • One pay sheet — Paying is a single sheet: set the amount, pick how you paid, and if it’s Venmo the app opens Venmo with that total. On return, confirm Yes or Not yet. Pods with more than one nanny get a row per nanny.
    • Ledger details — Every row in the billing ledger opens a detail sheet: a payment leads with what you paid, “$510.00 · incl. $10.00 tip”, and a session shows its hours and rate breakdown.
    • Nannies see tips — Tapping a paid row on payday opens that payment with its tip line, and the “Everyone’s paid up” push adds the week’s total tips.
  • The TestFlight step Release notes

    • Get the app — Every button on ournanny.app now reads “Get the app,” and the word beta is gone from the page.
    • A step before TestFlight — Tapping a button opens a short sheet explaining that TestFlight is needed to install OurNanny. Continue takes you there, and the waitlist link sits right below for anyone not on an iPhone.
    • Scripts off — With scripts disabled, the buttons still work as plain links.
  • Address search and privacy New feature Release notes

    • Address search on iPhone — Typing an address on your phone brings up suggestions, and tapping one fills in the full address with a map preview. Editing an address opens a fresh search.
    • Closing a photo — A photo opened in a session chat has a clear close button and a share button on dark pills, below the status bar. Tapping the photo itself closes it too.
    • Privacy and security — Your pod’s information is available only to its members, invitation lookups return only what the join screen needs, and error reports have email addresses scrubbed out of them.
    • Internal: a browser test signs in and opens every screen in the app, and fails if any of them throws.
  • Address search New feature Release notes

    • Address suggestions — Typing an address while setting up your place brings up suggestions as you go.
    • Map preview — A chosen address shows a map preview of it underneath.
    • Keys stay on the server — Address lookups go through OurNanny’s own server, which checks that you’re signed in and passes only the address text on to the maps provider. Nothing sensitive ships inside the app.
    • Lookup limits — Each account has a per-hour allowance on those lookups, so a stolen sign-in can’t run up a bill.
  • The Billing total Release notes

    • The large dollar amount at the top of Billing now has room to render in full.
    • The line beneath it — for example “4 of 11 sessions · Maria until 5:00 PM” — shows a first name only and wraps to fit.
  • Test tooling repairs Release notes

    • Internal: the tester sign-in shortcut and the browser-based test environment work with phone sign-in again. Nothing changed for people using the app.
  • Second Reddit ad test Release notes

    • What ran — A second paid test for the OurNanny beta went live on Reddit, with a fixed end date.
    • iPhone only — Targeting was narrowed to iPhone users, since the beta is iPhone-only, and it held.
    • Five headlines — The rotation was cut to five: two returning lines, one that hadn’t had a turn, and two drawn from how parents describe the job in nanny communities.
    • Where it pointed — The ad pointed at the new payday-card homepage, tagged as its own campaign so the two tests could be told apart.
Week 37 · Sep 7–13
  • Terms and Privacy Release notes

    • The Terms and Privacy Policy links on the welcome screen now open in an in-app browser instead of handing off to Safari.
  • Landing in the right pod Release notes

    • Invited sign-ups — If your pod’s organizer set you up and you sign in with the invited number, the app recognizes your invite whatever email you enter during setup.
    • A backstop — Finishing setup also joins you to any pod still waiting on you, and a join that doesn’t go through is surfaced as an error.
  • Payday card on the homepage Release notes

    • Payday card hero — The first screen of ournanny.app on a phone is the app’s own payday card: $560 due today for a 40-hour week, five sessions complete, and the line “The share saved you ~$240 this week.” Those numbers come from the app’s rate model, not a mock.
    • New headline — The line under the card reads “Nanny hours and pay, sorted every Friday.”
    • One button — The hero has a single button, with the answers that used to sit behind a second link now in a line beneath it: free during beta, iPhone, built by a mom with a nanny share.
    • Waitlist moved — The waitlist link lives in the closing band rather than the hero.
  • Straight into your pod Release notes

    • If your pod’s organizer added you before your account was marked as set up, opening the app now takes you straight into the pod.
  • Invites match your phone number Release notes

    • Matched by phone — Every invite, claim and removal now matches on the phone number the invite was sent to, or on the invite itself.
    • Already on OurNanny — Inviting someone who already has an account — a nanny joining a second share, a parent from another family — adds the invite to that account and leaves the rest of it alone.
    • Removing someone — Removing a co-parent or a nanny clears only their own pending invite.
    • Your real email — The Pod tab, the account row, feedback and the waitlist all show the contact email you gave, or ask for one, and only the contact-email step can change it.
  • Multiple nannies New feature Release notes

    • More than one nanny — Under the Pod tab’s nanny section there’s a ”+ Add another nanny”. Each nanny gets her own profile, rates, and payday, and can be scheduled before she ever logs in.
    • Scheduling a nanny — With two or more nannies, creating a session asks which one is working it, with live availability. Two nannies can run at once; the same nanny can’t.
    • Billing per nanny — One card for the week across all nannies, with a row per nanny to pay each separately. The activity list names the nanny on every line.
    • What nannies see — Nannies see each other’s names, photos, and bios, and that a colleague’s session exists — never her rates, payday, or session details.
    • Today with a handoff — Back-to-back sessions at the same house merge into one day view, with the rail changing color at the handoff and each nanny’s photo on her stretch.
  • Multi-nanny polish Release notes

    • Photos everywhere — A nanny or kid who uploads a photo after signing up now shows it on the Pod tab, schedule tiles, and Today, instead of an initial.
    • One timeline a day — Today merges a day’s sessions at the same house into one timeline whatever the gap between them. A lone kid gets a wider capsule and a bigger avatar.
    • Day at a glance — Today’s chips name who’s coming (“Maria & Theo today”), and before anything starts they describe the whole day (“Maria then Dana · Theo”).
    • Faster scheduling — Creating a session preselects your own kids and your own house, and a ”+” on Today adds one to the day you’re looking at.
    • Billing rows — The activity list shows the nanny’s first name and time range, with hours, kids, and rate when you expand a row.
  • Today timeline fixes Release notes

    • Timeline shape — Capsules are back to their normal width, each nanny’s photo sits on her stretch of the rail in her color at the same size as the kids’, and hour labels lock to the gridlines.
    • Nanny colors — A nanny’s color now matches across Today and Schedule, including a nanny who has been set up but hasn’t accepted yet.
    • Tapping a kid — On a day with two sessions, tapping a kid opens the session you tapped.
    • Adding a session — The ”+” on Today shows on every day, not only today, and for the pod’s organizer too.
    • Times and dates — Each stretch of a kid’s day shows its own start and end, so a morning and an afternoon read 8:45–12:15 and 1:00–5:00. Schedule dates line up with the first tile on every row.
  • Kid capsules on Today Release notes

    • The kid capsules on Today now have a defined outline in the kid’s color and a slightly deeper tint, so an empty stretch of the day reads as a shape waiting to fill rather than a faint shadow. The fill still rises to the now-line exactly as before.
  • Hour labels on Today Release notes

    • AM and PM — Every hour on the Today timeline carries AM or PM, so the labels read the same all the way down the day.
    • Clear of the rail — Nanny photos on the timeline rail sit far enough right to clear the hour labels.
  • Email field on sign-up Release notes

    • The “Tell us about you” step now shows its email field, and Continue enables once it’s filled in. Anyone part-way through setup picks up the change on their next open.
  • A separate dev app Release notes

    • Internal: a new TestFlight build, plus a separate “OurNanny Dev” app that runs against the development backend and a working browser setup for checking changes. Nothing changed for people using the app.
  • Beta funnel analytics Release notes

    • Internal: each account now carries its sign-up date in analytics, and a beta funnel dashboard tracks installs, new accounts, and completed onboardings per day. Nothing changed for people using the app.
  • Beta welcome, email, feedback Release notes

    • Welcome screen — A short welcome from the founder on first sign-up, saying what the beta is and who built it.
    • Email on your profile — Email is now part of every profile, for payday reminders and schedule changes, not marketing. It stays a contact, not a login. New users enter it during setup; existing users are asked once on the Pod tab.
    • Feedback button — On Today and in the Pod tab: describe the problem, attach a screenshot, and it goes to the team.
    • Settings together — Account, notifications, appearance, and What’s new now live together on the Pod tab.
  • Feedback sheet polish Release notes

    • Feedback sheet — Rebuilt on the app’s standard form sheet: proper margins, a pinned Cancel and Send footer, keyboard handling, and errors shown inside the sheet.
    • Plainer copy — “Give feedback”, bugs or ideas, “text us instead”, and “We read every one” after sending.
    • Dark mode — The feedback chip on Today uses dark text on marigold so it reads in dark mode, and the yellow tints on the Pod tab rows were dropped.
  • Sheet errors and tracking Release notes

    • Errors in sheets — Bottom sheets and the away modal now show their own error messages, in front of the sheet where you can read them.
    • Record payment — The record-payment button waits until the app knows your role before it appears.
    • Recording privacy — Masking in session recordings now covers sheet bodies, the away modal, and the billing family switcher.
    • Signup analytics — Creating a pod registers the onboarding-completed and pod-created events, and each install keeps one identity, so a new account reads as a new account.
  • Guides per pod Release notes

    • Guides per pod — The Guides row on the Pod tab and the “Coming up” card on Today appear only in pods that have guides, so a new pod doesn’t open an empty section.
    • Checked on the server — The check runs on the server for both guide queries, not only in the app.
  • Reliable first sign-in Release notes

    • Reliable first sign-in — The app sets up your account itself the first time you sign in, rather than waiting on anything else to arrive. If something is missing, you get an error screen with a retry.
    • Sign-up analytics — Sign-up, onboarding completed, and pod joined now register as analytics events.
  • Every release in What's new Release notes

    • Every release in What’s new — The What’s new screen on the Pod tab now lists every release since the app’s June revival. It reads the same release log that publishes to ingridhartman.com/ship, so the app and the public log stay in step.
Week 36 · Aug 31 – Sep 6
  • Crash reporting and privacy Release notes

    • Automatic crash reports — The app reports crashes on its own, so nobody has to describe what broke. No personal information goes with a report: phone numbers are scrubbed and the user is an opaque id.
    • Usage, not content — The app records which screens open and which actions happen. No message content, no names, no amounts.
    • Recordings are masked — Every image, every text field, and the whole signed-in app render as grey boxes; only login and onboarding are visible.
    • Privacy policy — ournanny.app says all of this in plain words and names the providers.
    • New build — Install build 89 from TestFlight.
  • Production accounts New feature Release notes

    • Production accounts — The app now runs on its production sign-in system. Everyone signs in once more with the same phone number and finds their pod, schedule, and billing exactly where they left them.
    • Verification codes — Text-message codes now come from OurNanny’s own pipeline, so signing in works the same whether you were invited or arrived on your own.
    • One account per number — Signing in with a phone number that already has an account always lands on that account, never a second one.
  • Public iPhone beta New feature Release notes

    • Public beta link — Anyone with an iPhone can install OurNanny from a public TestFlight link. No phone-number invite needed, and every button on ournanny.app opens it.
    • The same app — The link serves the current build, running on production accounts with crash reporting on, so a new tester gets exactly what everyone else is using.
  • First Reddit ad New feature Release notes

    • First paid ad — A promoted post for OurNanny is running on Reddit, aimed at parenting communities in the US and pointing at ournanny.app.
    • Built to vary — Reddit mixes headlines, images, and thumbnails per impression, so the ad carries a set of each that stand alone, across founder, pain-point, single-family, and nanny-share angles.
  • Beta install from ournanny.app Release notes

    • Beta buttons — Every call to action on ournanny.app now opens the public TestFlight link, so anyone with an iPhone can install the beta without an invite. The waitlist form is demoted to a “Not on iPhone?” line.
    • Quieter page — A de-clutter pass removed the pulsing status tag, two rows of credibility icons, six feature chips, and three “Coming soon” pills that repeated what the headlines already said.
    • Privacy policy — Now discloses crash reports, usage analytics, and masked session recordings, and names the provider behind each.
    • Shared analytics — The site reports page views, campaign parameters, and taps on the beta and waitlist buttons to the same analytics project as the app.
Week 35 · Aug 24–30
  • Chat card on Today Release notes

    • Floating chat card — The session chat sits in a card docked above the tab bar on Today: the sender’s face, a two-line preview, and a teal chevron into the thread.
    • Unread badge — A badge on the card shows new messages without opening the thread.
  • Chat polish Release notes

    • Familiar chat — Bigger text, faces on messages, timestamps tucked inside the bubble, a double tick that turns teal once everyone has read it, tapback reactions with haptics, and “joined the session” lines.
    • Read receipts — Swipe left on one of your own messages to see who has read it and when. Swipe right anywhere to go back.
    • Card and header — On Today the chat card has a larger face, a two-line preview, and a deeper shadow. The thread header groups the crew by family instead of listing individuals.
    • Notification controls — Session-chat notifications can be turned off for yourself in Pod settings, and if the phone’s notifications are off the app says so and links to Settings.
    • Fixes — Swiping the thread sideways is stable, and the text field stays put when sending photos.
  • Guides on the Pod tab Release notes

    • Guides — The Pod tab has a new Guides section for what a pod is learning together. The first is a potty-training plan, written and as an audio summary, in English and in Spanish.
    • Coming up card — When something big is on the calendar, a card on Today links straight to the guide.
    • Organized by topic — One Guides row on the Pod tab opens a topic list, and each topic opens its written and audio content.
    • The nanny sees them too — Every guide a pod shares is readable by the nanny.
    • Audio — Audio guides play in the phone’s built-in player.
  • Dark mode Release notes

    • Dark mode — On a phone set to dark, the app uses a warm espresso-and-cream palette with the same storybook feel as the daytime look.
    • Readable everywhere — Login and onboarding are legible in dark mode, typing fields included.
    • Buttons — Dark text on bright teal, for contrast that holds up on a dark background.
  • Sessions can't overlap Release notes

    • One pod, one timeline — A session cannot be created or moved on top of another, even at a different house. Back-to-back is fine.
    • Repeating series — A series skips a date where it would collide instead of failing.
    • Add buttons — ”+ Add” shows only for the people who can actually create sessions.
  • Session chat Release notes

    • A thread per session — Every session has its own chat for the crew: the host family, joining families, and the nanny. Nobody else can see it.
    • Photos — Send up to four at a time. Tap one to view it full-screen and save it from the share sheet.
    • Quiet until it matters — Notifications stay off until about an hour before a kid’s drop-off, then every message comes through. Any thread can be muted.
    • Open through the next day — The thread stays open the day after the session for thank-yous and lost jackets, then becomes read-only and stays readable.
    • On Today — A one-line preview of the current session’s chat sits above the timeline.
  • Staying logged in Release notes

    • Stay signed in — A sign-in lasts far longer, so the app stays signed in between uses.
    • Through a network blip — A dropped connection shows a brief reconnect spinner, and the app asks you to sign in only when you are truly signed out.
  • Shortening a shared session Release notes

    • Shorten or move it anyway — A session can be shortened or moved even when another family’s kid is booked for time that no longer fits. The app names who is affected and asks before removing their time.
    • The other parent hears about it — When an edit trims or removes their kid’s time, that parent gets a notification linked to the session so they can rebook.
    • Same everywhere — The confirmation appears whichever way the session is shortened: from the session time tile, from a kid’s hours, or from Today.
  • Leaving a repeating session Release notes

    • This week or every week — Removing a kid from a repeating session asks the same question as every other edit: this session only, or this and all future sessions.
    • Parents can pull their own kid — A parent can take their own kid off a repeating schedule, including on sessions another family hosts. Adding a kid to a series still goes through the host.
    • Checked per kid — Series edits are checked kid by kid, so kids nobody touched are left alone.
Week 31 · Jul 27 – Aug 2
  • Host kid's hours Release notes

    • Edit the kid, move the session — Extend or shorten a host family kid’s hours and the session follows. No separate session edit needed.
    • After the fact — Works once a session has ended too, for the “she actually stayed until 6” corrections. Billing updates automatically.
    • Says what will happen — The sheet spells out the new span (“Extends the session to 8:45 AM–5:15 PM”) before you save, and on weekly sessions still asks whether it is this session or all future ones.
    • Other families untouched — Kids from other families are never moved by these edits.
  • Today tab Release notes

    • Today — The app opens on a living timeline of today’s session, with a capsule per kid and a teal rail for the nanny’s span. Who has a kid right now, until when, and at whose house, on one screen.
    • Chips are doors — The house chip opens a map with a copyable address; the crew chip shows who is there, with ages.
    • Any other day — Other days show a plan view of that day’s session, and quiet days show what is next for each kid.
    • Edit from Today — Changing a kid’s hours here follows the same rules as editing the session itself.
    • Four tabs — The unfinished Feed tab is gone.
  • Editing a repeating session Release notes

    • This session or all — Changing the time or location of a repeating session asks whether it applies to this session only or this and future sessions, right inside the editing sheet.
    • Same step everywhere — Every editing sheet uses that same step, so the question always shows up in the same place.
Week 30 · Jul 20–26
  • Away trips Release notes

    • Away kids stay out — New repeating sessions are created with away kids already marked out, and “this and future” edits keep them that way.
    • Away nannies — A nanny who is away is no longer assigned to new sessions.
  • Deploy pipeline and lint gate Release notes

    • Internal: the backend deploy now runs against production on every merge, and linting is clean and gates every app update. Nothing changed for people using the app.
  • Bottom sheets Release notes

    • Sheets fit their content — Every bottom sheet sizes to what is in it, keyboard forms included, so the kid sheet opens at the right height and Save always sees what was typed.
    • Drag to dismiss — Sheets close cleanly when you drag them down.
  • Away callouts and papercuts Release notes

    • Kid names — A kid’s full name saves exactly as typed.
    • Away callouts — The callouts at the top of the week say what they mean: “out starting Fri”, “back Mon”, “out Mon – Fri · back Sat”, one line per traveler, merged when trips run back to back. The away form’s end date is labelled “Last day”.
    • Schedule opens on today — The Schedule starts at today and scrolls up into earlier days. No more “Show earlier weeks”.
    • Small fixes — The keyboard stays clear of the notes field on the away and house forms, the lead parent gets a birthday field, and the admin billing header is a compact chip in the title row.
  • Payday notifications Release notes

    • Payday ping — Parents get a notification once the day’s last session ends, and overdue families get a daily reminder until they pay. Tapping it opens Billing.
    • The nanny’s side — The nanny hears when families have been reminded, and again when everyone is paid up, with the on-time streak included.
    • Quiet by default — Families who are paid up hear nothing, quiet weeks send nothing, and nothing goes out outside 9 to 9.
    • Payment receipt — Recording a payment ends in a receipt: what the week cost, what the share saved, and the streak, with confetti.
    • New build — Push notifications need TestFlight build 84.
  • Saving hours on repeats Release notes

    • Saving a kid’s hours on a repeating session asks “this session only” or “this and future sessions” as a second step inside the same sheet, then saves.
    • Back returns to the hours with the draft intact.
  • Members-only content Release notes

    • Members only — Photos, file links and member details are visible only to signed-in members of your pod.
    • Invite codes — Invite codes are cryptographically random, and lookups are rate-limited.
Week 29 · Jul 13–19
  • Split attendance Release notes

    • Split windows — A kid’s attendance can be split into up to three windows in one session, morning and afternoon around a nap or a class, without creating two sessions. The kid’s card shows the windows as stacked lines.
    • One tap to split — ”+ Add another time” is always reachable, and a full-day window splits around a one-hour break in a single tap.
    • Repeats too — Split windows repeat with a weekly series, and the “this session only / this and future” question applies.
    • Cost follows — Cost is priced slice by slice, so the host’s share goes up correctly when another kid is out mid-day.
  • The money card Release notes

    • One money card — A single card that changes with the week: ink while charges accrue, marigold on payday with a prefilled “Pay $X in Venmo”, red when something is overdue, green when paid up. Color tracks urgency, never the mere existence of a number.
    • Catching up — Overdue pays exactly the late amount, attributed oldest first, with a “Catching up” memo. The current week stays a separate quiet row.
    • The week sheet — Tap the card for the week: each completed session with its math, scheduled sessions at their estimate, carryover, savings, and a “Pay early” link.
    • The nanny’s home — The nanny’s home mirrors it — earning, payday, or behind — with a live settle list on payday that ticks families off as they pay.
    • Record and adjust — Payments and adjustments happen in sheets, Zelle joins Venmo as a method, and an adjustment needs a written reason.
  • Weekly estimate and Venmo Release notes

    • Estimate for the week — Billing shows where the week is heading with “Est. total by Friday ≈ $X” on both the parent and nanny homes, and a sheet that prices each remaining session.
    • Payday-aware weeks — The billing week ends on the nanny’s actual payday, and every due date and label follows it.
    • Pay in Venmo — Venmo opens prefilled with a personal memo (“Taking care of Theo · Jul 9–15”). On return the app asks whether it went through, and a banner catches a hand-off that was never confirmed.
    • The nanny can record — The nanny can record a payment herself, choosing which family it came from.
    • Billed on open — Sessions that have ended are billed when Billing is opened, so the amount to pay is ready.
  • Nanny scheduling Release notes

    • The nanny can schedule — The nanny can create sessions at any house in the pod, change times and locations, add or remove any kid, cancel, and assign or unassign herself. Repeating series included.
    • Adding as the nanny — The add-session wizard works for someone who has no family of their own.
    • People stay with admins — Managing the pod’s people, including inviting parents, stays with admins.
  • Sign-up and scheduling fixes Release notes

    • Invited family setup — An invited parent sees the family the admin already set up for them, house and kids included. Adding a kid who is already there converges onto the same kid.
    • Code and phone entry — The one-time code screen is six boxes that verify on the last digit, with paste and autofill kept. Phone numbers take a full ten digits, with the error under the field.
    • Type a time — Times can be typed directly, in the session wizard and the kid-hours sheet, instead of stepping through 15-minute increments.
    • Derived names — Names come from the lead parent everywhere: “Maya’s family”, “Maya’s house”, “Your house”. The capacity widget reads “2 spots open” with per-hour fractions.
    • Hosting — Changing a session’s location moves the hosting family with it, a host’s kid keeps the whole session window when times are edited, and admins can edit any family’s hosting.
  • Weekly repeating sessions Release notes

    • Repeat weekly — A session can repeat weekly. Pick the days and optionally an end date; each weekday becomes its own series, so Wednesday can carry a different kid list from Monday.
    • Three-step wizard — Adding a session is three steps: date and time with a week strip and repeat control, then where, then kids. Landing on the schedule with the new sessions pulsing is the review.
    • Editing a series — Editing a repeating session asks “this session only” or “this and future sessions”. Past sessions feed billing, and a series edit leaves them alone.
    • Convert and navigate — A one-time session can become weekly from its details, and the week strip keeps today marked, with a “Today” chip when paged away.
    • Time away respected — An away family’s house cannot host, and an away kid cannot be added.
  • Bottom sheet sizing Release notes

    • Content sheets, like the cost breakdown and assign-nanny sheets, size to their content on every phone.
    • Large text now always gets an explicit line height, so headline amounts render in full across the app.
  • ournanny.app redesigned Release notes

    • Editorial redesign — ournanny.app is a warm editorial page on the app’s own palette and fonts: a left-aligned hero with a slot for a demo video, a ribbon of the chores the app takes off a parent’s plate, a features grid with a live rate-tier example, and a mission section.
    • New hero — The hero reads “Having a nanny, minus the spreadsheet”, and the subhead covers a single family with a nanny as well as a nanny share.
    • Current copy — Pre-launch lines are gone. The page now says it is welcoming early families, and free for them. The word beta does not appear.
    • Share previews — A link posted anywhere shows the right preview image, served from the site itself.
    • Phone first — The page is tighter on a phone, with the call to action above the fold, and links Terms and Privacy from the footer.
  • Time away Release notes

    • Mark time away — Families and the nanny can mark time away on a date-range calendar. The Schedule shows a line for the week (“Away: you Tue – Thu”).
    • Sessions without a host — A session that loses its host gets an amber “Needs a host” state, and adding time away over a hosted session asks whether to keep or cancel those sessions.
    • Trip history — The away form is a full screen with its own history of trips.
Week 28 · Jul 6–12
  • Beta opens to new families New feature Release notes

    • New families in — Families beyond the first household are on the TestFlight beta.
    • Set up before sign-up — A family’s household can be built in the app with the parent’s phone number first, so signing up with that number connects straight to the share instead of a cold start.
    • Ready for review — The beta review kit includes a designated reviewer test number, so a reviewer can walk the whole app on their own.
  • A real visual identity Release notes

    • Brand look — The app carries the website’s warm cream, ink and sand palette, the brand typefaces, and a deeper teal.
    • Everything responds — Taps get a small spring and a light haptic tick, the tab pill animates, screens transition, and recording a payment sets off confetti.
    • Tab accents — Each tab has its own accent in the tab bar: Schedule teal, Billing amber, Pod coral. The Share tab is called Pod again.
    • Empty screens — An empty screen explains what belongs there instead of showing nothing.
    • New build — Fonts and haptics are native pieces, so this ships as a new TestFlight build (82).
  • Share tab rebuilt Release notes

    • One hub — The Share tab is a single flat hub: the nanny’s card, a card per family led by its kids, and app settings at the bottom. The cards themselves are the tap targets.
    • One family screen — Every card opens the same family screen, aware of who is looking. Admins can edit anything, parents edit their own family, and everyone else gets a clean read-only view. Nobody edits an active person’s sign-in phone number for them.
    • Invite chips — Each invited person shows a compact chip with their live invite code, tap to copy, and a “Text invite” button, so an invite is easy to resend.
    • Rates in one sheet — Rates ask how many kids at once first, then show a rate field per count. The admin and the nanny own them together.
  • Sign-up starts with your situation Release notes

    • Situation first — Sign-up opens with a question about the family’s situation rather than a role: a nanny share to set up, an invite to one, or a wish to be matched. Each answer leads to its own short path.
    • Set up, then invite — Build the family, set up the nanny, add another family, and text each invite from a hub that shows what is left. The share gets a name, suggested from the street.
    • Family names — Families are named after their lead parent (“Maya’s family”). Kid birthdays are optional and ages show in words; birthdates are never displayed.
    • Forms that fit — A bottom sheet for a small edit like a person or a kid, a full screen for anything with address search or more than a few fields.
    • Money fields — Rates are whole dollars, Venmo handles get the @ added, and payment is weekly, matching how billing works.
Week 27 · Jun 29 – Jul 5
  • Partner invites and update delivery Release notes

    • Partner invites — A co-parent invited by phone lands on the claim screen for the family they were invited to, and joins that family directly.
    • Internal: updates now publish and reach installed builds reliably, and the beta runs on its own backend, separate from the one used for development and testing.
  • Invited onboarding, Schedule first Release notes

    • Schedule first — The app opens on the Schedule, with the date picker on it. The separate Home tab is gone.
    • Invited flows — Every invited person gets a path built for their situation: a five-screen welcome for an invited nanny, a claim screen for an invited parent, and a confirm-the-family screen for a co-parent. A partner invite starts from a phone number.
    • Phone sign-in — Signing in is by phone number only.
    • When a week closes — Billing treats a week as over at midnight on Friday in the pod’s time zone, and past sessions read as over rather than upcoming.
    • Version line — The profile screen shows which version the app is running, so it is clear when an update has arrived.
Week 26 · Jun 22–28
  • Invited nanny sign-up Release notes

    • New build — A fresh TestFlight build is out (80).
    • Nanny sign-up — A nanny an admin has already set up is recognized when she signs up with the same phone number, and lands on a claim screen instead of cold onboarding.
    • Lighter app — An unused session-recording library was taken out.
Week 25 · Jun 15–21
  • Crash on open Release notes

    • The app opens reliably. Onboarding now handles its own steps changing while data is still loading, which clears the whole class of problem rather than one instance.
  • Session details and cost card Release notes

    • Edit in place — Tap the time, the location, the nanny, or a kid’s hours on a session and a sheet opens for just that thing.
    • Inline time steppers — Times move in 15-minute steps. Moving a session slides the kids’ hours with it; shortening one clamps them to the new window.
    • Cost card — Each session shows what each family pays, what they save compared with a private nanny, and what the nanny earns for taking the share. The copy knows its tense: “You’ll save” before, “You saved” after.
    • Dates and cancellations — Payment due dates follow the phone’s own time zone, and a cancelled session drops off the schedule.
    • Add a family early — An admin can add a whole family — parents, kids, hosting — before they sign up, and schedule their kids.
  • Schedule and add-session polish Release notes

    • Opens on this week — The Schedule starts on the current week. Earlier weeks sit behind a “Show earlier weeks” control, and a Today chip brings the list back after scrolling.
    • Empty days — A day with no care shows a dashed placeholder card, with an Add button on today and upcoming days.
    • Clearer sessions — Your own sessions read “Your house”, and kid avatars are larger so faces are legible.
    • Time steppers — Start and end times in the add-session flow are inline 15-minute steppers, defaulting to 9 to 5.
    • Layout fixes — The close button clears the step indicator on notched phones, and the login screen’s Terms and Privacy links are tappable.
  • Set up your nanny Release notes

    • Nanny profile up front — An admin can set up the nanny by phone number: name, rates, how many kids at once, and an optional bio. She can be assigned to sessions right away, and her first sign-in with that number claims the profile.
    • Rates per kid — Rates are entered per kid, with a running total as you go.
    • Assigned means working — An assigned nanny is on the session. The separate RSVP and awaiting-confirmation step is gone.
    • Managing the nanny — Admins can edit or remove a nanny who has not signed in yet, and assign or swap the nanny on a session with a tap on its nanny tile.
  • Logging past sessions Release notes

    • Past sessions — A session can be logged up to 30 days after it happened, so a week of care can be recorded after the fact and billed.
    • Date pickers — The day-view date pickers open to past dates, so a backfilled session is easy to find again.
  • Co-parent invites Release notes

    • Add your partner — A parent enters their partner’s name and phone number and gets an invite code plus a ready-to-send text. The partner joins the same family, so a couple is one household with one balance.
    • Pending co-parents — Manage Family lists co-parents who have not activated yet, and an admin can edit or remove one. Re-inviting the same number updates the existing invite rather than making a duplicate.
    • Joining by code — A co-parent who types an invite code skips the create-a-family steps and goes straight to confirming the family they were invited to.
    • Invite reliability — Invite codes redeem cleanly, and a join that succeeds says so.
Week 24 · Jun 8–14
  • Phone sign-in and invites Release notes

    • Sign in by phone — Enter your number, type the code from the text, and you are in. No passwords.
    • Invites by text — An admin enters a name and a number and gets an invite code plus a ready-to-send text. The invitee’s account connects to that invite when they sign up with the same number.
    • New login screens — The sign-in screens were redesigned around a single logo on a warm ivory background.
  • Pod management hub Release notes

    • Manage the share — The Pod tab holds a Manage Family screen for names and kids, a Manage Nanny screen for rates and bio, and buttons to invite a nanny or add a family.
    • Pod owner — Whoever created the pod is treated as its owner throughout the app, with the family switcher and invite controls that come with it.
    • Cleaner screens — The greeting-and-avatar header is gone, and profile and app settings sit in one row at the bottom of the Pod tab.
  • Terms and privacy pages Release notes

    • Terms and privacy — ournanny.app has a Terms of Service and a Privacy Policy, styled to match the landing page.
    • Linked from sign-in — The app’s login screen links to both, so anyone signing in can read what they are agreeing to first.
    • Contact — Both pages list an Artemis Nova contact address.
  • Billing and payments Release notes

    • What each family owes — Billing works out each family’s share from the sessions that actually happened. Time is sliced whenever a kid arrives or leaves, and the shares add up to exactly what the nanny earns.
    • Balance card — Parents see paid up, balance due, overdue, or credit, and can expand any charge to see the math slice by slice.
    • Recording payments — Payments are logged in the app with a hand-off to Venmo. A wrong one can be removed, and the ledger corrects itself with a new entry, so past weeks never change.
    • The nanny’s view — Her own Billing home: what she will receive this week, what is outstanding, and which families are paid up.
    • Admin view — Pod admins can open any family’s balance and add a charge or a credit adjustment.
Week 23 · Jun 1–7
  • Pod matching questions Release notes

    • Pod matching — The match-me-to-a-pod questions sit on one screen and their answers are saved, including a new question about whether a family would match with people they don’t already know. Parents and nannies both answer.
    • Find a pod — A standalone Find a pod screen is reachable from the Pod tab, so a member without a pod has somewhere to go.
    • Privacy — A family’s information is visible to that family and their pod admins, and nobody else.
    • Smaller fixes — Editing a session is reachable from its details, and the sign-in route lands where it should.
Week 22 · May 25–31
  • Visitor analytics Release notes

    • Internal: ournanny.app now counts page views with a cookie-free analytics script. Nothing changed for visitors, and no consent banner was needed.
Week 21 · May 18–24
  • I launched Artemis Nova as my product consultancy last January, but I still didn’t have a website for the business. I had a vision in my mind for something simple, elegant and medieval inspired. My creative constraint was time: I had to ship it within a single work session. 4 hours later a website was born!

    Problem I’m solving

    While I was not actively taking on new clients at the time, my product consultancy needed a website to appear more legitimate, and a front door for new client requests. Who knows, maybe someone special would come along.

    Where I started

    My original vision was way grander - a gorgeous medieval style “book” you would open to see different custom generated images representing different projects in my portfolio. Think an illustrated manuscript like the Book of Kells. I also did some research into beautiful interactive portfolio sites like igloo.inc. However, I realized that to generate images in the style I wanted would be an entire intense sub project likely using image generation tools like Midjourney I’d never used before. Given my time constraints, I scoped the entire project down to a single page website that had the elements of my desired aesthetic.

    Where I ended

    I was pretty happy with the end result - an elegant single page website with a moon graphic that updates with the live phase of the moon. The moon is an important symbol to me personally, Artemis is the goddess of the moon, and I wanted the website to be feel slightly sacred/mysterious rather than corporate. I spent a lot of time on the moon image itself to get a “hand drawn” feel, and tuning the moon and logo “shimmer” to be less of a sweeping gradient effect and more of a dark gold glow effect.

    What I learned

    Design is very important to me and takes time, even for very simple experiences. In fact, the simpler an experience is, the more important design becomes. I always underestimate how much iteration it will take to get something to a place where I feel it is good enough, and it’s difficult to know when to cut it off. Having a time limit is really important because otherwise I can endlessly churn on improvements and iterations.

    When I reviewed my work on this site, Claude actually said it best - getting good design from LLMs is more like sculpting. It takes a lot of patient micro-prompting.

    Read more →
  • Shipped the ship log

    At the beginning of the year, I had a goal to ship something every week. Life got busy and while I started with great intentions, I haven’t shipped anything for months because my focus has been on my hourly contracting roles and making $. My solve — a public log of things I make.

    Problem I am solving

    It is an effort to give myself a kick in the pants and some accountability. I hope to look back on it at the end of the year with a wistful sense of pride. With each thing I create, I learn something, use new tools, get a little sharper.

    What I learned from this build

    With a simple prompt, Claude is more likely to overbuild than underbuild. A lot of coming to something decent is stripping stuff down.

    That being said, I always underestimate how long it will take to build a “simple” feature. Classic example — just a weekly log of what I shipped. But maybe also a visualization of the weeks… maybe the visualization could be animated… maybe the visualization could have a streak associated with it… maybe it should show what tools I used… maybe it should impact the dialog tree on the homepage. It goes on and on! But that is the fun of building products.

    Also, confirming that I really dislike having Claude write for me. Despite building a custom skill that is supposed to help Claude learn to write in my voice, I just haven’t cracked the code on that. It is always too clever, too choppy, too something.

    Read more →
Week 14 · Mar 30 – Apr 5
  • My family kept asking me about my trip to New Zealand so I built this micro site to show our itinerary to them.

    Where I started

    Built in frenzy during a 30 min on a layover before getting on the red eye to Auckland.

    Where I ended

    A pretty cool fully functional site showing current location, dispatches, date logic, etc.

    What I learned

    Don’t build a site that you have to maintain while on vacation! After I launched the site and sent it out, I had zero interest in pulling out my laptop to update it. So it kind of languished after that. But this is probably the fastest build I’ve ever done.

    Read more →
Week 9 · Feb 23 – Mar 1
  • In the middle of the night, came across a few posts on Twitter about “AI psychosis”. It was an exhilarating time - agents had just gotten way better, and everyone was feverishly building stuff. I thought to myself that these posts didn’t quite capture the exhilaration and euphoria of the moment. It wasn’t psychosis, it wasn’t anxiety — it was mania! Thus “Cyclical Generative Mania” was born as a concept.

    Where I started

    Started as a joke Twitter thread I was going to post. Then I started to get deeper on the concept as my own CGM took hold…

    Where I ended

    I purchased the domain cyclicalgenerativemania.com and set up a full interactive website with a quiz, comorbid conditions, Promptzac™, etc. I tried to lean into the big pharma UX patterns as much as possible. I also developed an entire launch strategy on Reddit, X, Hackernews, etc. I was totally convinced it would go viral.

    What I learned

    It did not go viral lol. It was quite the opposite, I think it got about 2 likes from my tiny X account of 12 followers. Reddit didn’t like it, Hackernews didn’t like it, no one liked it but the friends in tech I sent it to, who said it was hilarious. My husband was like - why??? why would you spend time on this?? what about your actual startup?? All I could do was shrug because the whole thing was so ridiculous and meta at that point, a true manic sleepless Claude-fueled episode.

    Read more →
Week 8 · Feb 16–22
  • Launched my personal website New feature

    A weird thought in the middle of the night…why aren’t websites more fun? An image popped in my head - an old man by the campfire in the middle of the night. “Welcome weary traveler…I hear you’re looking for Ingrid.” Months later with Claude’s help, my weird personal website became a reality in a 2 hr ShipSLC build session!

    Problem I’m solving

    I always wanted a place to start to share my thoughts, ideas, projects. It also felt awkward as a PM that I basically zero web presence. For a person who spends their entire working life in the digital realm, it feels akin to being homeless or not having a front door to greet people at. At the same time, I didn’t want a typical portfolio page, I wanted something a bit more unique that captured my personality. Having played a lot of classic RPG games, an RPG style pixel art scene seemed like a great playful fit.

    Where I started

    With Claude’s help and some research, I decided to build on top of Astro, since I wanted a basic content/blog website. I decided to descope a fully AI-driven dialog to start, because I wanted to complete the build in 2 hrs and I actually thought the basic NPC-style dialog tree would be charming. I wrote a spec for the website, refined it with Claude, and thought I would be able to one shot it. Not quite - ha!

    Where I ended

    After a LOT of visual iteration, a beautiful pixel art homepage with a working dialog tree routing to the About section or the Blog. It was a really exhilarating fast build. The compromise I made was that my first blog page plus the About page were entirely AI generated content not written by me. In retrospect this was a bit weird if the site was meant to be a form of self expression, but overall I was really pleased with the end product.

    What I learned

    The before and after screenshots for this build are hilarious. The key difference between the two was reference images! I tried several frustrating rounds of trying to describe a better aesthetic to Claude with no progress. Finally went to Dribbble, searched for some beautiful pixel art, uploaded it, and the quality of the design went up 1000%. It was a massive unlock I’ll never forget. It still took about 10+ reprompts though to really dial in the imagery.

    Also originally I didn’t have Playwright installed and Claude had no way to visually QA the website, which was a huge problem for something so design heavy.

    Me not knowing the right words to use in my design tweaks was a problem. I wanted the homepage screen to be full screen and I didn’t realize the right word to use to describe this was “viewport”. Took a while to communicate what I wanted and have the full screen effect I was going for.

    Read more →
Week 7 · Feb 9–15
  • Meetup was going to cost $540/yr without pulling any new people in, was a total waste of money. I migrated to Luma.com to host my event calendar and never looked back!

    Where I started

    Had an old “Vibe Code Together” weekly event on Meetup. To be able to host a weekly event, Meetup forced me to upgrade to the Meetup Plus plan which was going to cost a fortune with very little value add. I decided it wasn’t worth it and Meetup DOES NOT LET YOU downgrade your plan after upgrading, so it was not possible to continue using Meetup. I found Luma after searching for alternatives and was really pleasantly surprised by how fully featured it was without all of the ridiculous paywalls and lockins. Also realized that “Vibe Code Together” was starting to feel outdated. Pretty sure “Vibe Code” will end up being a word of 2025 that won’t carry into 2026.

    Where I ended

    Migrated to Luma which ended up being amazingly easy to integrate with. Ended up with a new “Weekly Build” event format with different branding.

    What I learned

    Read the fine print. Meetup is predatory! I’m somewhat disgusted by their inability to downgrade an upgraded plan…very sleazy.

    Read more →
Week 4 · Jan 19–25
  • Onboarding confirmations and fixes Release notes

    • Confirmations — Creating or joining a pod and adding children each confirm with a short message instead of moving on silently.
    • Nanny onboarding path — A nanny who creates a pod continues to the age-confirmation step, the right next step for her role.
    • Resilient setup — Creating a pod recovers and finishes if the account service hiccups mid-request.
Week 3 · Jan 12–18
  • Event times and time zones Release notes

    • Consistent times — An event reads the same everywhere it appears — on the event itself, on Today, and in the nanny’s view — anchored to the host home’s time zone.
    • Time validation — An event that would cross midnight is rejected up front, and each child’s attendance is stored as an exact point in time rather than a clock reading.
    • Hosting capacity — Onboarding asks how many children a home can take.
  • New time picker and logo Release notes

    • Time picker — Choosing a time when creating a session uses a new calendar-style picker, with versions tuned for phone and for web.
    • Onboarding progress — Progress shows by section rather than a numbered step count.
    • OurNanny logo — The sign-in and splash screens carry the OurNanny logo.
    • Profile and password copy — Household tags came off the home profile form, and the forgot-password screen was reworded.
  • Pod overview and settings Release notes

    • Pod overview — The Pod tab shows a card for each family with its children, and a card for the nanny.
    • Settings — A Settings screen with a light, dark, or system theme choice.
    • Pods without a nanny — Adding a session works in a pod that has no nanny assigned yet.
    • Updates without reinstalling — Improvements now reach an installed copy of the app on its next launch, so most changes arrive without a fresh download.
  • First TestFlight build Release notes

    • On TestFlight — The iOS app is available through TestFlight. Sign-up uses an email address and password with a verification step, and invite links open straight into the app.
    • Onboarding by role — A parent can start a pod or join one with a code, add children, and describe the home they host from. A nanny answers eligibility, photo, bio, age-range, rate, and pay-frequency questions.
    • The schedule — Create a session at a host home, set which children attend and for which hours, see the capacity effect before confirming, cancel, and invite a nanny to a specific session.
    • Today tab — One list of the day’s sessions.
    • Hosting locations — Add a home with address autocomplete from the profile screen, then mark it complete.
Week 50 · Dec 8–14
  • Landing page and waitlist Release notes

    • Public front door — ournanny.app went live, pitched at families already running a nanny share under the line “Nanny share, without the spreadsheet.”
    • Waitlist — Every call to action opens a short form where an interested family can put their name down.
    • What it describes — Scheduling, host locations, attendance tracking, and automatic cost reporting.
    • Built for phones — The layout collapses to a single-column menu on small screens, which is where most parents see it first.
    • Social links — The footer links to the OurNanny accounts on X and Instagram.