Skinner
Multi-tenant SaaS for managing ABA clinics, built at Self Aplicações Tecnológicas para Saúde, Educação e Bem-Estar.
- Python
- TypeScript
- NestJS
- PostgreSQL
- React
- React Native
- AWS
- Stripe
This project is covered by confidentiality. The page describes only the technical nature of the work, with no internal details, data or proprietary code.
About the project
Skinner is a SaaS platform for managing the clinical operations of ABA clinics, covering patients, professionals, therapy programs, sessions, tasks, scheduling and progress tracking.
I worked on the development of the platform, mainly on the API and the business rules, and also took part in building the web and mobile applications.
Key technical challenges
- Multi-tenant architecture, with data isolated between organizations.
- Modelling complex business rules in the backend.
- Access control based on the organization and the user’s role.
- A decision engine managing the lifecycle of tasks and programs.
- Idempotent operations and concurrency handling.
- Scheduling and recurrence system.
- History and traceability of the changes made on the platform.
- Authentication and authorization across the application’s different clients.
- Stripe integration for payments and subscriptions.
- Web and mobile applications consuming the same API.
- Automated tests for business rules and critical flows.
Architecture
The API was built as a modular monolith, organized by business domain to keep coupling low and make the platform easier to evolve.
Critical rules are centralized in the backend to guarantee consistency across the application’s different clients.
The web frontend and the mobile app are structured independently, sharing the contracts and services exposed by the API.
Engineering
During development, I worked on problems involving:
- transactional consistency;
- concurrency and idempotency;
- multi-tenant isolation;
- relational modelling;
- authentication and authorization;
- integration with external services;
- unit and integration tests;
- incremental evolution of an application in production.
Outcome
The project gave me hands-on experience building and evolving a SaaS used in a real environment, covering API architecture, databases, business rules, web and mobile applications, payments and cloud infrastructure.
Confidential project. The information presented has been deliberately limited to general technical aspects, without exposing code, user data or internal product details.