All cases
Case 01 · Eco-residential development

13 Cielos

The landing page shows which lots are still available the moment someone opens it. Behind it, a panel manages lots, clients, users and sales, and every buyer logs into their own portal.

4
Systems in one
Landing, panel, portal and importer
3
Campaign sources
Facebook, Google and TikTok Ads
24/7
Client portal
Balance, history and PDF receipts
Interface recreated with fictitious data.

The challenge

  1. 01Lot availability changes every day; a static list stops being true within hours.
  2. 02Leads came from Facebook, Google and TikTok campaigns, each with its own format.
  3. 03Buyers needed to know how much they had paid without calling the office.

What I built

Real-time inventory

The landing page listens to database changes: when a lot is held or sold, it updates itself.

Admin panel

Lots, clients, users and sales in one place.

Client portal

Total paid, outstanding balance, payment history per lot and PDF receipts. Temporary password with a forced change on first login.

Campaign import

Upload the Facebook, Google or TikTok Ads CSV; the system detects the platform and maps the fields.

Protected form

reCAPTCHA verified on its own backend before every lead is saved.

How it is built

Interface
  • Public landing
  • Admin panel
  • Client portal
Data and logic
  • Postgres (Supabase)
  • Realtime
  • RPC functions
Integrations
  • reCAPTCHA with Express backend
  • Campaign CSVs
  • Apache hosting
Stack
React 19TypeScriptViteTailwind CSS 4SupabaseRealtimeExpress

The outcome

Sales, administration and buyers work on the same data. It also became the blueprint for the next development: Los Cedros.

Next caseLos Cedros

Want something like this for your business?

Tell me what you need and I will tell you how I would solve it.

WhatsApp