DFDavid FauciNetwork Engineer

Personal Projects

Building TheFamHub: Shipping a Private Family Coordination App

TheFamHub was built for a very specific kind of problem: the ordinary, repetitive coordination work that families already do across texts, reminders, calendars, and memory. The goal was not to build a social platform for households. It was to build a private tool that makes shared logistics easier without creating another source of noise.

PublishedMay 6, 2026
Reading time10 min read
Tagsswiftui • ios • supabase • sign-in-with-apple • core-location • eventkit • realtime • row-level-security • privacy • app-store

Overview

TheFamHub is a private iPhone app for family coordination built around invite-only groups, shared lists, structured tasks, family events, trusted location sharing, and disciplined scope. This build log covers the product decisions, technical architecture, and tradeoffs involved in shipping something practical enough for real household use.

Starting With the Actual Problem

Most family coordination problems are not dramatic. They are small, recurring failures of visibility. Someone needs groceries. A chore was assigned but not clearly tracked. An event exists in one person’s calendar but not everyone else’s. A pickup plan changes. Somebody asks where someone is, even though the answer could have been available already.

The problem is not that families lack tools. It is that the work gets fragmented across tools that were not designed to act like one system. Group texts create noise. Personal reminders do not become shared accountability. Calendars help, but only when everyone keeps them aligned. Location sharing can be useful, but it becomes uncomfortable quickly if the product behaves like surveillance instead of coordination.

TheFamHub started from the idea that a family app should solve a narrower set of practical coordination problems well. That meant invite-only family groups, shared lists, structured tasks, events, notifications, and trusted location features, all inside one product with clearer boundaries than the usual mix of consumer apps provides.

Defining What Belongs in the App

A large part of the product work was deciding what not to build. Family software gets worse fast when it tries to combine messaging, social features, generic productivity workflows, and background tracking into one broad concept. I wanted TheFamHub to stay grounded in coordination, not drift into being a family-themed everything app.

The resulting feature set is intentionally focused. Families join through invites and collaborate inside a private shared space. Lists cover things like groceries, supplies, and quick planning. Tasks support subtasks, assignments, and recurring behavior. Events give the family a shared planning surface. Location features are there for trusted coordination, with saved places and geofencing rather than an aggressive always-watch model.

  • Invite-only family groups with explicit membership.
  • Shared lists for everyday planning and household coordination.
  • Structured tasks with subtasks, assignment, and completion tracking.
  • Recurring tasks for repeated responsibilities.
  • Family event planning inside the app.
  • Optional export of FamilyHub events to Apple Calendar.
  • Trusted location sharing with saved places and geofencing.
  • Granular family permissions across major product areas.
  • Notifications for the coordination events that actually matter.

That set of features is broad enough to be useful, but still coherent. Each part contributes to the same core job: making family coordination more visible and less repetitive.

Projects Became Tasks for a Reason

One of the most important product changes during development was shifting an earlier “projects” concept into “tasks.” On paper, projects sounded more flexible. In use, they felt like importing work software vocabulary into a family product that did not need it.

Families usually do not think in terms of managing mini project boards for normal household coordination. They think in terms of tasks: clean this room, pick this up, finish these three sub-steps, repeat this every week, assign this to someone, mark it done. The data model still needed structure, but the language and interaction model needed to feel closer to real household behavior.

That change improved more than naming. It clarified recurrence rules, made assignments feel natural, and reduced the feeling that the app was trying to turn family life into lightweight corporate process. It is a good example of how product credibility often comes from removing conceptual friction rather than adding power.

Architecture, Stack, and Why It Fit

TheFamHub is built with SwiftUI on the client and Supabase on the backend. Sign in with Apple handles authentication, Core Location supports the location features, and EventKit powers Apple Calendar export. That stack was chosen because it matched the product constraints more than because it checked modern-tooling boxes.

SwiftUI made sense because the app is deeply native in behavior and depends on platform integrations that are better handled directly in the iOS environment. Supabase was a strong fit because the app needed relational data, authenticated membership, realtime collaboration, and row-level security without forcing me to build a custom backend surface for every feature from the ground up.

The backend model centers on family membership and ownership, then branches into lists, tasks, subtasks, recurring behavior, events, permissions, saved places, and location state. Realtime subscriptions matter because a family coordination app loses much of its value if changes do not propagate quickly. If one person completes a task, edits a list, or changes an event, the rest of the family should not be working from stale state.

Realtime Collaboration Without Chaos

Realtime features sound straightforward until several people can change shared state at once. In practice, the challenge is not just getting updates to stream. It is making sure the product stays understandable when those updates arrive.

TheFamHub needed live collaboration, but not in a way that made every screen feel twitchy or overactive. The product is about reducing noise, so the implementation had to respect that. Updates needed to be timely, but the UI still had to feel stable. That shaped how list changes, task updates, assignment changes, and event edits were surfaced.

This also affected notifications. The right notification strategy for a family app is not maximal coverage. It is selective relevance. If every edit becomes a push event, the product becomes another stream people learn to ignore. The better approach was to reserve notifications for meaningful coordination moments rather than treating every mutation as equally important.

