Equipe Ruas
From a paper roll call to an app the coach opens right on the mat: attendance, stripes and belts for a Jiu-Jitsu social project with three classes in different neighborhoods.
- Role
- Product, UX and development
- Who uses it
- The coach, on phone and desktop
- Platform
- Installable app with notifications
- Status
- In production · in use
Screenshots use the system's own 20 demo students. No real student data appears here.
Promotions are only fair when the record is reliable.
Attendance on paper, stripes from memory and belt rules that depend on age and time. With classes in different places and times, deciding who was ready for a test turned into detective work.
The whole mat in the coach's pocket.
Roll call in seconds per class, a full profile for each student, promotion rules enforced by the system itself and documents ready to send to families. Works offline and syncs with a spreadsheet.
Dashboard
Next class, active students and automatic insights from the mat.
Students
Belt, stripes, sessions and status for each student, filterable by class.
Profile
A 3D figure wearing the student's belt, and the certificate one tap away.
Report
The month in numbers, by class, ready to download as PDF.
Built for the mat, not the office.
Promotion rules in code
Stripes by merit, up to 12 in the kids' system and 4 for adults, minimum time at each belt and minimum age for blue. The system flags who is ready.
Articulated 3D figure
Built with three.js: it wears the student's gi, belt and stripes, and spins with your finger.
PDF without a library
Monthly report and promotion certificate drawn on canvas and assembled into a PDF right in the browser, ready for WhatsApp.
Spreadsheet as a database
Google Sheets sync via Apps Script, per-device PIN and backup, with no expensive server to maintain.
An app that notifies
Installable on mobile, works offline and sends push notifications, with its own icon in the Android status bar.
Made for the coach's hand.
Roll call sits at the center of the navigation, the profile shows everything without breaking the layout, and the 3D figure spins with your finger, even on a basic phone.


- React 18
- three.js
- Canvas → PDF
- Google Apps Script + Sheets
- Web Push
- PWA · Service Worker
- Vercel