< back to work > case_study

> · featured

Murako

Murako: architecture studio, Rzeszów

Marketing site for an architecture studio that designs houses people actually want to live in — built on Astro with a Keystatic Cloud editorial workflow.

Stack

  • Astro
  • React
  • TailwindCSS
  • Keystatic Cloud
  • Contentful
  • Resend
  • Cloudflare Turnstile

Engagement

  • statuslive
  • modelretainer
  • since2026
  • > solo build, then ongoing maintenance and content tooling

Murako is an architecture studio in Rzeszów (PL) designing residential and multi-family buildings. The site is the studio’s public-facing front door — projects, services, team, FAQs, and a contact form that has to actually convert without feeling like a contact form.

Built on Astro 6 with Tailwind 4. Content is split between Keystatic Cloud for the editorial bits the studio updates regularly (projects, team, services, FAQs) and Contentful as a fallback for legacy content. Statically generated where possible, with a couple of dynamic API routes for the parts that have to hit a server.

~/murako

$ tplocic stats

  • lines of code 5 180
  • keystatic collections 8 (29 entries)
  • api routes shipped 1
~/murako
TODO: hero / above-the-fold of murako.pl showing the studio's identity and type treatment

The interesting parts:

  • Two CMSes, one content layer — a small loader in lib/content.ts reads from Keystatic first and falls back to Contentful, so the studio can migrate at their own pace without anyone touching code.
  • Contact form that takes itself seriously — Zod on the client, Zod again on the server, Cloudflare Turnstile to keep bots out, Resend to actually deliver the message, and origin checks because forms are how you get owned. Polish error copy throughout.
  • An “architectural” grid — services and projects use a deliberate wide / tile / tile / wide rhythm instead of a generic masonry. Looks intentional because it is.
  • JSON-LD without the boilerplate — a small buildMetadata() helper composes OG tags, canonical URLs, and structured data per page. Search engines get the right thing without page authors having to think about it.
  • Feature-flagged shop — a /sklep (“shop”) section is wired up but hidden behind ENABLE_SHOP=true. It’ll ship when the studio is ready, not before.
~/murako/projects
TODO: project detail page — editorial layout and image treatment

The site is in Polish. UX, validation, and CTA copy is written for the Polish market — not just translated.

Role

Solo build. Discovery, architecture, implementation, the editorial-config setup, and the boring DevOps middle. Ongoing maintenance and content tooling as the studio’s needs grow.

~/lighthouse
92
performance
100
accessibility
96
best practices
100
seo
run against production