Privacy, Row-Level Security, and Trust Boundaries

Privacy was not a later layer added on top of the app. It was part of the definition of the app. Families are invite-only. Membership is explicit. Permissions are not assumed just because someone belongs to the same group. Those choices had to exist at the database level, not only in the interface.

That is where Supabase row-level security mattered. Access rules had to ensure that users could only read and mutate the records that belonged to families they were actually part of, and only within the capabilities their role allowed. The hard part was not writing one policy. It was designing a permission model that stayed consistent as lists, tasks, events, and location features evolved separately.

Granular family permissions became an important part of the product because real households do not all operate with the same expectations. Some families want broad shared visibility. Others want tighter control around who can create, assign, edit, or delete. Making that configurable increased complexity, but it also made the app more realistic.

Calendar Integration and Source of Truth

Calendar was one of the clearest examples of choosing reliability over feature ambition. It is easy to imagine a deeper sync model between a family app and Apple Calendar, but that path raises ownership questions, conflict questions, and a long list of failure modes that are not obvious until the product is already in users’ hands.

The better design was to keep FamilyHub as the source of truth for shared events and support optional export to Apple Calendar through EventKit. That preserves a clean mental model. The event lives in TheFamHub because that is where family coordination happens. If a user wants those events to appear in Apple Calendar for personal convenience, the app can export them there without pretending both systems are equal authorities.

That decision reduced risk and simplified behavior at the edges. It also made review and support easier because the app is not trying to reconcile round-trip edits from an external calendar system. Sometimes a narrower integration is the more serious engineering decision.

Location Features Under iOS Constraints

Trusted location sharing was useful enough to belong in the app, but it needed careful boundaries. This is one of those areas where the product value is obvious only if the implementation remains respectful. Families may want to know when someone arrived home, left school, or is at a saved place, but that does not justify building the most invasive tracking model possible.

Core Location gave the app the native tools it needed, and saved places with geofencing provided the most practical shape for the feature. That approach is more meaningful than raw map movement most of the time. It tells the family something actionable and familiar without requiring the product to act like a constant monitoring dashboard.

This area also carried platform and review implications. Background behavior, battery use, permission messaging, and reviewer expectations all matter. The implementation had to justify itself both technically and product-wise. When reliability or trust was in doubt, the right move was simplification, not escalation.

App Store Review and Other Non-Code Realities

Shipping the app involved much more than completing the feature set. Family apps touch sensitive areas like accounts, location, permissions, and background behavior, so App Store review constraints become part of the engineering problem. You do not just need a working implementation. You need flows that are clear, supportable, and reviewable.

Sign in with Apple was a good example. It is straightforward in principle, but onboarding around identity collection and account setup has to stay aligned with Apple’s expectations. If a post-auth flow feels too tightly coupled or too demanding, it can create unnecessary review friction. That forced a more disciplined onboarding experience, which was good for the product anyway.

The same pattern showed up elsewhere. Permission descriptions needed to be specific. Location behavior needed to be defensible. Calendar access needed a clear user benefit. Review notes, metadata, support material, and privacy explanations all had to match the actual behavior of the app. None of that is glamorous work, but it is part of shipping serious software.

What I Learned From Building It

The clearest lesson from TheFamHub was that scope discipline is not the enemy of capability. In products built around trust, it is often what makes capability usable. The app improved every time I chose the narrower feature that could be explained clearly and supported reliably.

I also came away with a stronger appreciation for where the real complexity lives in collaborative software. It is not only in rendering screens or wiring API calls. It is in access boundaries, conflict handling, realtime behavior, platform expectations, and the product judgment required to make those systems feel calm rather than fragile.

Finally, this project reinforced something I care about in personal work: practical software is often more interesting than broad software. TheFamHub is not trying to invent a new category. It is trying to reduce real household friction with a product that is private, credible, and specific about what it should do.

Closing Reflection

TheFamHub became a strong project because it stayed anchored to a real use case all the way through shipping. Invite-only families, shared lists, structured tasks, recurring work, event planning, optional Apple Calendar export, trusted location sharing, and granular permissions all belong together because they solve the same coordination problem. The challenge was not finding more features to add. It was building the right system, with the right limits, so the app could be genuinely useful in everyday family life.

More Notes

Keep reading

Building WrenchLog: A Practical iPhone App for Vehicle Service History

I built WrenchLog to solve a simple problem I kept running into: maintenance information was scattered across receipts, notes, photos, and memory. What started as a personal tool for keeping vehicle service records in one place became a focused SwiftUI app with VIN lookup, photo attachments, quick service logging, export tools, and a workflow built around real maintenance tasks rather than generic CRUD screens.

When the Manufacturing Certificates Quietly Expired: An ACI EOL Postmortem

A routine port-add on a Cisco ACI fabric exposed nine months of silent policy distribution failures, a seven-hour cluster time drift, and a fleet of expired manufacturer certificates on hardware past its support life. The right answer turned out to be the unsatisfying one.

Before You Read Anything Else

This is the one post on the site written directly by me. The stories, projects, and experiences here are real, but nearly all of the writing and presentation across the site is created with heavy AI assistance as part of a personal experiment in what these tools can help me build.