Projects

Client projects

MakerUp

MakerUp

Completed

3D-printing marketplace where makers get paid through Stripe and the platform keeps its cut.

  • Payment gateway
  • Invoicing
  • Web, iOS and Android
  • Real-time chat
Frontend
AngularTypeScriptIonicCapacitor
Backend
NestJSNode.jsTypeScriptPostgreSQLStripe
TrackLap

TrackLap

In Progress

Track-day SaaS: each organiser collects through Stripe or their own Redsys terminal, and the platform takes a fee.

  • Payment gateway
  • Back office
  • Transactional email
  • Interactive maps
Frontend
AngularTypeScriptMaterialLeaflet
Backend
NestJSNode.jsPostgreSQLStripeRedsys
Sport Moto Team

Sport Moto Team

In Progress

Website for a track-day club: events come straight from the TrackLap API and the club edits every piece of content from its own panel.

  • Live track days from TrackLap
  • Back office
  • CDN images
  • Transactional email
Frontend
Next.jsTypeScriptTailwind
Backend
PostgreSQLNeonCloudinaryNodemailerDocker
LopezCars

LopezCars

Completed

Custom website and back office for a car dealership: catalog, valuations and leads, with no third-party CRM in the way.

  • Back office
  • Audit log
  • CDN images
  • Transactional email
Frontend
Next.jsTypeScriptTailwind
Backend
PostgreSQLDrizzleCloudinaryResend
Nil Mariages

Nil Mariages

Completed

Trilingual CV site for a travel agent: career, countries visited, routes drawn on the map and sample itineraries.

  • Multi-language
  • Interactive maps
  • PDF viewer
  • Transactional email
Frontend
AstroTypeScriptGoogle Maps
Backend
NodemailerVercel
Sweep Design

Sweep Design

Completed

Shopify store for a motorcycle aerodynamics brand: parts catalogue, payments, verified reviews and email campaigns.

  • Online store
  • Payment gateway
  • Verified reviews
  • Email marketing
Frontend
ShopifyKlaviyo

Personal projects

DiRT Tracker

DiRT Tracker

In Progress

DiRT Rally 2.0 leaderboards for a group of friends, seeded with the game's real content: 156 stages and 79 cars.

  • Leaderboards
  • Back office
Frontend
Next.jsTypeScriptTailwind
Backend
Node.jsPostgreSQLPrismaNeonDocker
ChatGPT Clone

ChatGPT Clone

Completed

A suite of AI use cases — text, voice and image — behind a NestJS backend that never lets go of the OpenAI key.

  • Streamed AI
  • Speech and transcription
  • Image generation
  • Local models
Frontend
AngularTypeScriptTailwind
Backend
NestJSNode.jsPostgreSQLOpenAIOllama
HMI CarPlay

HMI CarPlay

Completed

Apple CarPlay's interface recreated in Angular: ten apps, real maps and music, and not one UI library.

  • Interactive maps
  • Audio player
  • Multi-language
Frontend
AngularTypeScriptCSSMapboxLeafletShazam
NodePop

NodePop

Completed

Wallapop-style second-hand marketplace: an Express REST API with server-side filtering and a React SPA.

  • Documented API
  • File uploads
  • JWT authentication
Frontend
ReactTypeScript
Backend
Node.jsTypeScriptMongoDBSwaggerJWT
Spotify Clone

Spotify Clone

Completed

Spotify-style player in Angular, with queue, shuffle and repeat hand-built on RxJS.

  • Audio player
  • JWT authentication
Frontend
AngularTypeScriptMaterialRxJSiTunes
Tesla Landing Page

Tesla Landing Page

Completed

Tesla's landing page recreated in Astro, solving with CSS what usually calls for JavaScript.

  • Zero JavaScript
Frontend
AstroTailwindCSS
AdoptaUnPeludo

AdoptaUnPeludo

Completed

Pet adoption in hexagonal architecture: live chat, message queues and an assistant with vector search.

  • Real-time chat
  • Vector search
  • Message queues
  • S3 storage
Frontend
ReactTypeScriptTailwindAuth0
Backend
Node.jsPostgreSQLPrismaRabbitMQLangChainDocker
Cuphead CV

Cuphead CV

Archived

A résumé with Cuphead's cartoon aesthetic, animated in CSS alone: zero JavaScript.

  • CSS only
Frontend
HTMLCSS