About
I'm Jeremy Dutheil, a Senior Fullstack Engineer and Tech Lead based in France, specialized in TypeScript, NestJS and Next.js. I build and architect complex technical platforms where robustness, scalability, and clean design are non-negotiable.
What I do today
As Lead Developer at Greenway, I design and evolve a fintech platform that integrates critical financial APIs — payment processing, KYC verification, and third-party financial services. The platform handles advanced business rules in a heavily regulated environment, which means every architectural decision carries real consequences.
My day-to-day involves making trade-offs between speed and reliability, designing backend services that can scale without accumulating technical debt, and ensuring that the codebase remains approachable for the team as it grows. I own the technical direction of the product and work closely with stakeholders to keep engineering aligned with business goals.
Technical approach
I believe great software starts with great fundamentals. My approach is built on principles that I've validated across multiple projects and team contexts:
- Clean Architecture — Separating concerns at every level. Domain logic stays independent from infrastructure, making systems easier to test, refactor, and reason about.
- Test-Driven Development — Writing tests first isn't just about coverage — it shapes the design. TDD pushes you toward smaller, more focused units with clear contracts.
- Scalable backend design — From database schema to API contracts, I design systems that grow with the product rather than against it. That means thoughtful abstractions, not premature ones.
- Partner API integration — I've built robust integrations with payment providers, identity verification services, and financial data APIs, each with their own reliability quirks and failure modes.
AI-augmented development
I integrate AI deeply into my engineering workflows — not as a novelty, but as a productivity multiplier that I've refined over months of daily use. Concretely, this means:
- AI-assisted code generation and refactoring — Using tools like Claude Code to write, review, and restructure code faster while maintaining quality standards.
- Automated testing and documentation — Generating test suites from specifications and keeping documentation in sync with the codebase.
- CI/CD optimization — Streamlining pipelines and catching issues earlier in the development cycle.
- Faster debugging and technical research — Turning hours of investigation into minutes by leveraging AI for root cause analysis and solution exploration.
The goal is always the same: ship faster without cutting corners. AI doesn't replace engineering judgment — it amplifies it.
Software craftsmanship
I'm a strong advocate of the Software Craftsmanship movement. I believe that code is read far more often than it's written, and that simplicity is the ultimate sophistication in software design. Clean code isn't a luxury — it's what allows teams to move fast sustainably.
This philosophy extends beyond the code itself. It's about caring deeply about the craft: meaningful code reviews, continuous learning, sharing knowledge, and always leaving the codebase better than you found it.
Why this blog
This blog is where I document what I learn and think about as an engineer. I write about the problems I encounter, the patterns that work, the tools that change my workflow, and the decisions that shape the systems I build. Topics include software architecture, AI-assisted development, TypeScript patterns, and technical leadership.
Everything here comes from real experience — no theory for theory's sake.
Get in touch
You can find me on GitHub and LinkedIn. I'm always happy to connect with fellow engineers, discuss technical challenges, or explore collaboration opportunities.