- 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.
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.

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.
-
Become payout-ready
The professional completes identity and bank-account setup before collecting money.
-
Register a client
Tenant-scoped client records become the source for charges and recurring arrangements.
-
Create the charge
PIX, boleto, and card flows expose the exact platform fee before confirmation.
-
Reconcile payment state
Provider events move payments through explicit, replay-safe lifecycle transitions.
-
See the business
Payment history and earnings turn transaction state into an actionable monthly view.
Engineering judgment
Decisions that shaped the system.
- 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.
- React Delivers the responsive workspace for onboarding, client operations, charges, and earnings.
- TypeScript Keeps shared UI, API, payment, and tenant contracts explicit across the full-stack workspace.
- Hono Exposes typed product APIs while keeping payment and tenant rules inside focused services.
- Vite Powers the dashboard and admin SPAs with fast development and production builds.
- Astro Delivers the product's static marketing site with React islands where interaction is needed.
- REST APIs Defines versioned REST endpoints with consistent JSON contracts and OpenAPI documentation.
- Testing Covers payment, billing, authentication, tenant boundaries, routes, gateways, and UI components with automated tests.
- PostgreSQL Stores tenant-scoped professionals, clients, payments, subscriptions, fees, and lifecycle history.
- Drizzle Keeps the relational payment model and its migrations explicit across the monorepo.
- Vercel Supports production delivery of the customer-facing application and its web product surface.
- Docker Provides reproducible local infrastructure and containerized API deployment workflows.
- Nx Monorepo Coordinates multiple apps and shared packages with task-aware builds, tests, linting, and type checks.
- Better Auth Handles secure sessions across the marketing, dashboard, admin, and API subdomains.
- Stripe Powers the separate Free-to-Pro platform subscription lifecycle without mixing it with client payments.
Technology stack
- React
- TypeScript
- Hono
- Vite
- Astro
- REST APIs
- Testing
- PostgreSQL
- Drizzle
- Vercel
- Docker
- Nx Monorepo
- Better Auth
- Stripe