About
Infrastructure should be
someone else's problem
Every team that ships software eventually rebuilds the same thing: a way to get a branch into production, keep it up, and let a colleague do the same. We built that layer once so you can get back to the part only you can do.
Where this came from
The tooling to run a container well has existed for years. What is missing is the assembly — the unremarkable work of wiring a build to a registry, a registry to a scheduler, a scheduler to a proxy, and a proxy to a certificate authority. Tedious, identical at every company, and load-bearing at 3am when it breaks.
Most teams should not be doing it. Not because it is hard, but because it is solved, and every hour spent on it is an hour not spent on the product your customers actually pay for.
What we are not
Maxlayer is not a Kubernetes distribution and has no ambition to become one. If you need custom schedulers, service meshes, or multi-region failover with a control plane per continent, you need a platform team and not us. We aim at the enormous middle: applications that need to build, run, stay up, and be handled by more than one person.
The shape of the product
A small surface for a complete release
Maxlayer is intentionally opinionated about the pieces a team needs every day, and intentionally quiet about the machinery underneath.
Start from what you have
Connect GitHub or GitLab, or point at a container image that is already built.
Choose the level of control
Automatic detection for the common case, a Dockerfile when you need it, and static output when no runtime is needed.
Keep state close
Provision supported databases beside the applications that use them, private by default inside the project.
Keep the AI on one key
OpenAI-compatible chat, embeddings, image and video generation, authorized by the key that deploys your apps and metered from the same prepaid credit.
Share the work clearly
Use membership roles for people and scoped API keys for the automation around a release.
Read back what happened
Build output, runtime logs, deploy history with attribution, and token usage beside the workloads that spent it.
Principles
What we optimise for
Defaults you can live with
The lazy path should also be the safe one. Secrets become write-only when you mark them that way, automatic builds work without a config file, and domains have a clear verification path instead of a scavenger hunt.
No black boxes
A failed build hands you the log, not a status code. A deploy records who asked for it. Infrastructure you cannot inspect is infrastructure you cannot trust.
Boring where it counts
Proven components over novel ones, every time. Your app is a container. No bespoke scheduler, no invented config format, and nothing underneath stranger than what you would have assembled yourself — only assembled already, and kept working.
An exit that works
Your application is a container built from your repository. Outgrow us and it runs anywhere else that takes containers. We would rather earn the next top-up than hold the door shut.
Want to argue with any of this?
We read everything that arrives at support@maxlayer.cloud , and reply to most of it.
Start with one app
Move something small first and see whether it fits, before you move anything that matters.
- GitHub + GitLab
- Container images
- OpenAI-compatible AI
- Pay as you run