Jee Park
Full-stack developer · Paris
work
Things I built.
- Nº 01
2026DogSister
A showcase site for a dog care business, designed and shipped to production. Custom WordPress theme so the client can edit everything herself, including her prices.
PHP, WordPress, ACF. CI/CD on GitHub Actions, hosted on OVH.
dogsisters.fr ↗Read the case
Problem
Their only channels were Instagram and WhatsApp. Services, prices, availability: all of it had to be explained again to every new client, one conversation at a time. They needed one place where all of it lives.
Decision
A WordPress landing page rather than a static site, so the two partners can edit prices, publish events and open sign-ups themselves without calling me. Custom theme with ACF for the fields they actually touch, sign-ups routed to WhatsApp where their clients already are, and a professional mailbox on their own domain.
Result
They stop repeating themselves. Prices, services and their story are on an official site they own and update alone, and event sign-ups arrive in the tool they already use every day.
- Nº 02
2025Streaming
A video streaming site. Playback starts before the file has finished downloading, with real-time transcoding.
Python, Django, React, FFmpeg.
GitHub ↗Read the case
Problem
A school project with one hard rule: playback has to start before the file has finished downloading, and every library that already does that, webtorrent and peerflix included, is banned. So the streaming pipe had to be built by hand, on top of a torrent client, for files whose codecs the browser often cannot play.
Decision
The server writes the pieces it receives to disk in order and serves them over HTTP range requests, so the player can ask for the beginning while the end is still arriving. When the codec is not one the browser accepts, FFmpeg transcodes on the fly instead of converting the whole file first: it costs CPU, but the wait drops from minutes to seconds. Search hits two external catalogues of freely distributable video, and 42 OAuth handles login.
Result
Playback starts a few seconds after a click, on a file that does not exist yet. It also taught me where the real cost of streaming sits: not in the network, in the transcoding. And how to lie to a video element convincingly.
- Nº 03
2025Tetris
Multiplayer Tetris in the browser. Garbage lines, T-spins, input under 30 ms.
Node.js, Socket.io, React, Redux.
GitHub ↗Read the case
Problem
Multiplayer Tetris in the browser, with the interesting part in the constraints: no canvas, no SVG, no DOM libraries, no "this" on the client, board logic in pure functions only, and seventy percent test coverage. Every player in a game must also receive exactly the same sequence of pieces.
Decision
The board is plain immutable data in Redux and rendered as a CSS grid of divs, which sounds slow and is not. The server owns the piece sequence and the game state, and clients only send inputs and receive events over socket.io, so nobody can drift out of sync or cheat their own pieces. Pure functions for the board made the coverage requirement almost free to reach.
Result
Garbage lines, T-spins and spectrum views of every opponent, with input response under 30 ms on a decent connection. The rule I resented most was the ban on "this" in the client. It is the one that taught me the most.
Where this comes from.
- May – Jul 2026
Freelance full-stack developer
Dogsister · dogsisters.fr
A showcase site for a dog care business, designed and shipped to production. Custom WordPress theme so the client can edit everything herself, including her prices.
- 2024 – 2026
Back-end & cloud developer
Ortec
A data pipeline for a new network of EV charging stations, from zero to eight sites. Real-time ingestion of charging data and incidents, weekly reporting, dashboards for the maintenance teams. AWS, Terraform, Grafana.
- 2021 – 2026
MA · Computer Science
École 42 · Paris
- 2017 – 2018
BA · Arts & Culture Management
Université Paris I, Panthéon-Sorbonne
- 2013 – 2017
BA · Art History
Université Paris Nanterre
Born in Paris,
Korean roots.
I used to work in art. I coordinated projects for galleries and artists: exhibitions, installations, dates, budgets, and everyone involved. Most of the work was getting things ready before the doors opened.
Then I wanted to build things, not just organise them. So I went to École 42. Nobody teaches you there. You sit next to someone and you figure it out together. That is how I learned to code.
Since then I have built for clients, for a company, and for myself. My own projects are where I learn the most. Right now I am building a mobile app alone, end to end: the interface, the backend, the design. I am open to a permanent role or freelance work.
Looking for
Role
Full-stack or back-end
Setup
Paris, hybrid · freelance welcome
Stack

quests
My side quests
dashboard.
Running, chess, races I signed up for. It updates itself, whether I look good or not.
Running · year to date
1,068km
Sessions
125
Longest
43.1km
Elevation
13,665m D+
On the calendar
Lichess · rapid
90 games