All projects

Retama client area

Retama's clients do not have to write in to find out how their project is going. They sign in with an invitation and a passkey. Inside they see progress phase by phase with the decisions explained for them, and they talk to the studio in one conversation per project. The interesting part is behind it: nobody updates that progress by hand.

Year
2026
Stack
Astro 7, Cloudflare Workers, D1, WebAuthn, MCP
Cover of Retama client area
68changes closed with ospec
10ADRs
12MCP tools
UEdata and files

How it works

The client area

It is a server-rendered Astro app on Cloudflare Workers, with the database and files stored in the EU. You only get in by invitation: the link works once and expires after seven days, and the person registers a passkey instead of a password.

Each project shows its phases with what the client will be able to do once they are done and what Retama needs from them, the documentation with the reason behind each decision, quotes and invoices as PDF, and a conversation with the studio.

Each client only sees their own data. A mandatory access layer takes the organization from the session, never from the request, and someone else's resource answers exactly like one that does not exist. Every write is stored together with its entry in an append-only audit log.

Progress comes from the repository

Retama's projects are built with Ospec-Workflow, so every change goes through the ospec CLI and is recorded with its evidence. When a change reaches the integration branch, CI runs ospec snapshot, which gathers the roadmap, the closed changes, the changelog and the texts written for the client into a versioned JSON document.

The repository publishes it with a credential that only works for that project, and the app validates it against its contract. If something does not fit, it rejects it and the client keeps seeing the last good version. The app never reads the repositories.

The state of each phase comes from git. It is in progress when its change opens, moves to testing when it is merged and to production with its release. The client sees the same thing as the team without anyone having to remember to update anything.

Retama's playbook

On top of ospec sits a private playbook: a Claude Code plugin marketplace with the studio's rules, from privacy to how work is delivered, plus audited skills for design, writing, SEO and Cloudflare. Every work session starts with those rules loaded, whether the project is our own or a client's.

The split is deliberate. Whatever is generic lives in Ospec-Workflow, which is open and useful to anyone. Whatever belongs to Retama, such as the client area contract or the brand, stays in the playbook, which names the ospec commands and requires a minimum version but never replaces it.

One of its skills onboards a project into the area: it creates the organization and the project with their invitations through the connector, and then checks that the first snapshot has arrived.

Managing it from Claude

The app itself exposes an MCP server with OAuth 2.1 that only the studio can authorize, always with its passkey. Queries are direct. Any change, such as replying to a client or marking an invoice as paid, takes two calls: the first shows what will happen and returns a code that expires within minutes, and the second runs it together with its audit entry.

That closes the loop. The client asks for something, the agent builds it under ospec with the playbook's rules, CI publishes the progress, and the client sees it in their area and replies from there. The client area itself is built the same way and publishes its own progress to itself.

Next projectFinanzas Snake