Case study / Self-initiated work

Building Drimini's first website.

We needed a credible public front door before we had client logos, case studies, or a finished company around it. So we made the constraints visible and treated the website as the first piece of proof.

Project
Drimini's own website
Status
Live and operated
Released
October 2026
Stack
Astro, TypeScript, Cloudflare Pages, D1

Build trust without pretending trust already existed.

The primary reader is a CTO considering an external team for difficult work. At launch, Drimini had no customer results, approved team roster, service packages, or finished visual identity to lean on. The site had to explain the offer clearly while refusing the usual shortcuts: fake scale, decorative AI claims, invented proof, or a contact form that went nowhere.

The working loop

Frame. Build. Harden.

  1. 01 / Frame

    Make the decision surface small.

    We fixed one reader, one primary action, three capability areas, and a direct voice. Static delivery, no analytics, and no CMS kept the technical surface proportional to a small launch site.

  2. 02 / Build

    Ship the whole path, not a facade.

    Astro produces a JavaScript-free homepage. The contact route uses a narrow same-origin function, Turnstile, server-side validation, and D1 storage. A local authenticated command handles inbox review; there is no public admin surface.

  3. 03 / Harden

    Test the risks the site actually has.

    The backend fails closed when storage or spam protection is missing. Automated checks cover submission behavior, the inbox lifecycle, narrow layouts, page weight, and WCAG 2.2 AA-detectable issues. A human submission was exercised from receipt through permanent deletion.

Small does not mean vague.

No client-side application shell

The homepage needs content and navigation, so it ships no browser JavaScript.

No automatic email pipeline

Enquiries land in D1. A person reviews them and replies through the existing mailbox.

No public admin page

Inbox access stays behind authenticated Cloudflare tooling instead of creating another attack surface.

No invented maturity

The provisional logo, missing client proof, and remaining company decisions stay labeled as such.

Current outcome

A live, owned starting point.

The site is live at drimini.com. Its enquiry path has been verified end to end, its operating routine has an owner, and its automated behavior and accessibility checks run before release.

What this does not prove: client results, market demand, or how the system behaves at a scale it has not reached. Those require future evidence.