Incoming transmission · 51.4920 / -0.1928

Bigger on
the inside.

I'm Julien Evrard — an apprentice data & AI engineer. A small ship with a lot of room inside: data pipelines, neural nets, low-level handheld plugins, and the occasional trip through space and time. This portfolio is the ship. Step in.

Begin the journey →Play the 3DS demo
initiate travel
01 — the traveller

I like problems that span the whole stack — from a packet leaving a 12-year-old handheld to a model learning on the other side.

Based in France, I'm training as a data & AI engineer through apprenticeship. I'm happiest somewhere between the low-level and the abstract: writing C that runs on a Nintendo 3DS in the morning, reasoning about neural networks by hand in the afternoon, shipping it all behind Docker and CI/CD by night.

Off the clock you'll usually find me deep in a webtoon, replaying a 3DS classic, or letting a record run while something compiles. I'm not looking for work — this is simply the ship, and you're welcome aboard.

manifest
RoleData / AI engineer (apprentice)
RangeC → Python → Rust → Web
BasedFrance 🇫🇷
Status● travelling
companions
Doctor WhoWebtoons & manhwaMusicRetro handhelds
02 — selected work

Three coordinates.

★ FLAGSHIP · /001C · Python · Rust · Svelte
// 3DS ─UDP→ server ─WS→ Discord

Luma3DS · Discord Rich Presence

Your 3DS, broadcasting. The game you're playing shows up as a live Discord status — automatically, in real time. Per-user token provisioning builds a personalised .3gx plugin so each player's presence stays isolated.

/002Go
// go build ./...

sae_go

A systems & tooling exercise in Go — leaning into concurrency, clean interfaces and the standard library to keep things small and fast.

GitHub ↗
/003Next.js · Three.js · Docker
// build → docker → ci/cd → ship

Portfolios in production

Next.js + Three.js sites with scroll-driven 3D — dockerised and shipped through CI/CD. Including this very portfolio, and one built for a friend — live below.

GitHub ↗
03 — live demo

Pick a game. Watch Discord light up.

A live mock of the real pipeline. Tap a cartridge on the 3DS — the packet travels through the bridge server and surfaces as a Discord Rich Presence on the other side. No actual 3DS required.

New Nintendo 3DS
NOW PLAYING
Mario Kart 7
↑ tap a cartridge on the touch screen
3DS plugin
sends UDP packet · title ID
C
Bridge server
routes by user token
Python
Desktop app
WebSocket · daemon
Rust
Discord
Rich Presence updated
RPC
Discord · Rich Presence
🎮
Playing a game
Mario Kart 7
Rainbow Road · 1st place
via Nintendo 3DS · just now
read the protocol & source ↗
04 — off the clock

There's always something spinning.

Code goes better with a soundtrack. A rough idea of what's usually on rotation while I build — and what I'm reading when the screen finally goes dark.

French Rap
for the late-night refactors
~ on loop
Pop
for everything in between
~ comfort
Reading: webtoons & manhwa
the screen-off ritual
📖
05 — send a signal

Knock on the
blue box.

Not on the market for opportunities — but always up for a chat about 3DS homebrew, models, or where the next season is going.

julien.evrard@icloud.comGitHub ↗LinkedIn ↗
© 2026 Julien Evrard — bigger on the inside, as ever.Allons-y. ✦