Across cultural installations, product engineering and open-source tools, the same pattern keeps returning: build it, watch it in use, feed that back into the design — and make it robust enough to ship.
In 2020, after my associate degree in computer science, I joined Fleur de Papier during Covid. What began as an internship continued through apprenticeship and employment. The work expanded from small websites to interactive museum installations, on-site delivery and technical coordination.
Narrative in the service of history and art.
Fleur de Papier shipped 60+ interactive devices while I was there. Its largest programme — for the BnF, the French national library — grew to ~40 apps, built collectively by internal developers, freelancers and partner studios; I was one of the developers on it.
Contributed to the studio’s transition from Flash-era interactive projects to modern web technologies.
Interaction, animation and visual storytelling for public-facing installations.
Worked with creative direction, illustrators, external developers and on-site museum teams — and installed the applications in the museums myself.
Devices ran unattended in public spaces — reliability was part of the brief.
“He contributed creatively by proposing animations and interactions that enhanced the immersive experiences we built for cultural institutions such as the BnF, museums and exhibitions.”
Click a polaroid to open the project
The interface had to work as part of a physical installation: touch-first, full-screen, recoverable after inactivity, available offline, and stable on the target device.
A shared production framework across the apps
Electron shells on fixed touch screens
Full-screen PWA manifests · offline service workers
Kiosk timeout & restart behaviours
Safari / iOS swipe fixes · GSAP performance passes
Cultural studio — experiences for museums, archives and institutions.
Creative developer — and technical link between art direction, external developers and museum teams.
Making experimental interfaces survive a physical installation — touch, offline, restarts, real hardware.
Ship reliability with the craft: offline caches, kiosk restarts, device-specific fixes.
With creative direction, illustrators, external developers and on-site museum teams.
Dozens of public-facing installations, shipped collectively.
Reliability became part of the creative ambition, not its opposite.
Alongside client work, the Creative Developer programme broadened my practice across design research, real-time graphics, team organisation and project management.
Design theory, design thinking, modern UX workflows and user testing — turning assumptions into decisions grounded in evidence.
WebGL, 3D mathematics, shaders, animation and motion design — connecting visual intent with technical execution.
An interactive map of positive events during Covid, created with AFP by a mixed team of two developers and three designers, then shipped as a live demo.
REPOSITORY · LIVE DEMOAn ambitious collaboration with designers Camille Robillard, Ludwig Pilicer and Elie Nissen and developers Théotime Lameyre and Titouan Pellerin, backed by substantial UI/UX and motion research. Not currently online; the research, interface and motion work are available to present.
OPEN THE FOLDER · THE PRINT OPENS THE CASE STUDYGroup projects strengthened project management, team organisation and critique.
User-facing product features and internal platform tools (Angular, TypeScript, RxJS).
Maintainability as a habit: >80% test coverage on my scope, enforced with SonarQube and CI/CD.
Filed constructive issues regarding Ansys Web Components, the internal UI library.
Volunteered an internal workshop on AI-assisted development (Dec 2025) — a personal case study, no company code or data, governance and review first.
“Quality became a system — not an act of will.”
A published, open-source Svelte 5 library — 130+ components.
Motion and interaction treated as part of the product identity.
Ownership of concept, visual direction, implementation, APIs, docs, testing, publishing.
Documented, tested and versioned: Storybook, unit + E2E suites, released as a package.
Used in production — the library powers my own shipped products.
ALSO SHIPPED RAMA.APP, MY PORTFOLIO SITE, DESIGNED AND BUILT END-TO-END (NUXT · VERCEL)
At Attio, I would like to apply that combination earlier in the process — from the idea and narrative through motion, implementation, performance and the system behind the next launch.
The BnF motion decision — noticed, proposed, shipped.
Fleur de Papier, Terre Adélice, La Contemporaine, Gobelins.
Kiosk constraints, offline, touch, iOS/Safari — and Ansys quality.
Shared Fleur de Papier framework · the FancyUI package.
On-site coordination · FancyUI, end to end.
The Dec 2025 internal workshop — governance and review before adoption.
rama.app — Nuxt and Vercel, shipped.
Next.js — not shipped yet; its closest sibling, Nuxt, is (rama.app).
My roles have not always carried the Design Engineer title. The work has repeatedly asked for the same combination: taste, technical judgment, collaboration — and the responsibility to make an idea survive contact with the real world.
In Attio’s campaign write-up, Marketing and Studio developed the copy and visual direction together through more than 250 iterations. At what point would you want a Design Engineer involved — and what should they help shape or challenge?
Where does the current marketing system create the most friction for Studio, Campaigns and Design Engineering?
What would meaningful success in this role look like after six months?
I didn’t progress to the next stage.
Attio was looking for more evidence that I had owned complex work end to end.
It was disappointing, especially because the role felt closely aligned with the kind of work I want to do.
But the feedback was useful!
This presentation showed what I had built and how I approached it. What it didn’t show clearly enough was how I shaped the direction: the decisions I pushed for, the trade-offs I made & the judgement behind them.
Make my ownership as visible as the work itself.
Thanks for walking the thread with me — from a first line of code to the work I hoped to do at Attio.