Sla over naar inhoud

Winter

Open-source app voor iPhone en iPad waarmee zweefvliegers hun onderhoudsuren in twee tikken registreren, ook offline, en doorsturen naar zweef.app.

AI-assisted

Voor

BZC

Stack

iOS · Swift · SwiftUI · Xcode Cloud

Rol

Developer

Jaar

2026

Status

Actief
Winter

Elke winter ruilen de zweefvliegtuigen de lucht in voor de werkplaats. Clubleden zijn de club dan een aantal onderhoudsuren verschuldigd, aan de toestellen en aan de lier, en bij mijn club horen die uren in zweef.app thuis, waar het bestuur ze goedkeurt. Om ze daar te krijgen, moest iemand inloggen en achteraf uit het hoofd begin- en einduren intikken.

Winter maakt daar een gedeelde iPad aan de muur van de werkplaats van. Leden loggen niet in: ze tikken op hun naam om een timer te starten en nog eens om te stoppen. Kiezen waaraan ze werkten is optioneel en gebeurt uit de eigen materiaallijst van de club in zweef.app. Internet in een hangar is onbetrouwbaar, dus alles blijft op de iPad tot iemand op Uploaden tikt. Timers die bij het sluitingsuur nog lopen, stoppen vanzelf, en iedereen kan een timer stoppen die iemand anders vergeten is.

Voor ik veel code schreef, legde ik de specificatie en de beslissingen erachter vast: intussen eenentwintig korte decision records, die elk uitleggen waarom iets werkt zoals het werkt. Ik bouwde de app met Claude Code, en die documenten bepaalden de koers.

Bij het testen van de zweef.app-API tegen een echte club dook gedrag op dat niet in de documentatie staat. Het endpoint voor de clubnaam geeft een serverfout en dat voor onderhoudsperiodes bestaat niet, dus typt de club zijn naam zelf in tijdens de setup en leidt de app de periode af uit bestaande registraties.

De moeilijkste afweging was de API key. zweef.app kent geen keys met beperkte rechten, dus de key op die iPad opent het volledige account van de club. Een proxy ertussen heb ik overwogen en uiteindelijk niet gebouwd. De key staat in de Keychain, en de setup zegt duidelijk wat hij openzet en hoe die te vervangen is als een iPad zoekraakt. Om dezelfde reden kan App Review geen echte key krijgen, dus heeft de app een democlub die iedereen vanaf het eerste scherm kan openen.

Het is een native SwiftUI-app voor iOS en iPadOS 26 met SwiftData en Swift 6 strict concurrency: één universele app voor iPhone en iPad, in het Nederlands, Frans en Engels.

Resultaat

Winter ging in minder dan een week van eerste commit naar App Store-inzending. De app is open source onder de MIT-licentie en werkt voor elke club op zweef.app; de setup vraagt een API key en ongeveer een uur. Deze winter is het eerste seizoen in de werkplaats van mijn eigen club.

iPad

iPhone