Projects /Vivvia

4 agencies · 15 users CTO & co-founder · Company · 2025 — now

Vivvia

CRM and management software for real-estate agencies: clients, property portfolio, operations and multi-portal publishing.

  • Go
  • Next.js
  • PostgreSQL
  • Auth0

vivvia.es

captura / demo — slot
In production status
4 agencies · 15 users traction
CTO & co-founder my role

The problem

A real-estate agency runs on two assets that almost never live in the same place: its property portfolio and its client relationships. In practice, that information ends up scattered across spreadsheets, third-party portals, email threads, and whatever each agent keeps in their head. The outcome is familiar: stale listings, leads that go cold because no one follows up, portals published by hand one at a time, and zero visibility into what’s actually working.

Software for the sector tends to solve half the problem — either it’s a CRM that ignores the property, or a catalog that ignores the client — and usually at the cost of a heavy, expensive tool that a small team struggles to adopt.

My role

I’m the co-founder and CTO of Vivvia. My responsibility is the founding-engineer one: define the architecture, build the backend and integrations, and take the product from an idea to a system in production that a real business can depend on.

That meant owning the data model, the API design, authentication and access control, and the infrastructure and deployment decisions — as well as translating the business needs of a real-estate agency into a coherent product rather than a pile of disconnected features.

The process

We started from an agency’s real workflow, not from a feature list. Before writing product code, we modeled the domain — properties, contacts, deals, and their lifecycles — so the database reflected how the work is actually done.

From there, the rule was to build on boring, production-proven foundations: Go on the backend for its performance and concurrency model; PostgreSQL as the single source of truth; Auth0 so we didn’t reinvent identity or session security; and Next.js on the frontend for a fast, SEO-friendly interface. A clear API contract between backend and frontend kept both sides decoupled.

The solution

Vivvia is a SaaS platform that unifies both halves of the real-estate business in a single system: the property portfolio and the client relationship.

  • Property portfolio management — one system to create, edit, and maintain listings, keeping their status and lifecycle current.
  • Real-estate CRM — capturing and following up leads and contacts wired directly to the properties they care about.
  • Publishing and presence — take the portfolio to the agency’s public shopfront without duplicating work.
  • Secure accounts and access — identity and sessions handled with Auth0, with the access control a multi-role team needs.
  • Multi-language from day one — built for a market with several languages from the start.

Outcomes

Vivvia is in production, serving a real-estate agency’s full workflow — portfolio, clients, and publishing — from a single platform. It’s used today by 4 client agencies with 15 active users.

Metrics published with the partner’s sign-off; revenue figures are kept private.

Learnings

  • Modeling the domain first pays off. Spending time on how an agency really works avoided rewrites and kept the product coherent as it grew.
  • Boring foundations, ambitious product. Go, PostgreSQL, and Auth0 let engineering energy go into the customer’s problem instead of fighting infrastructure.
  • Don’t reinvent identity. Delegating authentication and sessions to Auth0 removed an entire category of security risk.
  • A clear API contract is what makes a two-person build work. Decoupling backend and frontend behind an explicit contract let us move in parallel without stepping on each other.