Joel Tan
  • Next.js
  • React
  • React Native
  • Node.js
  • API
  • tRPC
  • Server Sent Event
  • WebSocket
  • Artificial Intelligence
  • Agentic AI
  • Generative AI
  • TypeScript
  • JavaScript
  • PostgreSQL
  • Convex
  • Supabase
  • Vercel
  • AWS
  • GCP
  • Azure
  • Docker
  • Kubernetes
  • SST
  • Kafka
  • Spark
  • Flink
  • Elasticsearch

Full-stack software engineer

Paris, France

Building apps

I build web, mobile and AI products, from interface to infrastructure.

Explore the work

Different worlds.
The same care.

From a first idea to systems people rely on.
A selection of products and client engagements.

AI application creation

March – September 2026

IteruCode

An illustration of the journey from prompt to application.

From an idea to a working application.

Describe the app you have in mind. IteruCode turns that prompt into a full-stack application you can edit, run and deploy, while agents work in real development environments behind the scenes. I built the platform end to end.

  • Architecture and full-stack development
  • Iteru freelance collective
  • March – September 2026
  1. An interface that keeps up with the agents

    Files change, commands run, deployments start. The interface streams all of it as it happens, stays smooth with virtualization and Web Workers, and speaks French and English.

    • Next.js
    • React
    • TypeScript
    • Convex
  2. A safe place for agents to work

    Each agent runs in an isolated sandbox with scoped tools, bounded commands and secret redaction. Workspaces snapshot to S3, so a session can resume, recover or roll back.

    • Vercel Sandbox
    • Convex Agent
    • AWS S3
  3. From the first prompt to production

    Generated apps deploy to Vercel with their own Convex backend. Teams share projects with roles and invitations, and pay by usage through Stripe on an append-only credit ledger.

    • Vercel for Platforms
    • Convex Platform
    • Stripe

Travel on web, iOS and Android

April 2025 – February 2026

Itinego

Ideas, itineraries and budgets, illustrated from the Itinego app.

Plan the trip. Keep it with you on the road.

Plan a trip on the big screen, then take it into the highlands on your phone. A travel planner for two brands, built for a community of more than 65,000 travellers and for roads where the signal drops.

  • Architecture and full-stack delivery
  • Iteru freelance collective
  • April 2025 – February 2026
  • Web, iOS and Android
  • A 65,000+ member travel community
  1. An itinerary that moves with you

    Drag a stop to another day and everything follows: the order, the map markers, the budget. Optimistic updates make each change feel instant, on mouse or touch.

    • Next.js
    • React
    • tRPC
    • MapLibre
  2. Built for roads without signal

    The app keeps working when the network does not. Local caches persist with MMKV, timeouts are detected, and the session quietly reconnects once the phone finds a network again.

    • React Native
    • Expo
    • MMKV
    • Supabase Realtime
  3. Two brands, one foundation

    Itinego and Road Iceland share services, API contracts, business logic and translations in a single monorepo, so a release lands on web, iOS and Android together.

    • Turborepo
    • TypeScript
    • Drizzle ORM
    • PostgreSQL

Manufacturing in real time

2020 — 2022

Louis Vuitton

Manuf2020

A material study inspired by precision and manufacturing.

Precision, down to the last event.

Inside the workshops, every machine and every step leaves a trace. This platform gathers those events as they happen and turns them into a live picture of manufacturing activity, first in France, then across continents.

  • Full-stack developer, data and streaming
  • Through Advanced Schema, on MANUF 2020
  • January 2020 – September 2022
  • Rolled out from France to sites across continents
  1. From the factory floor to the screen

    Events leave SAP, travel through Kafka and are shaped by Spark jobs before landing in MariaDB. I worked on every stage of that path, from the Node.js services to the Angular monitoring interfaces.

    • Angular
    • Node.js
    • Kafka
    • Spark
    • MariaDB
  2. Keeping the picture live

    Server-Sent Events push updates to the frontend, with the busiest streams aggregated in batches first. Shell and Go tooling injects test data end to end, which supported the rollout to manufacturing sites across Europe.

    • Server-Sent Events
    • Express
    • Shell
    • Go

Payment monitoring & investigation

2022 — 2025

BNP Paribas

BMSA

