Kith

Published on

Introduction

One of the things that looks simple from the outside, but can actually become very messy in daily life, is managing a household together.

In a family, there are always small things that need to be remembered. Someone needs to buy groceries, someone needs to finish a chore, there might be an event coming up, or something around the house needs to be taken care of. These things might seem small on their own, but when they start adding up, it becomes harder for everyone to keep track of what is happening and who is responsible.

Most of the time, families already have their own way of handling this. They use chat messages to remind each other, calendar apps for important events, notes for grocery lists, or simply rely on memory. It works well enough most of the time, but the information can easily become scattered across different places.

This can lead to small problems that happen more often than we realize. A task can be forgotten because everyone thought someone else would do it, a grocery item can be bought twice because nobody knew it had already been picked up, or someone can miss an important update because it was mentioned somewhere in a long conversation. None of these problems are huge by themselves, but having them happen repeatedly can make managing a household feel more complicated than it needs to be.

That was the main idea behind Kith. I wanted to build an app that could help families organize those small but important daily responsibilities in one shared place. Instead of having information spread across different apps and conversations, Kith is meant to give everyone in the household a clearer view of what needs to be done, what has already been handled, and what is coming up.

First time focusing more on Figma

This project was also the first time I really focused more on using Figma as part of my design process. Before this, I mostly used Figma as a quick place to arrange screens and get a rough idea of how an interface would look before moving into code. With Kith, I wanted to spend more time designing and exploring the product first instead of immediately thinking about how I was going to build it.


Spending more time in Figma also gave me more freedom to try different ideas. I could move things around, compare different layouts, and see what worked or didn't work before committing to anything in code. Sometimes an idea looked good at first, but after seeing it together with the rest of the app, I realized it was too complicated or didn't fit the overall experience.

The Problem

The problem Kith tries to solve is not really about productivity in a strict way. It is more about coordination and making sure everyone in the household has access to the same information. Families already have ways to communicate and organize things, but those tools are often separated from each other.

A task might be mentioned in a group chat, an upcoming event might only exist in one person's calendar, and the grocery list might be stored in a note that someone else cannot access. Even when everyone is actively communicating, information can still become scattered. Over time, it becomes difficult to know which information is still relevant, what has already been handled, and what still needs someone's attention.

Because of that, even simple questions can take more effort to answer than they should. What needs to be done today? Who is responsible for a certain task? What groceries still need to be bought? What has happened recently in the family space? The answers might already exist somewhere, but finding them can mean checking different apps, scrolling through conversations, or simply asking someone again.

These questions sound small, but they come up regularly in everyday life. When the information is unclear, it can create unnecessary back-and-forth between family members. Two people might wind up doing the same thing, a task might be left unfinished because everyone assumed someone else was responsible for it, or an update might be missed completely. The issue is not necessarily that people do not want to help. Sometimes they simply do not have a clear picture of what is happening.

This is where Kith comes in. The purpose of Kith is to bring these everyday responsibilities into one shared workspace where everyone can see the same information. Tasks, groceries, events, and recent household activity can be easier to find without having to search through different places.

I Built Kith Around Existing Habits

Kith is not meant to replace the way families communicate with each other. Conversations can still happen naturally through whatever tools they already use. Instead, Kith focuses on making responsibilities and important information more visible, so everyone has a clearer understanding of what needs attention, what has already been done, and what is happening around the household.

What Kith Provides

Kith provides a shared family space where members can manage everyday household activities together. The idea is to bring the small responsibilities that usually happen across different places into one shared workspace. Instead of having tasks in a chat, groceries in a note, and schedules somewhere else, family members can use Kith to get a clearer picture of what is happening at home.

The experience starts with authentication and onboarding. Users can create an account using email and password, verify their account through OTP, or sign in using Google or Apple. After signing in, they are guided through setting up their profile before entering the main family experience.

From there, users can either create a new family or join an existing one through an invitation link. Creating a family gives the user their own shared space where they can begin inviting other members, while an invitation allows someone to directly join a family that has already been created.

I wanted the onboarding process to feel like a natural entry point into Kith rather than something users simply have to get through. The app only really becomes useful once someone is part of a family, so the onboarding flow helps establish that context before introducing the rest of the features. Once the user enters a family, that family becomes the center of the experience.

Here's what the onboarding looks like:

0:00 / 0:00

After onboarding, the main app is divided into a few core areas:

• Dashboard:

Gives members a quick overview of what is happening in the family, including today's tasks, tasks assigned to them, grocery items, and recent activity.

• Tasks:

Allows members to create, assign, update, and complete household tasks. Tasks can include due dates, reminders, recurring schedules, and private tasks when needed.

• Calendar:

Organizes scheduled tasks by their due dates, giving members a clearer view of what is happening today and what is coming up.

• Grocery:

Provides a shared shopping list where members can add items, quantities, descriptions, and assignees, then mark items as completed once they have been purchased.

• Profile and Members:

Allows users to manage their profile, view family members and their roles, invite new members, and control certain actions based on permissions.

These areas are designed to work together. A task can be assigned to a family member, appear on their dashboard, show up on the calendar when it has a due date, and become part of the family's recent activity once it is completed. Grocery items work in a similar way, allowing everyone to see what is still needed and what has already been handled.

I did not want Kith to feel like a collection of separate productivity tools. The goal is for someone to open the app and quickly understand what needs to be done, what they are responsible for, what the household still needs, and what other family members have already handled.

Kith is not meant to replace conversations between family members. Instead, it gives important household information a shared place to live, making everyday coordination easier to follow.

Development Process

For Kith, I split the project into two sides: the iOS app and the backend.

The frontend is built with SwiftUI. I structured it with a clean architecture approach, where the presentation layer talks to view models, the view models use use cases, and the use cases communicate through repository protocols.

The backend is built with Go, Chi, and PostgreSQL. I used a handler, service, repository, and entity structure so the API logic would stay separated. The backend handles authentication, OTP verification, social login, family spaces, tasks, groceries, dashboard data, activity feed, and subscription status.

One thing I paid attention to was making the frontend and backend match each other clearly. For example, the Tasks page on iOS connects to the task endpoints, the Grocery page connects to the grocery endpoints, and the Dashboard page pulls the summarized family data from the backend.

This part was important because Kith has a lot of small connected behavior. Completing a task is not only changing a checkbox on the UI. It also needs to update the backend, affect the dashboard, possibly appear in recent activity, and still respect who is allowed to manage that task.

App Preview

Below are some screens from the Kith app. The goal of the interface is to keep the app simple and calm, because household organization should not feel like managing a complicated project management tool.

Kith app dashboard screen
Kith app task screen
Kith app calendar screen
Kith app grocery screen

Tech Stack

Those are the main stacks I use for this project. For the iOS app, I use SwiftUI, Swift Concurrency, URLSession, Keychain, Apple AuthenticationServices, and Google Sign-In. For the backend, I use Go, Chi, PostgreSQL, JWT authentication, OTP verification, Resend, validator, and Swagger.

What Lies Ahead

Currently, Kith is still running locally on my computer. The app already has the main flow that I want to explore, but I don't want to rush it into something public before I know whether people actually need this kind of product.

Right now, I'm trying to find who might be interested with this project. Maybe it is families, couples, students living together, or anyone who often has to coordinate daily responsibilities with other people.

If you think Kith is something you would use, or if you have feedback about the idea, you can reach me through farrasnazhif@gmail.com. You can also join the watchlist through Kith Website.

For now, I want to keep improving it based on actual interest and feedback, so the app can grow into something useful instead of just another project that looks good in a portfolio.