National Youth System
Platform to manage a youth organization by territories and teams, with role-based permissions, a Kanban board, inventory and real-time chat.
- Client
- Alianza para el Progreso
- Year
- 2026
- Service
- Apps and software
- Role
- Full-stack technical lead
- Format
- Web platform
- Status
- In production

Coordinating teams and territories from a single platform.
The organization needed to manage its youth teams by region and province, coordinate tasks and schedules, keep track of its inventory and communicate in real time, with different access depending on each person's role.
A platform with a team hierarchy and real time.
We designed the infrastructure and the data model in PostgreSQL with Prisma 6, and built on Next.js 16 a system that covers territorial and team management, inventory, tasks and real-time communication.
Updates arrive through Server-Sent Events (SSE), without the overhead of WebSockets, and every module is protected with role-based permissions (RBAC).
What it includes
Interactive calendar
Monthly view with drag and drop, color categories and real-time sync.
Hierarchical management
Organization by regions and provinces, and teams with sub-levels.
Role-based permissions (RBAC)
Multiple roles, such as travel or finance, with differentiated access by module.
Group chat
Group messaging with files and voice notes.
Kanban board
Board to manage the teams' projects and tasks.
Audit log
Every create, update and delete is logged with the user and the time.
Stack and architecture
- Next.js 16
- TypeScript 5
- Tailwind CSS 4
- Prisma 6
- PostgreSQL
- Server-Sent Events
- NextAuth
- Zod
- Frontend
- Next.js 16 with TypeScript 5 and Tailwind CSS 4.
- Backend
- Authentication with NextAuth, role-based permissions and validation with Zod.
- Data
- Prisma 6 over PostgreSQL, with nested structures for teams and territories.
- Real time
- Server-Sent Events for chat and tasks.
What we solved
Real time without WebSockets
Server-Sent Events in Next.js to update chat and tasks with lower server load than traditional WebSockets.
Complex relationships
Recursively nested structures in Prisma 6 for teams and territories, with optimized queries that avoid the N+1 problem.
Full audit trail
Automatic logging of every create, update and delete, linked to the user and the time, for full traceability.
In detail
- Real-time updates
- SSE
- Access control
- RBAC


