Casita Amarilla is an hourly hotel in Barcelona for couples — Carrer de Pàdua 83, rooms from €30, discreet, open all year. Booking is a phone call. The website they had was genuinely old: dated, slow, and built for a visitor at a desk rather than the one they get, standing outside with a phone in one hand. What they have now is a prerendered static site in 20 languages, with a blog that keeps publishing and a marketing stack that reports on itself weekly.
Client work. Clutch Developer built and runs the website, the marketing stack and the internal tooling. The business belongs to Casita Amarilla.
What we shipped
- A static, prerendered site. Eight page types — home, rooms, rates, location, FAQ, contact, about and the blog — built with Vite, hosted on Netlify with edge caching. Twenty languages (ar, ca, de, el, en, es, fr, hi, it, ja, ko, nl, pl, pt, ro, ru, sv, tr, uk, zh) picked by edge language negotiation, with a cookie so a visitor's own choice sticks. Strict Content-Security-Policy, HSTS, no framing, Cloudflare Turnstile on the contact form.
- Mobile-first layout. Most visitors arrive on a phone, so a persistent call-to-book button follows them down the page, and the rates table, the room galleries and the blog cards are laid out for one-thumb use.
- A content agent. An AI agent drafts and publishes posts to the site's notes blog — the recent ones are price guides, Sant Jordi, summer and couples — and applies small copy and site changes.
- SEM with a weekly report. Google Ads, with analytics and ad conversions tracked end to end, so the report ties spend to the calls it generated rather than to impressions.
- An internal tool for reception. Quick templates for answering emails and reservation requests: pick a template, fill in the details, send.
Phone-first, because the booking is a phone call
The conversion here is not a form submission, it is someone dialling. That narrows the design question: how few taps between landing and having the number ready? So the book button is persistent rather than parked in a header the visitor has already scrolled past, and it is on every page type, because the decision can happen on the rates table as easily as on the home page.
The rates table was the interesting piece. Three columns — Sunday, Mon–Thu, Fri & Sat — is a lot of grid for a phone, and the only number a visitor cares about is the one that applies right now, so that is the one the table highlights. Rooms and blog follow the same rule: one column, large targets, no hover. And the site feels different from the old one for an architectural reason, not a tuning pass: static HTML at the edge instead of a server rendering every request.
The site keeps publishing without a meeting
The blog is written by an agent. It drafts and publishes the posts, and it makes the small copy and site changes that would otherwise wait for a spare hour. Everything it does goes through the same static build as everything else, so nothing bypasses the pipeline and every change lands as something a human can read and revert.
That discipline is the point rather than a side effect. Analytics are consent-gated: GA4 and Google Ads load only after the visitor accepts, and nothing before. The security headers are build output, not a setting someone remembers to tick. An agent changing a live site is only a good idea if the surface it touches is reviewable, and prerendering gives you exactly that.
Reception got the same treatment from the other direction: answering a reservation email should not be a writing exercise, so the internal tool turns it into picking a template and filling in the details. Small tool, used every day.
What it adds up to
The site is faster than the one it replaced, reaches visitors in their own language, and puts a booking call one tap away. The blog does not go stale between redesigns. The ad spend is accountable weekly, against calls rather than clicks. Reception answers faster with less typing. None of those are separate projects — they are one static build with a few things pointed at it.
This is the shape most of our web work takes: prerender the site so it is cheap and fast to serve, then automate what would otherwise need a person every week. Websites covers the build; Automation & integrations covers the agent and the internal tooling.



