Igal Ilmi Amir · Senior full stack developer · Nantes, France

Back-end by origin, full stack in practice.And at home on any stack.

The way I steer AI agents, with Claude Code, lets me take on any technology and any business domain with the same rigour. My projects show it: Go, NestJS, React, Next.js, two of them already in production.

PHP and Symfony are my home ground. On a major public sector account I picked up Angular fast, to the point of leading critical migrations. For more than five years I have designed, built and shipped complex business applications.

Open to a senior permanent role or a technical lead position.

01 / Evidence

Three results, measured on real projects.

3

critical applications migrated with zero downtime

Symfony 4 and 5 to 6, Angular 15 to 21. Hundreds of users noticed nothing, which was exactly the point.

30% →70%

RGAA accessibility compliance on a large-scale project

An initiative I led from start to finish: audit, prioritisation, then fixes.

−78%

processing time

By reworking complex SQL queries one at a time, with the execution plan in front of me.

02 / Projects

Four projects, none of them in PHP or Angular.

Go, full stack TypeScript with NestJS and React, Next.js: stacks I don't use on client work, approached with the same method and the same standards. Two are already running in production.

P/01

SportTag

Multi-sport booking SaaS · in progress

Slot booking, multi-sport discovery packs, a women-only mode and a rechargeable prepaid wallet. Hexagonal architecture and DDD apply to the back end and the front end alike, with isolated business contexts: identity, catalogue, partner, booking, pass, wallet. The wallet is an append-only ledger.

isolated business contexts
6

Dependency rules checked automatically in CI, around a dozen architecture decisions recorded as ADRs, and the spec always written before the code.

  • Strict TypeScript
  • pnpm
  • Turborepo
  • NestJS
  • Fastify
  • React 19
  • Vite
  • PWA
  • TanStack Router
  • Tailwind CSS 4
  • PostgreSQL
  • Drizzle ORM
  • Zod
  • i18next
  • Vitest
  • Playwright
  • Testcontainers
  • dependency-cruiser
  • Docker
  • GitLab CI

In progress · private repository

Finding a slot by sport and time
Finding a slot by sport and time
Women-only booking mode
Women-only booking mode
Multi-sport discovery pack
Multi-sport discovery pack

Real screenshots of the app: demo data only, no real information appears here.

P/02

BudgetColoc

Shared budget for three flatmates

Fixed and recurring shared bills, monthly contributions with a twelve-month history, shared recipes whose ingredients get added straight to the shopping list, shared notes with push notifications. The Go back end follows a hexagonal architecture and the front end is an installable PWA.

Redis for sessions and rate limiting, JWT with a refresh token in an httpOnly cookie, Web Push (VAPID) through a custom service worker, automatic deployment to a VPS.

  • Go 1.23
  • Fiber
  • pgx
  • PostgreSQL 16
  • Redis 7
  • React 19
  • Strict TypeScript
  • Vite
  • Tailwind CSS 4
  • React Router 7
  • PWA
  • golang-migrate
  • Docker
  • Traefik
  • GitLab CI/CD

In production · private access, no public link

Shared recipe, ingredients added straight to the shopping list
Shared recipe, ingredients added straight to the shopping list
Shared profile: name and email visible to flatmates
Shared profile: name and email visible to flatmates

Real screenshots of the app: demo data only, no real information appears here.

P/03

Album

Private family photo album

An album that follows a child growing up along a timeline, with photos grouped by month and by age. Import from Google Photos over OAuth, dates read from EXIF metadata, thumbnails generated on the server.

Full-screen viewer with touch gestures, offline mode, and two separate passwords: one for the family, one for the owner.

  • Next.js 16 (App Router)
  • React 19
  • TypeScript
  • SQLite (better-sqlite3)
  • sharp
  • exifr
  • jose
  • Tailwind CSS 4
  • PWA
  • Docker
  • Traefik
  • GitLab CI/CD

In production · private access, no public link

The age-based timeline
The age-based timeline
Full-screen viewer
Full-screen viewer
Jump straight to an age
Jump straight to an age

Real screenshots of the app: fictional name and stock photo, no real family photo appears here.

P/04

Vaulte

Sensitive document sharing

A private platform for documents that should not travel far. Access is deliberately limited to a small circle, by design. Sign-in works through a magic link sent by email, sessions are JWTs signed with RS256, and there is no password to store.

  • Go
  • Fiber
  • PostgreSQL
  • Redis
  • TypeScript
  • Tailwind CSS
  • Docker

