IA Systems & Data
Apps and softwareWeb platform

Mesa Digital

Real-time ticketing platform that brings together the requests of UCV's Digital Resources Office, with notifications, a calendar and a knowledge base.

Client
IA Systems & Data
Year
2026
Service
Apps and software
Role
Full-stack technical lead
Format
Web platform
Status
In production
Mesa Digital cover, the workspace for organizations
01 · The challenge

Nobody should have to ask how their request is going.

The Digital Resources Office at Universidad César Vallejo needed a single channel for the requests it receives, with the progress of each one in plain sight, delivery dates and the team's documentation at hand.

02 · What we did

A real-time ticketing platform.

We built the frontend in Next.js 16 with a GitHub-inspired interface (Issue-style lists and detail, dark theme) and the backend in NestJS 12, with authentication, tickets, areas, notifications and real-time modules that talk through domain events.

The platform supports multiple organizations, configurable roles (Director, Coordinator, Member), a Kanban board synced over WebSocket, ticket auto-close, grouped notifications with quiet hours, a delivery calendar and versioned documents with checklists.

03 · Features

What it includes

  • Real-time Kanban

    Ticket board synced over WebSocket across every connected user, from creation to closing.

  • Multiple organizations

    Each organization is identified by its users' email domain, and requests can be routed between areas.

  • Grouped notifications

    Live bell and Web Push: several changes within minutes produce a single alert, with configurable quiet hours.

  • Delivery calendar

    Month, week and agenda views with drag and drop; deliveries come from tickets and recurring custom events can be added.

  • Knowledge base

    Documents with a rich editor, versions, Spanish-language search and checklists run straight from the ticket.

  • Indicators dashboard

    Cached indicators, historical series, breakdown by area and CSV export.

04 · How we built it

Stack and architecture

  • Next.js 16
  • TypeScript
  • Tailwind CSS 4
  • NestJS 12
  • Prisma 7
  • PostgreSQL 16
  • Socket.IO
  • Google OAuth
Frontend
Next.js 16 with TanStack Query and a GitHub-style interface built with shadcn/ui, in a dark theme.
Backend
NestJS 12 with Prisma 7 over PostgreSQL 16 and isolated modules that talk through domain events.
Real time
Socket.IO only, no SSE or polling, with Redis 7 for pub/sub across replicas.
Infrastructure
pnpm and Turborepo monorepo on a dedicated VPS behind Cloudflare and Caddy, with automatic deployment through GitHub Actions.
05 · Technical challenges

What we solved

  1. Organizations separated by email domain

    The system infers the organization from the institutional email domain and isolates each one's data without duplicating infrastructure.

  2. Real time without polling

    Every event travels over WebSocket in the same envelope (type, payload, version and time); each module publishes its events and the others subscribe without coupling.

  3. Configurable roles over fixed capabilities

    Each organization defines its roles on top of a fixed set of capabilities, so a Head and a Coordinator can have different notification-escalation ranges without touching code.

06 · Project facts

In detail

Auto-close for resolved tickets
5 days
Access restricted to the institutional email
@ucv.edu.pe
See all

Need something like Mesa Digital?

Tell us about your project. Free diagnosis and a fixed proposal within 48 hours.