Most backend projects do not become complicated all at once.

They start with a route or two. Then come configuration, authentication, storage, background work, health checks, logging, metrics, migrations, and deployment concerns.

Each addition is reasonable on its own, but over time the boundaries between them become unclear.

Application code starts knowing too much about storage. Background jobs depend on HTTP details. Health checks are implemented differently from service to service. Configuration is spread across constructors, environment variables, and framework-specific layers.

I built Arqen to give those concerns a clearer home.