A minimalist habit tracker for iOS.
Everyday is the iOS client of a small full-stack side project. It lets you keep track of daily habits, mark them as done, and watch your streaks grow. The design leans on plenty of whitespace, a serif display face, and a curated warm palette so the app stays out of the way of the thing it's tracking.
- iOS 17+
- Xcode 16+
- A running instance of the Everyday backend (NestJS + Prisma + Postgres).
- Email/password authentication (JWT).
- Create, edit and delete habits with a custom accent color.
- Mark habits as done for the day.
- Contribution grid, current streak and longest streak per habit.
- Today progress card on the home screen.
- SwiftUI (
@Observable,NavigationStack, sheets with detents). URLSession+async/await.- Keychain for JWT storage.
- No third-party dependencies.
HabitTracker-IOS/
├── Models/ Codable structs matching the API
├── Services/ APIClient, AuthService, HabitsService, Keychain
├── Views/ SwiftUI screens and reusable components
├── Theme.swift Colors, fonts and design tokens
└── ContentView.swift, HabitTracker_IOSApp.swift
- Off-white background (
#FAFAF7) with near-black text (#0A0A0A). - Serif display face for headings, SF Pro for body.
- Each habit picks an accent color from a curated palette.
- Detail view opens as a large sheet with drag handle.
Source: HabitTracker-API.
The API exposes /auth/* and /habits/* endpoints, protected by JWT.


