Skip to main contentSkip to main content
Andrés Morales

Marketplace · multi-tenant SaaS · Bogotá, Colombia

El Gato Colectivo — same Barriotech codebase, themed for a different tenant

A second tenant on the same Barriotech platform, themed with its own identity — same architecture, same Leaflet map, same Wompi integration, just a different visual layer. The platform supports multi-tenant theming from one deployment, so adding a new tenant is a config change, not a code change.

El Gato Colectivo — same Barriotech codebase, themed for a different tenant

2025

Live since
2025
Region
Bogotá, CO
Tenants
2
New tenant
DB row

The problem

See proj1 / Barriotech case study — same architecture, same tech, same platform. The only difference is the tenant theme (logo, color palette, copy voice) and the domain (gatocolectivo.com vs barriotech.com.co). Adding a new tenant should not require a new deployment.

What I built

Multi-tenant theming from one deployment. The Next.js app reads the tenant from the subdomain (middleware extracts it from the Host header), looks up the tenant config in the DB, and applies the theme at render time. Adding a new tenant is: (1) add a row to the tenants table with the subdomain, theme tokens, and copy, (2) point the DNS to the same deployment, (3) ship. No new code, no new deploy. The same Leaflet map, the same Wompi integration, the same admin panel — just a different visual layer per tenant.

Hero — same architecture, themed for a different tenant.
Hero — same architecture, themed for a different tenant.
Catalog — same Leaflet map, same Wompi integration, different brand.
Catalog — same Leaflet map, same Wompi integration, different brand.
Map — same vendor pins, same radius filter, different visual identity.
Map — same vendor pins, same radius filter, different visual identity.

Results

2
Tenants
1
Deploys
DB row
Onboarding
Per-tenant
Theme

Scope & architecture

Multi-tenant theming — same deployment, different visual layer per subdomain
Tenant config in DB — logo, palette, copy, social links
Middleware extracts tenant from Host header at request time
Single Leaflet / Wompi / admin codebase shared across tenants
Adding a tenant is a DB row + DNS change — no code, no deploy
Same observability stack — logs, metrics, error tracking per tenant

Built with

Next.jsPrismaPostgreSQLTailwind CSSpm2Caddy
AI Automation · UI/UX · Production

Ship the thing.Skip the boilerplate.

Independent practice based in Cali. Automation flows, hand-built UI, and end-to-end web — for teams that would rather have it done than debate it.

Let's talk
2,014Est. 2014

From intake to deploy, the studio keeps work in one place: scope, design, build, ship. Briefs land on the desk, deliverables land on the client.

Andrés Morales

Book a free 30-min callor send a brief