Noxvi

A pilot multi-tenant SaaS that takes independent fitness professionals from client registration to payment collection and monthly earnings.

Role & scope: Sole technical owner: Product architecture and full-stack delivery, built end to end from zero across API, data, payments, infrastructure, and deployment.

Noxvi official product image showing its fitness payments proposition and earnings dashboard.

Read this first

The system at a glance.

What the product does
A business and payments workspace for independent fitness professionals in Brazil.
Who it serves
Independent fitness professionals who need one place to manage clients, collections, and earnings.
What makes it different
It combines the daily client workflow with replay-safe payments and split-at-source settlement without holding professional funds.
My contribution
Sole technical owner: Product architecture and full-stack delivery, built end to end from zero across API, data, payments, infrastructure, and deployment.
Proof point
The professional receives their share directly while Noxvi records only its fee.

Capability flow

How the system works.

Each step connects a user action to the system capability behind it.

  1. Become payout-ready

    The professional completes identity and bank-account setup before collecting money.

  2. Register a client

    Tenant-scoped client records become the source for charges and recurring arrangements.

  3. Create the charge

    PIX, boleto, and card flows expose the exact platform fee before confirmation.

  4. Reconcile payment state

    Provider events move payments through explicit, replay-safe lifecycle transitions.

  5. See the business

    Payment history and earnings turn transaction state into an actionable monthly view.

Engineering judgment

Decisions that shaped the system.

Constraint
The platform must facilitate payments without holding professional funds.
Decision
Model payment providers behind an adapter and split transactions at the source.
Why it mattered
The professional receives their share directly while Noxvi records only its fee.
Trade-off
Provider onboarding and payout status become first-class parts of the product flow.
Constraint
Every client and payment belongs to one professional in a shared database.
Decision
Carry the professional identifier through every tenant-scoped query and model payment changes as explicit states.
Why it mattered
Isolation and legal state transitions stay visible in the domain instead of depending on UI behavior.
Trade-off
Repositories and tests must enforce the tenant boundary on every new workflow.

Technical evidence

Skills backed by this system.

Open any skill to see the other products and professional work connected to it.

Technology stack

  • React
  • TypeScript
  • Hono
  • Vite
  • Astro
  • REST APIs
  • Testing
  • PostgreSQL
  • Drizzle
  • Vercel
  • Docker
  • Nx Monorepo
  • Better Auth
  • Stripe

Try the product

Open Product Lab or the live site.

Return to your stack comparison