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.