Pressure, a workout streak app
Pressure is a weekly workout streak you keep with friends: it tracks runs and lifts, and its bot, runbot, posts each run in the group’s iMessage chat.
Result
380+ users
As of October 2026 · Pressure’s production database
5.0 from 11 ratings
5 reviews on the App Store
454 workout posts
In group chats since May 2026 · as of October 3, 2026 · Pressure’s production database
25 updates
Since launch, the latest on September 30, 2026 · the App Store version history
- 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.45, September 30, 2026
- Name
- Launched on the App Store as Fyt in July 2026 and is now being renamed Pressure. The App Store still lists it as Fyt until version 1.1 ships.
- Stack
- Swift, SwiftUI, watchOS, HealthKit · TypeScript, Fastify, PostgreSQL · Fly.io
The problem
Friends who run and lift together already talk every day in iMessage. Their workouts sit in separate apps built around personal logs, so someone has to post each one by hand. Members without the fitness app miss 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.
In the app
The website
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, pressure.fyt.life, with a shareable page for every workout, and a subscription tier through Apple.
Decisions
-
Give the group a shared record.
Every workout lands in the shared feed and on the group’s leaderboard. Personal records are called out to everyone.
Why: the group can follow each other’s progress in the same place.
-
Announce in the chat people already use.
Shortly after a run, runbot posts in the group’s iMessage chat:
- The workout.
- Personal records.
- Leaderboard changes.
- A link to the full workout.
A group can switch lifts on too. Everyone in the chat sees the post, including members without 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 Pressure’s server.
Why: the watch is already on the runner’s wrist; the phone does not have to come along to record the run.
Contact
Want an app built? I reply within one business day.
Or email hanjames1999@gmail.com