Felipe Gazolla.
← Projects
Mar 2026

RedlineKart.

Operations system for a go-kart track: bookings, sessions, ranking and fleet.

  • Operations
  • SaaS
  • Services

Demos are interactive on desktop — on mobile, see the preview just below.

Three navigable views (admin panel, driver portal and public site), with fictitious data

Problem

Running a go-kart track involves complex flows — bookings, check-in, sessions, drivers, fleet and finances — hard to coordinate without a dedicated system.

Solution

An operations platform with a dashboard, bookings, check-in, sessions, ranking/championship, kart fleet, work orders, finances and a driver portal.

My role

Modeling of the operational flows, architecture and development.

Outcome

The most visual and memorable system in the portfolio, with a strong operational load.

Demo stack

Next.jsTypeScriptSCSS ModulesFictitious data

How it works.

Description of the real product (frontend + backend). The demo embedded above is its demonstration version, with fictitious data.

RedlineKart is an all-in-one operations system for go-kart tracks, covering the entire cycle: from online booking to track operation, live timing, fleet and maintenance, CRM, championship, finances and the driver portal. The Next.js frontend has two faces — a staff panel (internal operation) and a driver portal (self-service) — on top of a NestJS API designed as a modular monolith with 10 business contexts and real-time data.

Architecture

  • Modular monolith in NestJS (Fastify): 10 self-contained bounded contexts, with synchronous communication via imports and asynchronous communication via BullMQ events (Redis).
  • Real-time timing and race control via Socket.IO (NestJS gateways), with an adapter layer to integrate the track's timing hardware.
  • JWT authentication (access + refresh in an httpOnly cookie) and ABAC authorization with CASL — permissions by module.action on top of 8 user roles.
  • Prisma/PostgreSQL with soft delete, UUID, monetary values in cents and dates in UTC; OpenAPI/Swagger documentation.
  • Frontend in Next.js 16 (App Router) consuming the API with React Query and Zustand, and Socket.IO for live data.

Modules

  • Administration: master records, users, permissions and executive dashboard
  • Operations: heat schedule, check-in, heat formation and kart allocation
  • Timing: lap/sector times, live standings and the big screen
  • Fleet and maintenance: karts, status, work orders and parts inventory
  • Commercial: online bookings, POS/cash register, events, vouchers and gift cards
  • CRM and marketing: 360 driver profile, segmentation, automation and loyalty
  • Championship: seasons, rounds, regulations, scoring and ranking
  • Finances: accounts receivable, cash closing and reports
  • Driver portal: bookings, post-race, social and ranking among friends
  • Integrations: payment, messaging (WhatsApp/email/SMS) and timing hardware

Engineering highlights

  • Two frontends in a single app: staff panel (dashboard, operations, timing, fleet, commercial, CRM, championship, finances) and driver portal (bookings, results, ranking, statistics).
  • Screens with a strong operational load: live timing with standings reordering in real time, driver check-in, POS/cash register, ranking by category and accounts receivable.
  • End-to-end real time: timing and race control via Socket.IO, with adapters for the track hardware.
  • ABAC authorization with CASL — granular permissions by module.action, on top of the 8 roles.
  • BullMQ queues for marketing campaigns and asynchronous report generation.
  • Domain robustness: values in cents, UTC, soft delete, pagination/filters and typed business exceptions.
  • Quality: integration tests with a real PostgreSQL (Testcontainers) and an API documented in OpenAPI.

Real product stack

Frontend
Next.js 16React 19TypeScriptSCSS ModulesReact QueryZustandReact Hook FormZodAxios (JWT)RechartsTanStack TableFramer MotionSocket.IO clientdate-fnslucide-react
Backend
NestJS 10FastifyTypeScriptPrismaPostgreSQLSwagger/OpenAPI
Real-time & queues
Socket.IORedisBullMQ
Auth & quality
JWTCASL (ABAC)JestTestcontainersPino