Latest
-
16–23 minutes
We have a domain model, a persistence layer, and a CI pipeline that keeps things honest. But task-cluster can’t do anything useful yet — it has no way to accept requests. In this post, we will take a massive step towards that. We’ll design an OpenAPI specification, wire up Apple’s swift-openapi-generator to produce type-safe server…
-
14–20 minutes
Coming off the back of creating our domain objects and data layer, things are going well and it’s tempting to power on to the next feature. But if you’re like me, you just committed the changes from last time directly to the main branch. That’s manageable for simple, early changes – but it becomes increasingly…
-
8–13 minutes
In the previous post, we talked about why Swift, why OpenAPI, and why DynamoDB. Now it’s time to start building. In this post, we’ll create the data layer for task-cluster: the domain model, a repository protocol for storage abstraction, and a DynamoDB implementation. I’m building this with the help of an AI coding agent, so…
-
16–24 minutes
This is the first post in a series where I’ll document the development of a distributed application designed to run in the cloud from scratch. We will start small with just a task management service called task-cluster. While it’s a useful thing in its own right – an API for submitting, prioritising, tracking, and cancelling…