Noah LamontMe contacter
Retour aux projets
2026·iOS · App Store·Solo — design, dev, ship

WaitTimes

Tracker iOS local-first des temps d'attente — chrono néon, catégories, équivalences absurdes, trophées et widgets Home Screen interactifs. Pour rire de sa patience plutôt que la subir.

SwiftUISwiftDataWidgetKitApp GroupsSwift
WaitTimes · case study
01

Contexte

App iOS solo publiée sur l'App Store. Cible : la communauté du quantified self / self-tracking, mais avec un angle volontairement humoristique plutôt que productiviste. Aucun serveur, aucun tracking utilisateur.

02

Problème

La plupart des outils de tracking sont sérieux et culpabilisants — ils transforment la donnée en jugement. Beaucoup veulent tracker leur vie mais décrochent au bout de deux jours parce que c'est trop austère.

03

Solution

App entièrement local-first (SwiftData), chrono néon, citations sarcastiques, dashboard avec équivalences absurdes (« vous auriez pu regarder 3 films »), trophées débloquables, widgets Home Screen interactifs pour démarrer/arrêter un timer en un tap, rappels intelligents si on oublie de stopper.

04

Défis techniques

Défi 1

Local-first sans analytics

Aucun serveur, donc aucune analytics : chaque erreur de design se vit en aveugle. SwiftData pour la persistance, App Groups pour partager l'état avec les widgets, tout doit être correct du premier coup.

Défi 2

Widgets interactifs qui restent à jour

Démarrer ou arrêter un timer depuis le Home Screen demande de synchroniser l'état entre l'app, le widget et le système. Architecture autour d'App Groups + AppIntent pour les actions widget iOS 17+.

Défi 3

Faire d'un tracker ennuyeux un jeu

Le tracking pur s'épuise vite. Trophées, équivalences absurdes, dark mode néon + haptics : on ne demande pas à l'utilisateur d'être productif, on lui propose de rire de lui-même.

05

Apprentissages

  • Une app de tracking ne survit que si elle a un ton — la data brute ne fidélise personne.
  • Local-first force à designer sans filet : sans analytics, chaque écran doit être bon dès la v1.
  • Les widgets ne sont pas un accessoire — sur iOS, ils sont souvent la vraie interface de l'app.