Projects
Systems in production, not mock-ups.
Five selected projects, from a new brand to a full application. All built with AI as a working tool, on a secure, fast, decoupled infrastructure. For each one: the need, what I built and how it's built.
- SaaS apps
- Brand, site and back end
- Online booking
- Automation
- Built-in AI
- Decoupled infrastructure
How these projects are built
AI as a working tool
I build with AI agents that I direct, and I review every change. Projects move faster without cutting corners on quality.
A decoupled infrastructure
Pre-built pages that load fast, and a separate API for forms, accounts and payments.
Security and backups
Cloudflare Turnstile against bots, rate limiting, two-factor authentication for private areas, and daily MongoDB backups to S3 wherever there's data to protect.
01 · SaaS application
Muleky
Software for hockey coaches
Need: analyze a team's data and turn it into concrete advice with an AI assistant.
Coaches juggle spreadsheets, paper diagrams and scattered messages. I designed and built Muleky to bring it all together: practice planning, animated drills, evaluations, statistics and line-ups, with an AI assistant coach that knows the team.
What I built
- Team dashboard: game of the day, next practice, to-dos, available roster.
- Practice plan builder with timed blocks and a drill library.
- Animated drill diagram editor, step by step.
- Coach Nova, an AI assistant coach that analyzes players and suggests what to work on.
- Statistics, skill-by-skill progress, line-ups and an on-ice mode for phones.
- Interface in English, French and Spanish; online subscriptions.
Integrations
Stripe for subscriptions, the Anthropic API (Claude) for Coach Nova, AWS S3 for files, Cloudflare Turnstile against bots, hosting on Vercel.
- TypeScript
- Node.js 22
- Express
- MongoDB
- Stripe
- AWS S3
- Anthropic
- Cloudflare Turnstile
- Vercel
- EN · FR · ES
Fictional team and players.
02 · Brand, website and back end
Savage Trailers
A Québec manufacturer of 100% aluminum trailers
Need: a professional, up-to-date image, a website that generates quote requests, and a back end to process them.
A complete project, start to finish. I designed the new brand (Remorques Savage in French, Savage Trailers in English), then a bilingual website with its own back end: from the product page to the configured quote, all the way to follow-up by the sales team.
What I built
- A new brand identity: logo, colours, typography and usage rules.
- One code base for two sites: remorquessavage.com in French and savagetrailers.com in English.
- Catalogue of the Walkyrie, Baldur and Thor lines, pages by industry, warranties and dealer locations.
- Configured quotes: model, capacity, dimensions, options and quantity.
- Customer and dealer accounts with quote tracking and two-factor authentication.
- Back office: quotes with internal comments, users, job postings and applications.
- Pages AI agents can read: Markdown on request and standard discovery files.
Infrastructure
Pre-built pages, a separate Express API and a MongoDB database. A full backup to S3 every day, kept for 30 days. Cloudflare Turnstile, rate limiting and security headers. Email through Microsoft 365, newsletter through Mailchimp.
- Node.js
- Express
- MongoDB
- AWS S3
- Microsoft Graph
- Mailchimp
- Cloudflare Turnstile
- TOTP
- Vercel
- FR · EN
Quote Q-0000
Demo Client Inc.
03 · Brand, website and booking · evolving
CoolPrime
Point-to-point delivery, booked online
Need: let customers get a price, book and pay for a delivery themselves, with no phone calls or re-entry.
CoolPrime delivers in and around Montréal, Québec City, Ottawa and Toronto. I created the brand identity and the bilingual website, then online booking, which keeps evolving with the business.
What I built
- Brand identity: logo, tagline and website look.
- English and French website: services, membership, careers, blog.
- Booking: address autocomplete, vehicle type, express option.
- Price calculated from distance and traffic (Google Maps).
- Phone verification by text message, then secure online payment.
- Pages AI agents can read (Markdown and discovery files).
Infrastructure
Pre-built pages and a separate Express API for text-message verification (Twilio Verify) and payment (Stripe Checkout), with rate limiting.
- Node.js
- Express
- Stripe
- Twilio Verify
- Google Maps
- Alpine.js
- Vercel
- EN · FR
Demo driverEn route
Position sent every 15 seconds, even with the screen off.
Quote Q-0000
Demo Client Inc.
- Draft
- Sent
- Accepted
- Invoiced
The flow, end to end
- 1Imported catalogue
- 2Quote or purchase order
- 3PDF generated
- 4Sent by email (AWS SES)
- 5Status tracking
- 6QuickBooks Online invoice
Client records are synced with Zoho CRM.
04 · Business application
PoPadema
Purchase orders and quotes, all the way to the invoice
Need: automate admin work and get sales, CRM and accounting software talking to each other.
Padema provides cleaning and maintenance solutions to businesses across Québec. Without a dedicated tool, every quote means copying products, building the PDF, emailing it, then re-entering everything in accounting. I built a custom web app that connects the catalogue, document sending, the CRM and QuickBooks Online.
What I built
- Quotes and purchase orders created from the catalogue, imported from a file.
- PDF generation and email sending, then status tracking for every document.
- One-click conversion into a QuickBooks Online invoice (OAuth 2.0 connection).
- Client sync with Zoho CRM.
Security
- Two-factor authentication
- Daily backups to S3
- Cloudflare Turnstile against bots
- Authorized API connections
- Node.js
- Express
- MongoDB
- QuickBooks Online API
- Zoho CRM API
- AWS SES
- AWS S3
- TOTP
Internal application: no screenshots are published. The illustration uses fictional data.
05 · Real-time platform
Free Board Society
Online board games, with an AI opponent
Need: a custom, real-time web product with an AI agent anyone can configure without coding.
Free Board Society lets board game designers turn their prototype into a table playable online, and lets players compete live. Each game can have its own AI agent, set up in a visual editor. The platform's interface is in French.
- Multiplayer games synchronized in real time.
- Step-by-step game editor: board, pieces, cards and AI agent.
- Configurable AI agent (name, instructions, welcome message, piece handling), with a memory of lessons learned over many games.
- Game catalogue with search and filters, online payments, two-factor authentication.
- Node.js
- Express
- MongoDB
- Ably (real time)
- Stripe
- Anthropic
- AWS S3
How I work with AI
I direct AI agents like a small team.
I develop in VS Code with Claude Code. On a big job, I run several agents in parallel: one takes inventory, another writes code, another checks the work. My role is a lot like a shop foreman's: I break down the work, write precise instructions, review every change and make the calls.
The result: a working first version in days rather than months, and more time for what really matters: security, performance and your data. This website was rebuilt exactly that way.
- I review every line that ships.
- Keys, passwords and client data never go into the instructions.
- The code is yours, documented, with no hidden dependencies.