Rails code worth rereading.

Ruby on Rails developer since 2022, after a first career in publishing. Based near Paris and available now.

Portrait of Bastien Grandjean

Projects

In production since August 2026

Move the Spark

A gamified personal planning app you can install on your phone like a native app.

Daily and weekly goals, appointments, a timer and a Focus mode, with playful progress tracking (sparks, levels, streaks) and push-notification reminders. I designed and built it on my own, from product to infrastructure, with Claude Code as a development assistant.

Demo account
Email
demo@movethespark.app
Password
P3uIeFhU8OowO6h7

Technical Highlights

  • Rails 8 PWA, installable and readable offline
  • Web Push (VAPID) reminders scheduled by Solid Queue jobs, no Redis
  • Invite-only accounts with isolated data and Rails’ built-in authentication
  • GitHub Actions CI with Minitest, Capybara, RuboCop, Brakeman and bundler-audit
  • Docker deployment with Kamal on a Hetzner server

Technologies

  • Rails 8
  • Hotwire
  • Tailwind CSS
  • SQLite
  • Solid Queue
  • Minitest
  • Kamal
In production since September 2026

Cook It Green

A vegan meal planner that works out, to the gram, how much of each ingredient a recipe needs to hit nutrition targets.

A 16-week annual rotation of 48 dishes, cooked in one 3-hour batch session per week. For each recipe, a solver adjusts three levers (protein, carbs, fat) to meet each user’s targets. The app also generates the weekly plan, the shopping list and a run sheet for the cooking session. Designed and built on my own, from product to infrastructure.

Demo account
Email
demo@cookitgreen.app
Password
JHEdhAe1K1ki2HVk

Technical Highlights

  • Bounded search over the grid of ingredient weights (5 g steps), penalising shortfalls 40 times more than excess
  • All 48 dishes recalculated in about 800 ms when a target changes, with targets and constants stored in the database
  • Needs calculation (Mifflin-St Jeor, Katch-McArdle) from Ciqual (ANSES) and USDA reference data
  • Domain logic in dedicated Ruby services (Nutrition::Solver, Menu::Recalculator…)
  • Multi-user PWA with Web Push reminders, GitHub Actions CI, Kamal deployment on Hetzner

Technologies

  • Rails 8
  • Hotwire
  • Tailwind CSS
  • SQLite
  • Solid Queue
  • Web Push
  • Kamal

How I Work

Clear models, well-scoped services, tests written first. Every project is a chance to learn something new. And whatever repeats, I automate.

Background

Experience

2026 - present
Personal Projects Move the Spark and Cook It Green

Designed, built and shipped two Rails 8 apps on my own, from product to infrastructure: Hotwire, Solid Queue, Web Push, GitHub Actions CI, Kamal deployment.

Sept 2022 - Feb 2026
Ruby on Rails Developer La Fresque du Climat (Climate Fresk), Paris

Workshop and internal-management platform for an international organisation. Lead developer in the final year. Built back-end and front-end features (workshops, ticketing, internal tools) and data-integration APIs for no-code tools, with RSpec and Capybara tests, in Scrum with the product team.

Nov 2018 - Apr 2022
Production Technician Auzou Éditions, Editis and Hachette, Paris

Oversaw book production from quotes to printing: schedules, suppliers, deadlines. A first career before switching to web development.

Education

2022
Web Developer Bootcamp Le Wagon
2016 - 2018
BTS in Publishing Work-study programme

Skills

Back-end
Ruby, Ruby on Rails, PostgreSQL, SQLite, Solid Queue
Front-end
JavaScript, Stimulus, Turbo, Tailwind CSS, HTML and CSS
Testing and quality
RSpec, Minitest, Capybara, TDD, RuboCop, Brakeman
Deployment
Docker, Kamal, GitHub Actions
Methods and tools
Agile, Scrum, Git, GitHub, GitLab, Claude Code
Languages
French (native), fluent English

Hiring a Rails developer? Let’s talk.

I’m looking for a Ruby on Rails developer role. Email is the easiest way to reach me.