Personal Projects

A selection of side projects built in my free time to explore new technologies.

Stone Is Stone - Minecraft Mod

Personal Project
2024 - PresentMaintained

A lightweight Fabric mod that expands Minecraft's vanilla crafting system by allowing multiple stone variants to be used interchangeably in recipes. The mod is configurable and designed to run server-side. 30K+ downloads on Modrinth.

  • Implemented runtime recipe modification to dynamically add configured blocks to recipes containing cobblestone-like items.
  • Automatically extended modded recipes using the same mechanism, without requiring explicit support for individual mods or recipes.
  • Built a configurable JSON-based system for defining supported block variants.
  • Developed and maintained a server-side Fabric mod across multiple Minecraft versions.
JavaGradle

TaskApp - Task & Category Manager

Technical Assessment
05/2026Completed

A full-stack task management application developed as a technical assessment for a Full-Stack JavaScript / NestJS / React position. The project focuses on clean code organization, separation of responsibilities, and a type-safe backend/frontend architecture.

  • Developed task and category management features, including CRUD operations, task status toggling, search, and category-based filtering.
  • Designed a NestJS backend with domain-specific modules, controllers, services, DTOs, and Prisma-based data access.
  • Implemented server-side input validation and consistent error handling using class-validator and NestJS's ValidationPipe.
  • Built a React frontend with reusable components and dedicated hooks for data fetching and state management.
  • Optimized data access by using Prisma relations to avoid N+1 queries when retrieving tasks with their categories.
TypeScriptReactViteNestJSPrisma

EIP - Dognostic/DiagnoPets

Student Project
2022 - 2025Completed

Web and mobile platform for veterinary appointment booking, built as part of the EIP student project.

  • Designed and developed a web and mobile platform for veterinary appointment booking.
  • Built business features: medical records, prescription history and messaging between vets and pet owners.
  • Contributed to technical design, API development and the platform's evolution.
TypeScriptNode.jsExpressSequelizeReactReact NativeTailwind CSSPostgreSQLMicroservices architectureGitHub

DiagnoPets v2

Personal Project
2026Ongoing

A solo rebuild of DiagnoPets, keeping the same features as the original student project but with a Java/Spring Boot backend and a new design, built to explore new technologies.

    This Portfolio

    Personal Project
    2026Maintained

    This personal portfolio, built in collaboration with Claude Code, is a bilingual French/English fully static site (SSG) with no backend, deployed on Vercel.

    • React Router v7 Framework Mode architecture with static prerendering of every route (fr/en for each page), with no server or serverless functions.
    • Per-language routing system with dynamically generated meta tags, canonical and hreflang links, JSON-LD structured data, and an XML sitemap for SEO.
    • Security hardening through strict HTTP headers (Content-Security-Policy, HSTS, X-Frame-Options) configured at the deployment level.
    • A custom rich-text renderer (bold, italic, links, nesting) built as a single recursive function, avoiding any external markdown-rendering dependency.
    TypeScriptReactReact RouterViteTailwind CSSVercel

    JuiceBot - Discord Bot

    Personal Project
    2022 - PresentMaintained

    JuiceBot is a Discord bot for JUICE, a Minecraft speedrunning community focused on unofficial category extensions. It manages per-channel category FAQs and recommended seeds, runs automated moderation and spam detection, and provides utility commands like polls and probability calculations.

    • Built on discord.py's cog system, with each feature area (category management, moderation, polls, statistics) as an independently loaded extension, and a JSON-backed data model (custom Category/Seed classes) fully editable through slash commands with no manual file access needed.
    • Automated moderation: heuristic-based spam/selfbot detection with automatic role revocation, a honeypot channel, and batched/deduplicated deleted-message logging to a dedicated audit channel.
    • Environment-based configuration (python-dotenv) separating secrets/deployment config from source. Hosted on Discloud, with a custom logging handler that self-rotates daily log files by UTC date without relying on process uptime.
    Pythondiscord.pyasyncioDiscloud