Projects /Vivvia

In production CTO & co-founder · Company · 2025 — today

Vivvia

CRM and management software for real-estate agencies: clients, property portfolio, operations and multi-portal publishing. Built by Vivvia Tech, the company I co-founded.

  • Go
  • Next.js
  • PostgreSQL
  • Auth0

vivvia.es ↗

Screenshot of the Vivvia homepage
In production status
4 agencies · 15 users traction
CTO & co-founder my role
2025 started
spec sheet Vivvia
my role
CTO & co-founder
type
Company
dates
2025 — today
stack
Go · Next.js · PostgreSQL · Auth0
status
In production
web
vivvia.es ↗
milestones 2025 — today
  1. i Model the domain before the product Properties, contacts and operations — and their lifecycle — before writing the first screen. 2025
  2. ii Identity delegated to Auth0 Authentication, sessions and role-based access control kept out of our own code.
  3. iii Portfolio and CRM in one system The two halves of the business, the property and the client, stop living in different places.
  4. iv In production with real agencies Portfolio, client follow-up and multi-portal publishing from a single platform. today

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.