Martijn Aslander

November 19, 2025

Ik bouwde 6879 dagen na de lancering van de iPhone mijn eerste eigen app 🎉

29061ACD-7C1E-4CBE-ACB8-DBA5CBF3726C.png


Toen ik in januari 2007 met Sanne Roemen in San Francisco was voor een boekenproject, belandden we toevallig op Macworld. We waren nietsvermoedend aanwezig toen de allereerste iPhone werd gepresenteerd—een moment waarvan de gevolgen pas veel later echt duidelijk werden, zowel positief als negatief.

CF697341-748B-4A79-BE45-55222490C536_1_105_c.jpeg


Vanaf die dag fascineerde het me hoe je zo'n apparaat zou kunnen inzetten om daadwerkelijk je werk te doen. In zalen waar ik spreek, vraag ik steevast wie zijn werk op zijn telefoon doet. De meeste mensen doen dat niet, zeker niet binnen grote organisaties. Ik blijf dat opvallend vinden. We zijn simpelweg niet gemaakt om dagenlang in gebouwen achter schermen te zitten. Zitten is het nieuwe roken; we hebben licht, lucht en beweging nodig. Een computer verplicht je tot binnen zitten, terwijl je met een smartphone juist overal kunt bewegen.

Mijn behoefte om overal te kunnen werken maakt dat ik scherp kijk naar alles wat mobiel kan: ideeën, kennis, informatie en contacten. Ironisch genoeg gebruik ik mijn telefoon vooral om te bellen—een onderschatte eigenschap van dat apparaat.

De eerste keer dat ik iets liet ontwikkelen voor iOS was de Easycratie app: de eerste Nederlandse app van een managementboek. Ik volgde de ontwikkelingen jaar op jaar, vooral rondom gezondheid, maar zelf code schrijven of een eigen app bouwen? Die stap leek me altijd te groot. De leercurve te steil, de gereedschappen te technisch.

Tot de afgelopen maanden. Dankzij AI ben ik in razend tempo de wereld van code binnengestapt. Sommigen noemen dat "vibe coding", maar mijn nieuwsgierigheid en vasthoudendheid hebben me inmiddels een heel eind voorbij dat stadium gebracht. Spelende wijs leer ik steeds beter welke vragen ik op welke manier moet stellen en welke woorden ik daar vooral bij moet gebruiken.

Mijn systeem Theta—een evolutie van het Omni-project waar ik op mijn veertiende op mijn Commodore 64 al aan werkte—begint nu echt vorm te krijgen. Afgelopen week had ik een off-day. Zo'n dag waarop je denkt: vandaag lukt niets. Dus ging ik weer naar bed. In dit geval in bad. Terwijl ik daar lag te mijmeren, ontstond er ineens een idee voor een iPhone-app.

Ik opende Drafts, sprak een half uur aan losse gedachten in, stapte het bad uit, ging terug naar bed en plakte de tekst in ChatGPT met de vraag om er een heldere structuur en basis van een functioneel ontwerp van te maken. Daarna voerde ik dat ontwerp door naar Claude Code in mijn terminal, en nog geen uur later stond er in Xcode een werkende app.

Tussen het idee in bad en een werkende app op mijn iPhone zat minder dan zestig minuten. 😳

Wat die app doet
De app die ik bouwde is een companion-app voor Theta. Hij heet Theta Mobile en maakt het mogelijk om onderweg informatie te vangen en terug te vinden op het apparaat dat ik het meest gebruik. Hij synchroniseert met mijn Theta-systeem op de laptop, dat op zijn beurt weer samenwerkt met mijn Obsidian-omgeving.

Zoals een "Wachten op" knop. Ik tik erop, vertel op welke informatie ik van iemand zit te wachten, en die wordt getrackt en gesynct met mijn systeem op mijn computer. Ik zie ook waar ik nog allemaal op zat te wachten—hij genereert automatisch een lijst. Met één druk op een knop kan ik een item een week, een maand of een kwartaal opschuiven. Vaak hebben dingen geen haast maar wil ik ze wel in de gaten houden.

Wat ook tof is: ik houd dagelijks een aantal statistieken bij voor mijn gezondheid, heel handig na mijn herseninfarct. Het uiterlijk en de functionaliteit van de app veranderen op het moment van de dag. Tussen vijf uur 's ochtends en half tien 's ochtends start de app met een hele andere interface, andere knoppen en andere waardes dan tijdens lunchtijd, aan het einde van de dag of in de avond om de dag af te sluiten. Ik heb niet eerder een app gezien waarbij de interface muteert op basis van het tijdstip en de intentie die daarbij hoort.

Ik was op bezoek bij de huisarts voor een periodieke controle en ik liet zien hoe ik een speciale plek in Theta Mobile heb voor gezondheidsstatistieken en hoe ik daar causaliteiten en correlaties kan laten zien. Met informatie over alcohol, koffie, slaap, slaapapneus, gewicht, bloeddruk en cholesterol. Met deze data in de hand kostte het weinig moeite om de huisarts te overtuigen om mijn medicijnen verder af te bouwen.

