Casa Paraiso
Request-to-book site for a private residence in Uvita, with a calendar the owner controls
- Sector
- Vacation rental
- Location
- Uvita, Costa Rica
- Year
- 2026
- Role
- Design · Development · SEO

The brief
Casa Paraiso is a private residence on the Pacific coast in Uvita, offered for private stays by referral. Its website has two jobs: show the house properly, and give each guest a clear way to ask for dates.
We designed and built it end to end. Nine design directions came first, and one became the site. Then came a booking-request flow with a live calendar, a private admin area for the owner and an editor for photos and text. The site credits the house itself to Vista Arquitectos.
What we built
A calendar that stays current
Visitors pick check-in and check-out on a month calendar. Past days cannot be chosen, and dates the owner has blocked are struck through. Each time the calendar opens, it asks the server for the latest blocked dates.
Requests, not instant bookings
The form asks for a name, an email and dates. Each request reaches the owner’s admin first; then one email goes to the owner and one to the guest, with a reply promised within 24 to 48 hours. A request does not confirm a stay.
Admin that updates the calendar
Behind a login, the owner sees every request, sets its status, adds notes and sends the guest the matching email with one button. Confirming a request blocks its dates on the public calendar, and undoing it frees them. Dates can also be blocked by hand.
A site the owner can edit
Photos on the home, residence and contact pages, the room galleries and the local-experience cards are edited in Sanity Studio. Alt text is required on page and gallery photos. If Sanity cannot be reached, each page falls back to built-in content.
Photos that load light
One home-page photo is stored at 8192 pixels wide, yet modern browsers get resized AVIF copies. Scrolling the whole home page on a desktop screen loads 21 photos that add up to under 800 KB, and none is over 150 KB.
Ready for Google and WhatsApp
Each page has its own title, description, canonical address and 1200 by 630 share image for WhatsApp previews. Structured data describes a vacation rental with four rooms, seven amenities and check-in times, and robots.txt tells crawlers to skip admin and API pages.
Results
- from first commit to booking requests, admin, editor and domain
- 22 days
- dates blocked on the public calendar when a request is confirmed
- Auto
- of photos loaded by the whole home page on desktop: 21, all AVIF
- <800 KB
- photos on the four live pages carry alt text
- All
- for each request: one to the owner, one to the guest
- 2 emails
Gallery








Stack
- Next.js
- React
- TypeScript
- Tailwind CSS
- Sanity
- Resend
- Framer Motion
- GSAP
- Vercel
