I've been having some more spare time recently. Since I have been using coding agents at work for some time now, and in recent months have switched mainly to Codex, I wanted to see whether I could write a fully functional app from scratch without writing a single line of code and without looking at the code whatsoever.
I own a share in an airplane. Our group uses a rather old piece of software for bookings. It does its job, but... it feels very much like old software. So the idea was simple: build something more modern for our group, but do not force everyone to move at once.
For the time being, bookings in the new app work as a wrapper around the existing booking service. The old system remains the source of truth, and anyone who wants to keep using it directly can still do so. The new app just gives us a nicer, group-specific front end and adds the things around bookings that we actually care about.
Current status
The app is called Hangar Board. At this point it is no longer just a toy experiment. It is fully working.
The main pieces are:
- Bookings - view existing bookings, make new ones, amend them, cancel them, etc. There is a compact calendar which makes availability much easier to read and detects conflicts before submitting changes.
- Aircraft page - shows useful aircraft status in one place, including cached legacy booking-system aircraft details, serviceability, check dates, latest observed airport, latest flight, and reference speeds/limits.
- Aircraft tracking - integration with a third-party flight-tracking service whose data sources include terrestrial and space-based ADS-B. The returned flights and track-coordinate payloads are stored in a local database so users can view tracks on a map, get basic stats, export tracks in a format that can be loaded into Google Earth, and look back beyond the most recent live response window.
- Aviation weather - METAR and TAF for our home airfield, or any other airfield we want to query. This is another third-party integration.
- Documents - our group documents are already in a shared Dropbox folder, and I did not want to change that. Hangar Board integrates with Dropbox so users can view or download documents, while local copies can also be used by analytics and AI features.
- Notifications - WhatsApp and email integration for booking notifications, with users able to opt in.
- Checklists - checklists for different stages of operating the aircraft. This is implemented as an installable, offline-capable PWA using a web app manifest and service worker caching. On an iPad or iPhone it looks and behaves close enough to a native app: select the checklist, tick off the steps, and it still works without internet access.
- AI Hangar - a chatbot using the ChatGPT Codex backend, with some of our group documents and the POH available as context. Users can ask questions about those documents, and can also use AI to prepare or modify actual bookings through the normal booking dialogs.
- Roles - app admin, user admin, normal user, and limited user accounts for people who only need restricted access, such as maintenance users.
- Other small things - calendar feeds, light/dark theme support, analytics, admin health checks, logs, backups, and the usual bits that turn an experiment into something people can actually use.
Integrations
One of the most interesting parts of this experiment was that all of the third-party integration work was done by Codex. Aviation weather, aircraft tracking, maps, Dropbox, WhatsApp, email - Codex suggested which services to use, went and read the API documentation, and then wrote the integration code.
My role was basically to choose from the options it recommended. I did not read the API specs. I did not write the request/response handling. I did not wire the service layers. I just guided the product decisions and checked whether the resulting app behaved correctly.
Testing the UI
Another part that still feels slightly magical is that Codex could test the UI on devices by controlling Xcode simulators. It would start a simulator, open a browser, navigate the app, take screenshots, inspect what was wrong, adjust the UI, and repeat.
This was especially useful for the checklist PWA and iPad layouts. I did not have to manually resize windows, copy screenshots around, or describe every alignment issue. Codex could see enough of the rendered result to iterate.
Tests
Codex also wrote the test suite. There are now over 800 tests, and Codex runs them every time a code change is made. That part matters a lot, because once the app grew beyond a few simple pages, manual checking would not have been enough.
Workflow
For this work I have been exclusively using GPT-5.5 xhigh. The whole process has also been a lot of fun. Sometimes I was not even at my computer: I would use ChatGPT with remote Codex access, ask Codex to implement something, and then come back later to review the result. That still feels really cool.
Result
The app is still deliberately small-scale. It uses SQLite and a dependency-light Python web app. It probably would not scale well for some larger deployment, but that is not the problem I am solving. There are six of us. For that, it works very well.
The main goal has been achieved: I did not write a single line of code, and I did not read the code. The app is fully working and working well.
Frankly, although I did expect Codex to succeed, I also expected that I would need to intervene in small ways here and there. I thought I would need to fix some code manually, read a few awkward parts, or step in when an integration got messy. That did not happen.
That said, I do think my technical background helped. I did not write the code, and I did not read the code, but knowing how software, backends, APIs, authentication, persistence, testing, and deployment usually fit together made it much easier to ask the right questions, judge trade-offs, and notice when something needed another iteration.
Still, it feels like we are now very close to the point where an AI system can generate a fully working service like this for someone without that kind of technical background. Not a toy demo, but a real, useful, integrated application built around the way a small group actually works.
When I think about it, just several months ago this was not possible. And yet now it already feels natural, almost mundane, and I find myself taking it for granted.
Truly marvelous times we live in.
No comments:
Post a Comment