Irregular Kafka streams become ordered through Flink, then flow through Elasticsearch to Spring Boot. Spring Boot and Angular exchange data in alternating directions.

Card payment failures+38%
Last 8 minutesInvestigate ↗
Live alerts3 open
  1. 11:28 · Processed requestsCRD-PAY OUT · Payment & withdrawal
  2. 11:26 · AdjustmentsCRD-PAY IN · Retail banking
  3. 11:21 · Bank refusalsCRD-PAY IN · Payment & withdrawal
InvestigationResolved
  1. 09:41Alert raised on card payments
  2. 09:43128 transactions matched
  3. 09:47Timeouts on one acquirer route
  4. 09:52Route failed over, volume recovering

Conceptual artwork inspired by the engagement’s scope.

From an alert to a clear answer.

A payment fails somewhere in the flow. Monext raises the alert, then helps teams trace the affected transactions and understand what actually went wrong.

  • Full-stack developer, frontend lead and technical referent
  • Through Advanced Schema, on BMSA Monext & Legacy
  • September 2022 – January 2025
  1. A frontend built from its first screen

    I led the Angular frontend from scratch: alert dashboards, investigation workflows and the synchronization with backend and data, all the way to production releases.

    • Angular
    • TypeScript
  2. The link between teams

    As technical referent, I coordinated product, design, backend, data and DevOps, mentored developers and stepped into Flink and Kafka pipelines or Ansible deployments on Kubernetes when a release needed it.

    • Flink
    • Kafka
    • Ansible Tower
    • Kubernetes

Commercial analytics

2020 — 2021

Renault Group

An illustration of READY: a market picked on the map, its month read at a glance.

Making sense of commercial data.

How are sales doing across the group’s brands today? READY answers with dashboards that track sales, gross revenue and related indicators, and keep them up to date.

  • Full-stack developer
  • Through Advanced Schema, on READY
  • September 2020 – November 2021
  1. Numbers people can explore

    Angular dashboards for exploring sales, revenue and KPIs, backed by a query and transformation layer over Nodata Bridge and PostgreSQL with live-update support. Requirements were refined with design, data and client stakeholders.

    • Angular
    • Nodata Bridge
    • PostgreSQL
    • Java

Appointment booking

May — September 2021

Mondial Pare-Brise / AD Carrosserie

Conceptual artwork inspired by the engagement’s scope.

Making appointment booking simpler.

A chipped windscreen, a dented door. Customers of both networks needed to choose a garage and a time in a few taps. I built the scheduling features behind that booking.

  • Full-stack developer
  • Through Advanced Schema, for both networks
  • May – September 2021
  1. From a free slot to a confirmed booking

    Angular planning features on the customer side, Spring Boot REST APIs in between, and PostgreSQL queries and stored functions that hold the scheduling logic.

    • Angular
    • Spring Boot
    • Java
    • PostgreSQL

The first foundations

September 2018 – October 2019

PIMAN 2.0

A composition inspired by early cross-platform work. CV, page 4.

Learning to build across the whole stack.

Where it started: a professional internship building internal and client applications across web, mobile and desktop, for clients including LVMH, RSM and Agexial.

  • Full-stack developer, professional internship
  • PIMAN 2.0, an IT consulting company
  • September 2018 – October 2019
  1. One problem, three kinds of screen

    Web, mobile and desktop applications for internal teams and for clients, built with Angular, Ionic and Vue.js.

    • Angular
    • Ionic
    • Vue.js
  2. Underneath the interface

    REST and WebSocket APIs with Node.js and Laravel, and work on the MySQL database architecture behind them.

    • Node.js
    • Laravel
    • MySQL

Curious by nature.
Engineer by craft.

Joel Tan
Joel Tan, Paris

I’m Joel. I care as much about how it feels as how it works.

Full-stack developer/software engineer, specialized in Next.js, React, Node.js & Typescript, I like following a problem all the way through. Across interfaces, services and data, I build responsive, reliable software with product and engineering teams.

Based in Paris, my work has taken me from banking and manufacturing systems to travel applications and AI agents within the Iteru collective.

Get to know my background

Away from the keyboard

Martial arts, science, music, travel and gaming. Always another way to learn.

French & EnglishWeb, mobile & AI

Ask AI

Contact