Simplify the Todo App

Work from the brief alone. Write what you would produce — actors, requirements, data, a first slice, your unknowns — before opening anything below it; the exercise stops working if you read the reality first.

The brief you were given

A colleague proposes an architecture for a personal todo app for one user: Kafka for task events, Redis for caching the task list, Kubernetes for deployment, and five microservices — users, tasks, tags, reminders, search. Simplify it. For each component you remove, say what requirement would bring it back.

Your attempt

Nothing here is checked. It exists so that the reveal below is a comparison rather than a reading.

The trap — the move that looks like progress and is not

Replacing each component with a lighter one — RabbitMQ for Kafka, an in-process cache for Redis, Docker Compose for Kubernetes, three services instead of five. It looks like simplification and it keeps every unjustified layer; the why ladder was never climbed, and the architecture still answers a question nobody asked.

Read this even if you are confident. It is here rather than behind a button because it is the move most people actually make, it produces things that look like a project, and its cost arrives when the first hard requirement has nowhere to go.