Bernie Solutions

Products / vaschego

vaschego

A service that makes it easier for associations, companies and municipalities to share common resources. You see right away what's free, book a slot and release it when you're done. I've built and run it since June 2026, and it's live at vaschego.se.

The admin overview in vaschego with bookings and occupancy
The admin overview for a made-up demo association, with six months of seeded demo data. Shown in Swedish.
A resource page on a phone with current status and free slots
The resource page you reach from the QR code.

Why it exists

The name comes from the Gothenburg dialect: "va så go", here you go. It's what you say when you hand over the key to the party room, the trailer or the hour you don't need yourself, and that's more or less the moment the service is built for.

Booking shared resources only works if absolutely everyone can use it, and someone always doesn't have the app: the tenant, the mother-in-law, the neighbour without an account. So the paper binder stays next to the app. In vaschego, whoever books needs no app and no account, and someone who finishes early can release their time so the next person sees it right away.

No app, no account

Every resource has its own page, reached through a QR code. It shows the current status, and the person booking never signs in or installs anything. Only admins have accounts.

When a booking changes, every open screen hears about it within about 200 milliseconds. The signal carries no data; the client fetches what it's allowed to see. That way anonymous visitors never read the tables directly.

Integrations

Events like a new booking go out to the association's own systems as webhooks, signed with HMAC. If a delivery fails, it's retried after 1, 5, 30, 120 and 360 minutes. Digital locks use the same setup, where a missed revocation would leave a door open. Anyone who wants to can also let an AI assistant book over MCP.

Settings for webhooks and the AI assistant (MCP) in the admin view
Webhooks and the AI assistant in the admin settings. Shown in Swedish.

Security

All anonymous writes go through functions in the database, and 48 tables have row-level security. A contract in SQL pins down exactly what an anonymous visitor may do, and 17 guard tests check things like associations never seeing each other's data. Migrations run against a local database and the tests before they reach production.

How I've worked

vaschego is the largest of the products, with just over 1,800 commits since June. I've written the code together with Claude Code, with a CLAUDE.md that holds the rules and seven CI workflows, including a check against production every six hours.