← CASE STUDIES
Real Estate / Rent-to-rent · 2026

RENTA GALICIA

Custom multi-brand management panel for a rent-to-rent company in Galicia. Two brands, three roles, full accounting, recurring Stripe payments and an AI assistant.

PHP Alpine.js Stripe IA SaaS
Renta Galicia logo
CLIENT Renta Galicia
SECTOR Real Estate / Rent-to-rent
YEAR 2026
SERVICES Product design, backend & frontend development, payment integration, applied AI, deployment

The challenge

Renta Galicia manages rental properties in Galicia under two independent brands that share backend infrastructure but operate as separate businesses in the market. Both run on two different contract models — exploitation, where the company pays a fixed rent to the owner, and management, where it charges a commission on the property's income — and they needed a platform that reflected that logic without forcing the team to duplicate work across brands.

The brief was clear: one panel, two visible brands, three user types (admin, owner, tenant), and complete flows for property management, accounting, invoicing, recurring billing and support.

What we built

A multi-brand, multi-role panel that covers the full business operation:

SCREENSHOTS
Admin dashboard
Property management
Accounting
Tenant management
Tenant portal
Owner portal
AI assistant

Technical decisions

The stack is deliberately lean: PHP with PDO, MariaDB, nginx, Tailwind CDN and Alpine.js — no Laravel, no npm, no build step. Over 10,000 lines of PHP without a single heavy framework. That was a decision made with the client at the start, so any developer could open the project, read it and maintain it on their own VPS without external dependencies. Composer only for three strictly necessary libraries: dompdf for PDFs, stripe-php for the payment gateway and PHPMailer for SMTP.

Brand detection is resolved in the front controller by reading the HTTP host header. The router supports routes with the same path declared for different roles, which allows /incidencias to take a tenant to their portal and an admin to the back-office without duplicated code. Sessions cross subdomains via a shared session cookie domain, which is what allows an admin to impersonate a tenant and return to their own account in one click. Cloudflare in Flexible mode is handled from the start: the real IP and X-Forwarded-Proto are rewritten so cookies are marked secure and logs record the actual visitor IP, not the proxy's.

The AI layer uses function calling with 22 registered tools. Actions that modify data are blocked behind a confirmation flag: the assistant cannot execute anything without the admin explicitly saying yes, and deletions require double confirmation. Each call is logged in a usage table with tokens and estimated cost so the client always knows what they are spending.

Results

Stack & Architecture

Backend PHP · no framework · modular architecture · MariaDB
Frontend Tailwind CDN · Alpine.js · no build step
Payments Stripe · subscriptions · daily cron · off-session charges · webhooks
AI Function calling · 22 tools · confirmation gates · token cost tracking
PDF dompdf
Email PHPMailer · own SMTP · editable template system
Security 2FA · audit log · user impersonation · cross-subdomain sessions
Infra nginx · Cloudflare · real IP rewriting · cron for daily billing
HAVE A SIMILAR CHALLENGE?

We build custom platforms for companies that have outgrown spreadsheets.