
BooPoom
ProblemA single product record cannot express the full parts catalog.
- Scope
- YoungCart migration · Product and parts data · Seller bulk CSV workflows
- Evidence
- Multi-product CSV updates and quotation-to-order conversion
Designing since 2013
“Something roughly like this — could you do it?”
No plan? I build the structure. No screens? I draw them. It needs features, an admin, a server — I do those too.
I do whatever it takes to keep the service running all the way through.
The title doesn't matter much. I'm the one still there when the idea becomes a service. That's the job.
Selected work

ProblemA single product record cannot express the full parts catalog.

ProblemThe client's requirements were scattered across spreadsheets, HWP documents and slide decks, and some of them contradicted each other.

ProblemThere was no photography budget and no studio.
All case studies
Showing 6 of 18 case studies
Some have been operated by the client since handover, so the content may have moved on.
Design work
Logos, catalogues, posters, banners, product pages and web concepts — selected from the archive since 2016.
Approach and background
What you stop paying for
3 vendors1 person
Whoever draws the concept writes the markup and builds the front-end. Nothing leaks in between.
Endless revisionsA choice of two
Where several people sign off, I present two directions from the start. It becomes a decision, not a correction.
Calling a developer to change a sentenceThe operator edits it
Most maintenance requests were never bugs — they were copy changes. So the admin gets built for that.
How I work
The technology changed on every project. The sequence never did.
There is no spec.
There is, however, an idea.
I turn the story in someone's head into a structure,
and the structure into screens.
Design, code, admin, server.
One at a time, in whatever order it needs.
It has to still make sense to me a year later.
If it does, somebody else can pick it up too.
Almost no project has arrived with a complete specification.
I gather everything — spreadsheets, slide decks, chat threads, phone calls — and work out what is actually being built.
What I don't know, I confirm rather than assume.
Whoever drew the concept writes the markup and builds the front-end. Same person.
No handoff means nobody ever says “this isn't what the design showed”.
API keys stay on the server, never in the app.
Anything I expect to swap out later gets an interface now.
A service is used far longer than it is built.
Building it myself doesn't make it safe from me.
Two weeks of real use, then anything unused comes out.
Knowing what to drop is harder than shipping more.
AX · Transforming how work runs
Automation comes last. First I turn the places people were filling in with judgement into written rules, then make those rules verifiable — and only then attach a tool. That is what lets the work keep running after whoever built the tool has gone.
As sales channels multiplied, the options and prices for the same product drifted apart. Checking which value was correct meant a person opening every screen and comparing by eye.
Notation differed per channel, so even deciding whether two listings were the same product was the first problem. I normalised option combinations into signatures — only then was there a unit a machine could compare.
41,067 raw option rows → 11,444 distinct option axes
Prices that diverged depending on who handled them became a documented pricing rule. The point is to move the decision from the person to the rule.
I separated diagnosis and correction planning from execution: what changes and why is produced first, reviewed, and only then run. That is how you stop automation from being quietly wrong.
0 unregistered axes on re-comparison after migration
The automation ships as an executable, so non-developer operators register products and change prices themselves without going through a developer.
A tool only I can run isn't a transformation — it's a new bottleneck. Making it handover-ready is part of the job, not an extra.
PyInstaller packaging · run by operators directly
Before handing a codebase to an AI agent I define the naming, CSS variables, breakpoints, prohibited patterns and documentation procedure. That is how I take the speed without losing the quality bar.
Every number here comes from an actual deliverable. I have left out any saving or ROI figure I could not verify.
205, and the ones I lost count of
Some got one website. Some I've been fixing alongside for years.
205 counts only the work I still hold files for. Plenty of the early jobs were never archived at all.
Wildly different industries, almost identical sticking points.
The admin is awkward. Plenty of features, none of them usable.
At some point I started looking at the structure before the features.
Sectors
Client names are withheld. The sector split is my own rough grouping of what survives in the archive, not an audit.
Things I kept running into
Most maintenance requests weren't bugs. They were “could you just change this one sentence?”
So the admin kept shifting toward what an operator finds easy, not what a developer finds easy.
Public bodies and associations have several people signing off.
One concept gets you revisions. Two concepts get you a decision.
I inherited a lot of Gnuboard, Youngcart and ageing PHP projects.
Editing before understanding the structure almost always broke something elsewhere.
So even now, on day one I barely touch the code.
I watched too many handed-off designs come out half-degraded.
So I took the markup back.
Scope
For one client I've drawn the logo, laid out the catalogue, printed the banner, built the site and pushed it live.
So the brand on the business card and the brand on the website don't look like two different companies.
Contact
That's how most of them started.
Tell me why you want it before you tell me what it is.
I'll reply by separating what I can take on from what I can't.
Open to roles in Korea, contract work, and remote projects internationally.
I usually reply within 24 hours.