My own product, designed and built end to end: product rules, UX flows, visual direction, the iOS app, the backend and the AI pipeline that builds it. It’s set in Seoul — the Han River, Yeouido, Busan weekends, budgets in won.
38end-to-end journeys
344flow steps
262recovery branches
19backend modules
01
Map every journey first
Before a single pixel: four tabs, the outing loop (choose → prepare → go → reveal) and every recovery path when plans change. Each journey links to the screens and states it needs.
A concept board, generated with AI and approved on October 8: a living map under clouds, a clay explorer, warm Seoul light. The built app follows it, benchmarked against Mobbin references for every screen family.
Concept board (AI-generated, approved)
03
Explore the real app
Screens captured from the iOS simulator, not mockups. Pick a tab.
What shall we do?
What have I explored?
What’s happening next?
What do I keep?
04
Architecture built by an agent team
A TypeScript modular backend with strict module boundaries, so up to 20 AI agents can build in parallel. I own the contracts, the review and every merge.
iOS app
Expo SDK 57 · React Native
Mapbox map with clouds
5 languages incl. Korean
Android next
API · Fastify 5 + Zod
identity
catalog
recommendation
exploration
routing
plans
coordination
budget
social
memories
media
progression
notifications
subscription
trust
privacy
policy
operations
platform
Data
PostgreSQL + PostGIS
Valkey
dbmate migrations
How it gets built
1Specs & contracts
2Up to 20 agents in isolated git worktrees
3Review · types · lint 0 warnings · tests · smoke
4Merge
More case studies
Founder & CEO
Selvren
11,901tests in the merge gate
AI domain experts grounded in a company’s private documents — every claim checked against its sources before it’s shown. Dashboard and enterprise API.
Expert paging and a persistent Metal pool to run MoE models that don’t fit in GPU memory on Apple Silicon — up to a 58 GiB model on a 48 GB Mac, with output identical to llama.cpp without MoEVM.
I take freelance projects: I design, build and ship AI tools wired into the software your team already uses. Also open to joining a team or a startup that needs someone who builds — remote-first today, regular stays in Seoul, and a move to Korea ahead.
AI executive assistant inside WhatsApp, hosted in France.
Context
SouverainIA’s founder wanted an AI executive assistant for SME leaders that lives where they already work — WhatsApp — with every byte hosted in France.
What I did
Built the product solo: Python backend, WhatsApp (Meta) integration, a “Chef IA” that sets daily priorities and sends nightly summaries.
Brand and the full site: Next.js static export, industry pages, a “Bastide vs public AI” comparison, a security page.
An SEO + AI-search content loop: scheduled drafts, competitor watch and a monthly visibility report — nothing publishes without human review.
Next.js
Static export
SEO / GEO
Scheduled agents
2026 · Redesign concept · client pitch
ESLITECH
Manufacturer site redesign on their live CMS.
Context
ESLITECH (brand Smartfurry), an aquarium and pet-products manufacturer, had a dated site. The brief: same content and pages, a premium look.
What I did
Rebuilt the front end in Vue 3 + Vite on their live CMS API, keeping every URL, call-to-action and popup working.
A motion system, bento product sections and a dedicated About page.
Shipped a public demo on Cloudflare Workers: HTTPS, noindex, forms disabled.
Vue 3
Vite
CMS API
Cloudflare Workers
2026 · Founder & CEO
Selvren
AI experts on private documents, every claim checked against its sources.
Context
Teams want answers from their own documents — with proof. Selvren started as a chatbot for pet shops, became AquaChat for aquarium stores, then a B2B platform of AI domain experts.
What I did
Founded the company and led the build with a team of AI coding agents: I set the architecture, the rules and the merge gate, and reviewed the work.
Hybrid retrieval over private documents and an expert catalogue, then a rule-based verifier that checks every claim against its sources — it abstains or quotes when sources are thin.
Security by design: row-level security in PostgreSQL, encrypted originals, antivirus on uploads, an egress proxy, hashed and revocable API keys.
GDPR tooling: data export, erasure, a written retention doctrine.
Result
3,182 commits in 11 weeks, 11,901 tests in the merge gate, 28 architecture decision records.
Fastify
TypeScript
PostgreSQL 17
pgvector
Mistral
React
TanStack Start
Clerk
2026 · R&D · local-first AI
Atelier
Raw idea → product brief through 8 specialist engines, 100% local.
Context
Every product I build starts as a raw idea. Atelier turns it into a brief an engineering team — human or AI — can execute.
What I did
A local-first chain of 8 specialist engines, from discovery to product, with every step’s data persisted.
Runs entirely on a MacBook (M5 Pro) with Ollama and MLX, under a strict zero-cost rule: no paid API, no rented compute.
Benchmarked local coding models to pick the engine (qwen3-coder 30B: 5× faster than qwen2.5-coder 32B).
Result
Idea → product brief end to end in about five minutes, fully offline.
Python
Ollama
MLX
Local LLMs
2026 · Product, UX & app · partner
Naiad
Connected-aquarium companion app with an AI assistant.
Context
Naiad is a companion app for a hardware partner’s connected aquariums — built as a partner demo.
What I did
Designed the whole flow: account-first onboarding with EU data residency, product recognition by QR code, tank profile.
A living dashboard (water parameters, a confidence score), species compatibility, device control for lights and pumps, a logbook.
An AI assistant that explains trends and prepares safe actions — but never controls a device without the owner’s confirmation.
Mobile-first web app
IoT
AI assistant
EU data residency
2021–2023 · Le Mans Université
GLPI
Set up GLPI for the service desk and IT inventory.
Context
The IT department supports staff across a whole university campus — every request and every piece of equipment has to be tracked.
What I did
Put GLPI in place: a ticketing service desk for user requests and an inventory of the IT equipment.
Used it day to day with the team for support follow-up.
GLPI
Service desk
IT asset inventory
2021–2023 · Le Mans Université
PC deployment
A deployment server to install staff workstations.
Context
New and reinstalled workstations had to reach staff ready to use, the same way every time.
What I did
Set up a deployment server to install work PCs in a repeatable way.
Prepared and installed staff workstations.
Deployment server
Workstations
2021–2023 · Le Mans Université
Support & maintenance
User support, network and server maintenance.
Context
Two years as an apprentice inside the IT team of a university, alongside a Bac+2 in systems and networks.
What I did
Day-to-day support for university staff.
Maintenance of the network and the servers with the team.
Hardware maintenance of workstations.
Networks
Servers
Support
2026 · Minecraft server · modpack
DataRace
A 223-mod “Create Civilisations” server, tuned and hosted.
Context
Still building for Minecraft: a modded survival server built on top of the “All of Create” pack.
What I did
Assembled and shipped seven versions in five days (June 2026): colonies, world generation, trains, far-view rendering, a performance pass, then content and quality-of-life mods.
Wrote down every choice: no land-claim mods, hard mob packs blocked, each mod tested on a staging world before going public.
Tuned and hosted it: server memory 4 → 10 GB with GC settings, view distance 8, simulation distance 6, on a VPS with a game-server panel.
Result
223 server mods on Minecraft 1.21.1 (NeoForge), measured at 20 TPS (5.3 ms per tick).
NeoForge 1.21.1
JVM tuning
VPS
Docker
2026 · Minecraft mod · co-developed
Pokémon League
A competitive league mod in Kotlin: gyms, ELO, tournaments.
Context
A full competitive mode on top of Cobblemon, the Pokémon mod for Minecraft.
What I did
Started the project with another developer and built its economy system.
The mod covers a 7-stage league with 5 gyms, ranked 1v1 and 2v2 with ELO, double-elimination tournaments for up to 32 players and 96 quests.
Kotlin
Fabric
Cobblemon
Minecraft 1.21.1
2025 · Own product · beta
SyncCast
Keeps esports casters on the same frame across Twitch and YouTube.
Context
Esports casters commentate the same match from different places — and each platform delivers it with its own delay.
What I did
Built the product in 8 days (268 commits, December 2025): rooms, a leader caster as reference, and resyncs scheduled on a shared server clock (Ably).
Twitch drift measured every second; a spread over 500 ms triggers a scheduled realignment.
An own HLS relay: streamlink + FFmpeg into 1-second segments on Cloudflare R2, segments uploaded before the playlist.
Teams with Admin / Manager / Caster roles and invites; room chat and live drawing over the video; Row Level Security on every table.
Redesigned the landing page in 2026 to explain the backend — only with what the code actually does.
Result
Beta, with 52 unit and 14 end-to-end tests.
Next.js
Ably
Supabase
hls.js
FFmpeg
Cloudflare R2
This site measures its audience with Google Analytics, only if you accept. Your choice is kept for 6 months.