Private demo. Access is restricted by design, so there is no public link.

Sharing a folder of sensitive documents
Sharing a folder of sensitive documents
Dashboard: requested documents and recent files
Dashboard: requested documents and recent files

Real screenshots of the app: demo data only, no real information appears here.

03 / AI delivery

With my AI agents, I can work on any stack. And I stay in charge.

Most of my career has been PHP and Angular. Yet my recent projects run on Go, NestJS or Next.js, and two are in production. AI doesn't write the code for me: I steer Claude Code with a method in which every agent follows the same rules as a developer on the team.

  1. 01FrameCLAUDE.md

    Global and per-project instructions, kept in CLAUDE.md files, set conventions and security rules before the first line of code.

  2. 02Specifyspecs and ADRs

    The spec comes before the code, and every architecture decision is recorded in an ADR. Any agent picking up the project knows why it is built the way it is.

  3. 03Equipversioned skills

    Reusable skills, versioned in Git: checking a page in the browser, resuming and closing a session with memory, applying hexagonal architecture, auditing security, administering a system, tightening a prompt. I write them and keep them evolving.

  4. 04Delegatesub-agents

    Specialised sub-agents each take a slice of the work, with a clear scope and nothing beyond it.

  5. 05Trackfile-based kanban

    A kanban made of files. Where a ticket sits in the folder tree is the only source of truth, so two statuses can never disagree.

  6. 06Guardguardrails

    No destructive deletion, no privilege escalation, and explicit confirmation before any network action.

  7. 07Verifyreview and tests

    Code review and tests before every commit. Nothing leaves unverified.

I make the calls and I sign off. The agents execute, inside a process that keeps their work dependable whatever the technology.

04 / Skills

What I use in production and in my own projects, by family.

Backend
PHP 8, Symfony 6 and 7, API Platform, Go, Fiber, NestJS, Node.js, TypeScript, PostgreSQL, MySQL, Redis, SQLite, Drizzle ORM, JWT and OAuth authentication
Frontend
Angular 15 to 21, React 19, Next.js, TypeScript, Tailwind CSS, Vite, TanStack Router, React Router, Angular Material, PWA (service workers, push notifications), i18next
Quality
TDD, PHPUnit, Vitest, Jasmine, Playwright, Testing Library, jest-axe, Testcontainers, SonarQube, dependency-cruiser, code review
DevOps
Docker, GitLab CI/CD, Jenkins, OpenShift, Kubernetes, Traefik, Dokploy, deployment to Linux VPS
Accessibility
RGAA (the French WCAG-based standard), WCAG 2.1, audits and remediation
Architecture
Hexagonal (ports and adapters), DDD, CQRS, ADRs, monorepo
AI delivery
Claude Code, skills, sub-agents, CLAUDE.md, file-based kanban

05 / Experience

From back end to full stack, since 2020.

A career rooted in PHP, then in Angular learned on the job. The method works on any stack, and my projects in Go, NestJS and Next.js are the proof.

Portrait of Igal Ilmi Amir
Igal Ilmi Amir · Nantes
  1. Apr 2023 · present

    Senior full stack developer

    IT consultancy · major public sector account

    PHP / Symfony back end first, then a fast ramp-up on Angular. As technical lead on projects within the service centre, I led the migration of three critical applications, the RGAA compliance initiative and the SQL query optimisation.

  2. Sep 2022 · Mar 2023

    PHP / Symfony web developer

    6TM · Nantes

    Ongoing development of Symfony applications, from version 4 up to 6. Designed APIs with API Platform to connect third-party systems.

  3. Oct 2020 · Sep 2022

    Full stack Symfony / JS developer

    Conseil Départemental du Doubs · work-study

    Applications for public administration, from Adobe XD mockups through to production, with continuous integration on GitLab CI.

Education

  • Application designer and developer (4-year degree, Bac+4)

    ENI École Informatique, Nantes · 2020 · 2022

  • Web and mobile web developer (2-year degree, Bac+2)

    Access Code School, Besançon · 2019

Languages

French (native) · English (professional)

06 / Contact

A role, a project that needs a steady hand? Let's talk.

Write in English or French, with a few lines about the context.

Or use this form

All fields are required.