cafaye
production · default project · k3s
SYNC STATUS
Synced
HEALTH
Healthy
REVISION
8a4f2d1
LAST SYNC
just now
the tension
The right tool is rarely the hard call. Living with it is.
So the stack drifts to the same compromise everywhere: the database you can operate alone, the monolith you can hold in your head — chosen not because it wins, but because anything better has to be paid for at every deploy, every upgrade, every 3 a.m. page. Nobody decided that. Everybody accepted it. The loop below is what acceptance looks like on a calendar.
Fig. 02the loop, and where it's cut
I build personal projects and client projects, and every time I catch myself building the same pieces again — sign-in, accounts, email, deploy. So I built them once, properly. Now every project starts with the stack already there, and I only build what's new. Cafaye is that stack, shared.
the reframe
Complexity was never a law. It was an unpaid bill.
Cafaye paid it once — the tenancy boundaries, the typed contracts, the mail path, the substrate, the upgrades — so the choice of tool goes back to being an engineering decision instead of an operations budget. Below: the work, exploded.
Fig. 03the once-work, exploded
The parts schedule — each one does one job
- IdentityGo
- Sign-in, sessions, two-factor, Google · GitHub · Microsoft · Apple, password resets, accounts, roles, invitations — and a full OIDC provider for your other apps.
- live
- GatewayGo
- One front door. It checks every token, limits by route and caller, and keeps the services behind it private.
- live
- CourierElixir
- Email that arrives. Verification, resets, invitations — with per-user preferences and unsubscribe support.
- live
- ParlorTypeScript
- The app shell: every sign-in screen, accounts, settings, and admin. The screens you would otherwise rebuild.
- live
- Deployment stack
- k3s, Argo CD, CloudNativePG, Redis, and the Grafana family — installed by one command on one box.
- with launch
All of it is running. None of it is a roadmap.
one typed contract
You only get to build it once, so each part is in the language that fits it.
- Go
- identity · gateway
- Static binaries. The keys and the front door want speed and few moving parts.
- Elixir
- courier
- Thousands of deliveries at once, without dropping one.
- TypeScript
- parlor
- The web, in the language of the web.
The parts talk over one typed contract, with SDKs in Python, TypeScript, and Ruby generated from the services' own schemas — so an agent reads the same contract the services enforce.
agents-first
Agents inherit your stack — every shortcut included.
Every interface simplified for human patience caps the agent working through it; an agent can only be as useful as the surface it is handed. The fix isn't a smarter agent — it's a better surface. This one is built for both: dev to production, secure by default, logs, rollouts, and backup drills over cafe mcp, read-only, with every change arriving as a commit you review.
Fig. 04the instrument, read-only
- argo status
- pod logs
- logql
- backup drills
- rollouts
Read paths are an agent's job. The write path is a pull request.
Nothing in the lens holds a write credential — the gate below it is the only way anything changes.
Create accountthe convergence
Every private copy is a bug nobody else can fix.
A thousand teams, a thousand half-solved versions of the same problem — each with its own patch list, nobody to compare notes with. The answer is not reuse for reuse's sake; it is convergence. Solve a problem once, with the tool that deserves it. Publish the answer where it can be pulled — yours alone, or everyone's. Let the next person improve the answer instead of restarting it. That is how the best tool stops being the luxury and becomes the default.
Fig. 05solve once, publish, pull everywhere
Everything above it is machinery. This is the point.
what exists
Three things exist. Everything else would be a promise.
The framework you build with, the pantry you publish to, and the box you own. That is the product, in full.
- F-01The framework
- cafe and kit — the CLI that renders and runs the stack, and the CI every service's gate runs in. You build with it, and it answers to your commits.
- P-01The pantry
- Where a solved problem is published and pulled: public or private, versioned. The same answer for every project that needs it, yours or anyone's.
- B-01Your box
- The server you bring. The stack installs onto it, your data stays on it, and we never host it.
The services — identity, courier, gateway — arrive as seeds: three problems already solved and published like anything else, there to be pulled, used, and improved. Take the machine and leave the samples; that was always the deal.
trust
One box, three commands. The box is yours.
Your hardware, your data, your keys — the design assumes we never touch any of the three. The box changes only through commits you review, and nothing in it phones home. Production use is licensed, not rented: this is not a SaaS with a different landing page.
Panel 1 · any server
Your machine. Your Postgres, your bucket, your keys.
Panel 2 · one command
curl -fsSL https://cafaye.com/box/install | bash
Nothing phones home. A hand edit to the box undoes itself — the only way it changes is a commit.
Panel 3 · the cluster
One box, running the substrate the services expect.
Fig. 06the substrate, assembled
curl -fsSL https://cafaye.com/box/install | bash
The whole substrate on one box: k3s, Argo CD, CloudNativePG, Redis, and the Grafana family.
the proof
Bare server in, working signup out — about two minutes.
The evidence, kept last on purpose — a benchmark is not a reason to care, but it is a reason to believe. One command on an empty server, real TLS, and a signup that crosses identity, courier, and back. The trace below is what this site does when you register; the capture beside it is live.
Fig. 07one signup, traced
how it's sold
Sold by the unit. Runs on your server.
A unit runs on your own box, and buying one changes nothing about where your data lives — your Postgres, your bucket, your keys. If you would rather not own the machine at all, Cafaye Ops runs the same stack for you at a flat monthly price, priced separately on the next sheet.
| Part no. | Part | Description | Price | Procure |
|---|---|---|---|---|
| CF-P1 | Platform | cafe and kit: the CLI that renders and runs your stack, and the CI every service's gate runs in. | $120/yr | Talk to us |
| CF-P2 | identity | Sign-in, sessions, accounts and roles, invitations, the OIDC provider, and two-factor. | $240/yr | Talk to us |
| CF-P3 | courier | Email that arrives — verification, resets, invitations, preferences, unsubscribe, and signed, retried outbound webhooks. | $240/yr | Talk to us |
| CF-P4 | All three | Every unit in one link, at less than the three bought apart. | $420/yr | Talk to us |
- Payment runs through a Stripe Payment Link. A human confirms the payment and grants the entitlement by hand, so access is not instant — there is no receipt page, no subscription portal, and no payment webhook yet. The entitlement runs one year; renewal is a second link. A unit whose Payment Link is not yet minted shows Talk to us instead, and that link reaches the same place a payment would: the people who grant entitlements.
- The code stays free: every repository is public, and buying a unit changes nothing about that. What a unit buys is the engineering around the code, not a license key.
- Viewing this site grants no right to use, copy, change, or share the software — rights beyond viewing need a separate written Cafaye agreement.
cafaye ops
The same stack, run for you.
The unit prices above buy the code — a one-year entitlement to one unit's engineering. The ladder below buys the operation: we run the stack, and the price is flat and monthly. Both are sold the same way — a Stripe Payment Link, and a human confirms each payment.
| Tier | What it means | Price | Procure |
|---|---|---|---|
| Self-host | Everything — the framework, the services, the runbooks — with community. You run it. | free | |
| Attended | A monthly report, proven backup restores, a secret inventory with rotation, the CVE surface, and the cafaye failure-mode library watching your box. We recommend upgrades; you apply them. | ~$200/mo(placeholder) | Talk to us |
| Managed | We patch, we apply within approved policy, and we hold the maintenance window. We watch with our own systems and respond on a stated schedule during business hours. | ~$500/mo(placeholder) | Talk to us |
| Managed HA | Multi-node, isolated, on a dedicated box — with a stated response window and a compliance export. | ~$1,200/mo(placeholder) | Talk to us |
Every paid ladder price is a placeholder until confirmed; the unit prices above are decided. Until a tier's Payment Link is minted, its button reads Talk to us and reaches us directly. There is no rotation: the response is a stated window, and outside that window your own alerting is the first responder.
the engagement
Your backend on your own infrastructure, in five working days.
Fixed scope, fixed price: $X (placeholder). We install the stack on your box, connect your app and your providers, and hand you a running system with the history to prove it works.
- The stack installed on your box — one command, the same one this site runs.
- Your app deployed once, through the same pipeline we use.
- Sign-in and email connected, and a real signup walked end to end.
- Not in scope: keeping it alive afterwards. That is the ladder above, and it is a separate decision.
If we do not deliver in five working days, you get a full refund. A discount for failing to deliver is the one thing we never offer; a refund is.
- Scope
- install · connect · hand over
- Deliverable
- a running box, and its history
- Duration
- five working days
- Price
- $X (placeholder)
- If late
- a full refund. Always.
- Sign-off
- a running box, and its history
the ask
Start with an account.
Create an account on this demo, verify the email address, and sign in to see your accounts.
