2024–2026
SAP
Full-Stack Software Engineer
Built and shipped product features in an international environment, while evolving an established architecture safely.
Java · Spring Boot · Kafka · TypeScript · AngularAvailable for full-time roles
Ilian Allaf · Full-stack software engineer
From interface to infrastructure, I turn complex problems into clear, reliable software.

France
Selected work
End-to-end ownership, from idea to production.

A multi-tenant photography platform capable of ingesting up to 400,000 images per event and retrieving them by race bib or face.
Next.js · tRPC · AWS S3 · SQS · Lambda · Rekognition
View case study
An accounting platform that transforms uploaded invoices into structured, validated, and actionable financial data.
Next.js · tRPC · PostgreSQL · Prisma · AWS S3 · Lambda · CloudWatch
View case studyExperience
Shipping within established teams, systems and constraints.
2024–2026
Full-Stack Software Engineer
Built and shipped product features in an international environment, while evolving an established architecture safely.
Java · Spring Boot · Kafka · TypeScript · Angular2023
Full-Stack Software Engineer · Internship
Built a Microsoft 365 security scanner, from its data model and detection rules to the review interface.
Golang · GraphQL · SQL · Next.js · KubernetesMy AI practice
A personal practice shaped by curiosity, judgment and experimentation.
I enjoy trying new ways of building with AI rather than committing too early to one method. I have spent time with BMAD, spec-driven development, agentic workflows and multi-agent coordination. Some ideas become part of my practice; others teach me where process starts adding more ceremony than value.
The field changes too quickly for a fixed playbook. I follow engineers sharing real work on X, read technical blog posts and watch hands-on YouTube breakdowns. I am most interested in what survives contact with a real codebase, not just a polished demo.
What I believe
In my experience, AI accelerates good engineering far more than it compensates for weak foundations. I rely on SOLID to keep responsibilities and dependencies explicit, DDD to keep business language and rules coherent, and Clean or Hexagonal Architecture to protect the domain from infrastructure details. Those boundaries help the agent understand the system while helping me review its work.
Why tests matter with AI
I see tests as the feedback loop that makes AI-assisted development trustworthy. When the important behaviours and boundaries are already covered, an agent can iterate faster, detect regressions earlier and work against clear acceptance criteria. This is also why I value TDD: defining behaviour before implementation gives both me and the agent a tighter target and a faster feedback loop. The goal is not coverage for its own sake, but relevant feedback on the risks of each change.
Domain rules and edge cases
Databases, queues and providers
APIs and event boundaries
Critical user journeys
Performance, resilience and security
The workflow I keep coming back to
I do not run every step mechanically. For a small change, that would be unnecessary. But when work spans several sessions, I like how the workflow separates deciding from building, preserves the reasoning, and keeps each implementation step small enough for me to inspect properly.
/grill-with-docsClarify the problem, vocabulary and hard decisions.
/to-specTurn settled decisions into durable context.
/to-ticketsSplit the work into testable vertical slices.
/implementBuild one bounded outcome at a time.
/code-reviewReview the diff against the original intent.
Contact