New article weekly. No noise. Subscribe

Smokes

Smokes is a privacy-conscious iOS habit tracker released in 2023. I designed and shipped the app end to end, iterating on architecture choices and deliberately moving to a local-first model to keep costs low and privacy high.

Goal

Help users reduce smoking habits through structured tracking and clear visual feedback, with a strong emphasis on privacy and low operational overhead.

Stack

The app is built in Swift using SwiftUI and the Composable Architecture, with local persistence as the primary data model and a small Vercel-hosted API for delivering static educational content.

Key Decisions

Early versions explored a custom Swift Vapor backend to serve contextual facts and insights. After evaluating cost, complexity and long-term maintenance, I deliberately simplified the system to a local-first architecture, removing the backend and reducing operational overhead while preserving core functionality.

The app was rebuilt from an earlier UIKit prototype into a SwiftUI codebase structured around the Composable Architecture to improve testability, scalability and clarity as the feature set evolved.

Outcome

Published on the App Store in 2023 and still maintained. The project reflects multiple architectural iterations and deliberate tradeoffs rather than a single fixed design, including managing App Store submission, compliance and ongoing updates.

Further Details

Smokes is an iOS application I designed and built end to end, focused on habit tracking through clear visualisation and simple interaction. Over the course of development, the app went through several iterations as requirements and constraints became clearer, leading to a progressively simpler and more robust system design.

In addition to the core application logic, I set up lightweight CI/CD workflows to support iteration and App Store releases. The project served as a practical exercise in balancing product goals, architectural cleanliness and operational cost in a real, shipped application.

Related Articles

Thumbnail image for Why We Replaced Our Swift Backend with Vercel
July 31, 2025

Why We Replaced Our Swift Backend with Vercel

Smokes used to use a Swift backend hosted on AWS. Here’s why we replaced it with Vercel.

Thumbnail image for Building Smokes - From MVP to the App Store
July 20, 2025

Building Smokes - From MVP to the App Store

How a small smoking tracker app turned into a published SwiftUI project, and what I learned from it.

Project screenshot
Project screenshot
Project screenshot
Project screenshot
Project screenshot