Mobile app · 2026
TileHabit
TileHabit is a native iOS habit tracker built in SwiftUI. Every day is a tile: tap the ring and the grid fills in. It tracks build and quit habits with yes/no, count, or measured goals, keeps everything in Core Data on the device, syncs to Convex only if the user turns it on, and ships with WidgetKit widgets, App Intents for Shortcuts, and a StoreKit Pro tier. In App Store review.
- home screen widgets
- 3
- Shortcuts actions
- 7
- test suites
- 11
- Role
- Solo developer, design to store submission
- Type
- Independent product
- Platform
- iOS 15 and later
- Status
- In App Store review
- Stack
- SwiftUI
- Core Data
- WidgetKit
- App Intents
- StoreKit
- Convex


Overview
The tile grid is the whole idea. The overview shows each habit as a wall of day-tiles, weeks as columns, shaded by how much of the goal was done, so a glance tells you whether the habit is alive. Three dashboard views (card, compact, month) and a detail screen with twelve mini month-grids and a full calendar sit on the same data.
Habits can be built or quit. Build habits track yes/no, a count, or a measured amount against a daily goal with daily, weekly, or monthly streak targets; quit habits invert the shading, so a clean day is full and a slip is empty, and a streak can carry across quit periods. The streak engine is a pure value-type calculator that steps dates through Calendar so daylight-saving changes never shift a count, and it has its own test suite.
Privacy is the default: no account, Core Data on the device, and diagnostics that never contain a habit name. Cloud sync stays off until the user switches it on, then runs on an anonymous per-device key: every save is stamped and debounced up to Convex, subscriptions pull remote changes back, and the last write wins. Pro (monthly, annual, or lifetime through StoreKit) unlocks unlimited habits, charts, widgets, dashboard customisation, and file export and import.
Related:Resilify
What I built
- Tile grid overview with card, compact, and month views, category filters, and a weekly summary; a constellation view that draws habits as stars sized by strength.
- Build and quit habits with yes/no, count, or measure tracking, daily goals or stay-below limits, streak goals, reminders per habit (one free, three on Pro), and per-day moods and notes.
- Pure streak calculator and grid model with no Core Data or SwiftUI inside, covered by unit tests alongside sync, backup, export, notifications, StoreKit, and intents.
- Three WidgetKit widgets (one habit grid, one habit with a tap-to-complete button, compact list), configurable on iOS 17 and read-only back to iOS 15.
- Seven App Intents exposed to Siri and Shortcuts: mark completed, clear, increment, log an amount, log a note, get progress, open a habit.
- Optional Convex cloud sync on an anonymous device key with last-write-wins merging; JSON export and import with an automatic pre-import backup and daily snapshots.
- Habit chains, graduation to Life Habits after 100 days, 30-day challenges, a story timeline per habit, and ten achievement badges.
Screens
9 captioned views. Select any to enlarge.
Overview
4 views
01Card view
Each habit is a wall of day-tiles, weeks as columns, shaded by how much of the goal was done. The ring on the right logs today.
02Compact view
The last five days per habit, for people who track many.
03Month view
One month-grid per habit.
04Constellation
Habits as stars sized by strength, with chains drawn between stacked habits.
Habit
2 views
05Habit detail
Current, best, and total streaks, twelve mini month-grids, and a full calendar for editing past days.
06New habit
Name, icon, tile colour, build or quit, and how it is tracked: yes/no, count, or measure.
Pro, badges & categories
3 views
07TileHabit Pro
Monthly, annual, or lifetime through StoreKit. Free stays at four habits and one reminder per habit.
08Achievements
Ten badges, from First Tile to Anniversary.
09Categories
Twelve built-in categories plus custom ones; the overview filters by them.
Open to senior / lead roles · remote or relocating to Singapore
Hiring for a senior or lead role?
I take systems from requirements to production: mobile, web, backend, and AI agents. Tell me about the problem and I will reply within a day on weekdays.