Fyt, a social fitness app for iPhone and Apple Watch
- Role
- Founder and lead engineer: the product, the iPhone and Apple Watch app, the server and the website
- On the App Store
- Since July 6, 2026; version 1.0.43, September 21, 2026
- Stack
- Swift, SwiftUI, watchOS, HealthKit · TypeScript, Fastify, PostgreSQL · Fly.io
Friends who run and lift together track their workouts in Fyt, and each run is announced in their iMessage group chat, so members without the app see it too. It has been on the App Store since July 2026, with 370+ users and a 5.0 rating from 9 ratings.
Before
A group of friends who run and lift together already talk every day in an iMessage group chat. Their workouts sit in separate apps, and the chat only hears about one when someone remembers to post it.
The problem
Fitness apps are built around one person’s log. The group that trains together has to share by hand, and whoever doesn’t have the app is left out.
The goal
Put every run and lift in front of the whole group, in the chat they already use, without asking everyone to install an app.
Decisions
-
Build for the group, not the individual.
Every workout lands in a shared feed and on the group’s leaderboard, and a personal record is called out to everyone.
Why: the reason people train together is each other; a solo log gives them nothing to share.
-
Announce in the chat people already use.
Shortly after a member finishes a run, Fyt posts it in the group’s iMessage chat: the run, any personal records, where it moves them on the leaderboard, and a link to the full workout; a group can switch lifts on too. Everyone in the chat sees it, including members who haven’t installed the app.
Why: a new app is one more place to check; the group chat is already open.
Trade-off: the posts go out through Messages on a Mac that has to stay running.
-
Record on the wrist.
The Apple Watch app records a run with live GPS, pace, distance and heart rate, and sends the finished run straight to Fyt’s server.
Why: the watch is already on the runner’s wrist; the phone does not have to come along to record the run.
-
Upload in the background, but only what is yours.
Since September 21, 2026, a run finished on the Watch reaches Fyt without opening the app. Only workouts recorded by Fyt’s own Watch app and marked with the signed-in member are taken; workouts from other apps and devices still sync when the app is opened.
Why: a phone’s Health data can hold workouts that are not the member’s own, and a group chat must never hear about someone else’s run under the wrong name.
What I built
- The iPhone app (Swift, SwiftUI): live GPS run recording, a gym logger with sets, reps, weights and a rest timer, and workouts imported from Apple Health.
- The Apple Watch app: live run recording.
- The server and database (TypeScript, PostgreSQL): the API and the background jobs that import workouts, find personal records, update leaderboards and post to the group chats, hosted on Fly.io.
- The public website, fyt.life, with a shareable page for every workout, and a subscription tier through Apple.
Limits
- iPhone and Apple Watch only; there is no Android app.
- The background upload covers runs recorded with Fyt’s Watch app; other workouts sync when the app is opened.
- One other person has contributed code to Fyt.
Result
370+ users
As of September 2026 · Fyt’s production database
5.0 from 9 ratings
On the App Store
438 workout posts
In group chats since May 2026 · Fyt’s production database
25 updates
Since launch, the latest on September 21, 2026 · the App Store version history
Fyt is live, people use it, and I keep shipping updates.
Contact
Want an app built, or to talk through how this one works? Email me at hanjames1999@gmail.com; I reply within one business day.