Het is ontzettend leuk om al die kleine optimalisaties te verzinnen. Ik ontdekte bijvoorbeeld dat ik in sommige gevallen om mijn waarde in te vullen beter een slider kan gebruiken dan een plus- of minknop voor een getal. Ik bouwde geavanceerde synchronisatiepagina's waarin ik exact kan zien wat wanneer waarmee gesynchroniseerd is.

Vaak als ik een lezing geef, bij een event ben of op bezoek ga bij iemand, neem ik een boek mee. Sommige boeken geef ik veel weg, zoals het boek Don't Push Me van Genieke Hertoghs. Hoe hou ik nou bij aan wie ik welk boek gegeven heb bij welke gelegenheid? Kan best handig zijn om na een tijdje te kijken wat ze ervan vonden. Ik heb een stuk of twintig specifieke situaties die veel voorkomen in mijn leven waarbij ik snel en moeiteloos iets wil vastleggen (met snel bedoel ik dus echt bloedsnel, secondenwerk), aan elkaar wil verbinden om het later terug te kunnen vinden. Dat heb ik nu gemaakt.

Hoe Theta Mobiel werkt.
Zowel mijn mobiele app als de lokale app op mijn Mac werken met dezelfde structuren en output als Obsidian, waar ik een boek over schreef. Dat betekent dat entiteiten en gebeurtenissen volgens mijn ontologie worden opgeslagen in de database. Bij een export kan ik de data uitlezen in Obsidian, waardoor die automatisch gelinkt is aan van alles en nog wat. Dit klinkt vast iets te technisch voor de leken, maar Obsidian-gebruikers weten exact waarom dit handig is.

Ik maak dus extreem hergebruik van zaken die veel voorkomen. Ik denk dat het in ieders leven zo is: er zijn locaties, plaatsnamen, gebeurtenissen, personen en organisaties die vaak terugkomen. Mijn systeem is zo gebouwd dat de meest voorkomende zaken heel snel geladen worden, wat mijn systeem bloedsnel maakt.

In de praktijk praat ik in de terminal app van mijn Mac via Claude Code—die ik in de terminal draai omdat hij bestanden kan manipuleren—via spraakcommando's met Wispr Flow. Het enige wat ik hoef te doen is mijn duim op de functietoets te houden om de spraak te activeren. Die spraak wordt in platte tekst omgezet als een gesprek, een idee, een vraag of een opdracht, en voert Claude Code die uit. Omdat ik heel veel stukjes code slim hergebruik kan ik gewoon zeggen: joh, op pagina twee die zo en zo heet moet je die tegel met die knop en die emoji even veranderen in dat en dat. Een minuut later is het klaar, ongekend.

Wat dit betekent voor kijken naar informatie-liquiditeit
De afgelopen weken merkte ik dat ik een paar dingen te pakken had die verder reiken dan alleen functionaliteit. Na een paar gesprekken met de beste geeks die ik ken kreeg ik vragen of ik de code niet op GitHub wilde zetten, zodat anderen erop konden voortbouwen. Wellicht een leuk idee! Dit is gebouwd voor mijn eigen werkprocessen, mijn eigen ritme, mijn eigen manier van denken en werken. Juist doordat bestaande apps mij nooit gaven wat ik nodig had, ben ik dit zelf gaan maken. Maar wellicht dat mensen er leuke variaties van kunnen maken waardoor ik ook weer op nieuwe ideeën kom.

Deze hele ontdekking en ervaring leverde nieuwe inzichten op in hoe software werkt, waarom code soms nodeloos ingewikkeld lijkt, en hoe anders het kan wanneer je vertrekt vanuit je eigen denk- en werkproces. Ik heb het gevoel dat er op het snijvlak van persoon, informatie en code nog een wereld aan potentieel verborgen ligt. Dat vermoed ik al jaren, maar nu zit ik er midden in. Geweldig!

Dit alles sterkt me in de gedachte dat we nog veel meer moeten spreken en denken over informatieliquiditeit. Hoe kunnen we informatie die we hebben bloedsnel, in seconden, op de goede manier in het juiste format kopieerbaar maken, zodat we het kunnen delen met een ander, die er dan mee verder kan qua puzzelstukjes? Ik merk dat bijna alle apps die ik gebruik wel een export functie hebben. Maar ik bedoel iets veel geavanceerders en tegelijkertijd simpelers. Dat ben ik nu aan het bouwen.

Die dag werkte ik van 's ochtends vroeg tot middernacht door, zonder moe te worden. Het voelt alsof mijn gereedschapskist in één klap tien keer zo groot is geworden. En ik ben nog maar net begonnen.

Als dit nu al lukt—wat kan ik dan over drie maanden? Of over drie weken? To be continued 💪

Hier een 📇 Indexblog over mijn ontdekkingen over eigen code maken met AI.

About Martijn Aslander

Technologie-filosoof | Auteur | Spreker | Verbinder | Oprichter van vele initiatieven

Momenteel vrolijk druk met Digitale Fitheid 

De leukste dingen die ik momenteel aan het doen ben: https://linktr.ee/martijnaslander en https://linktr.ee/digitalefitheid