XJ-3615Transmission terminal
3615 Creative DeveloperGVL Rive Nord--:-- · Online
01 / 06

GVL Rive Nord

2025

Custom business software (ERP)

Day camps · Québec

My roleSolo project: requirements, architecture, back end, front end, UI/UX, DevOps, production maintenance.

A custom ERP to run day camps, children, recruitment and staff: 45 screens, 43 data models, designed, built and maintained solo for a year.

LaravelNext.jsDocker

Context

GVL Rive Nord runs day camps in Québec. Registrations, health records, attendance, counsellor recruitment, contracts, evaluations: everything went through spreadsheets and a set of generic tools that didn't talk to each other. It needed a single business tool, usable in the field as well as at the office.

Intent

I designed a multi-company Laravel API, with an isolated database per client, and a Next.js front end in TypeScript. Heavy tasks run through a Redis queue managed by Horizon: sending QR codes to parents, generating PDFs, emails. For imports, I built a pipeline that simulates the import before applying it, logs every row and can roll it back. In the field, attendance is taken by scanning a QR code with the phone's camera, and contracts are signed right on screen.

Impact

Monthly imports went from 30 h to 1 h, and daily time tracking from 2 h 30 to 50 min. Several generic tools were replaced by a single business application, in production and continuously maintained based on the team's feedback.

// Specs

Deliverables
REST API · Web application · Multi-company architecture · Excel / CSV imports and exports · QR code scanning · On-screen signature · Automated PDFs and emails · Continuous deployment
Tools
Laravel · PHP · MySQL · Redis · Horizon · Next.js · React · TypeScript · Redux Toolkit · Tailwind · Docker · GitHub Actions · DigitalOcean · Vercel
Duration
1 year

// Results

30 h → 1 h
Monthly importsimport pipeline with dry run and rollback
2 h 30 → 50 min
Daily time trackingattendance scanned by QR code
45
Screensover 43 data models
460+
Commitssolo, in one year

// Gallery

next project · scroll · Enter open site · 1–9 gallery · Back list

Press any key or click to skip