All projects
Own product

Nutri Suite

Multi-tenant SaaS for nutrition practices: clinical records, appointments, meal plans and a per-professional online store.

Role
End-to-end full-stack development
Year
2025
Status
In production
Client
Own product
View live
Multi-tenant
strict isolation
EHR
digital clinical records
E-commerce
built in per centre
Refactor
from Pilates to Nutrition

Overview

Nutri Suite lets multiple nutrition centres operate independently on a single platform. Each centre signs up, gets its own public landing page, customises its brand and manages its whole business: practitioners, patients, appointments, clinical records, meal plans, product sales and payments.

Context

The problem

Nutrition practices keep clinical records on paper or in loose documents, scheduling over WhatsApp and payments by hand. There is no continuity between the consultation, the meal plan handed over and the patient's follow-up.

The solution

A platform where the consultation, the plan and the follow-up live in the same place, with a self-service portal for the patient and a built-in online store so each professional can sell their products.

What it does

Clinical records and consultation notes

A dedicated domain model for the clinical record, with per-consultation notes and traceability of the patient's progress.

Patient self-service portal

Patients access their appointments, meal plan and follow-up without depending on the practitioner.

Online store per centre

Each professional gets a built-in mini e-commerce, with payments through Mercado Pago.

Per-tenant branding

Public landing page at /c/:slug with each centre's own logo and colour palette.

Technical decisions

  1. 01

    A vertical refactor, not a new product

    The project started as a management system for a Pilates studio and was refactored into a multi-tenant SaaS for the nutrition sector. The domain model was rewritten — clinical records, notes, plans, e-commerce — reusing the tenancy, auth and payments infrastructure already proven in production.

  2. 02

    Strict per-tenant isolation

    Each centre operates on completely separate data, with validation in the access layer and a global whitelist in the ValidationPipe.

  3. 03

    PostgreSQL with pgvector

    The database runs on the pgvector/pgvector:pg14 image, leaving the infrastructure ready for semantic search over clinical and meal-plan content.

Stack

Backend

  • NestJS 9
  • Node.js 20
  • TypeScript
  • Monorepo nest-cli
  • Webpack + HMR

Data

  • PostgreSQL 14
  • pgvector
  • TypeORM 0.3
  • Migraciones versionadas

Auth

  • JWT
  • Passport (local + JWT)
  • bcrypt
  • class-validator
  • ValidationPipe global

Frontend

  • Angular
  • TypeScript

Infra

  • PostgreSQL (Neon)
  • Netlify
  • Interserver
  • Mercado Pago

Next project

AppBuilder