I write JavaScript, CSS, and HTML — the three languages of the open web. Building interfaces, small tools, and quiet front-ends from a studio in Copenhagen.
I'm Yohannes Trevijo PaulYTP — most people online know me as vingaming1113. I write JavaScript, CSS, and HTML. Not frameworks first — the languages first. The trio that runs in every browser, on every device, without a compile step or a runtime dependency.
Most of my work is small: a tool that does one thing, an interface that loads in under a second, a page that still works when the network drops. I prefer reading code to writing it, and prefer deleting code to either.
When a framework is the right answer I use one. When it isn't, I don't. The default is the platform.
Behaviour, state, and the small machines that live between the user and the data.
since 2018Layout, rhythm, restraint. Letting the document breathe rather than forcing it into a grid it didn't ask for.
since 2018The document before the design. Structure that still reads correctly with no stylesheet at all.
since 2018I also read TypeScript, Rust, and Go fluently — but I don't write them in production. The three above are where I live.
A bookmarklet that strips a page to its article, then sets it in a serif at a comfortable measure. No tracking, no account, no settings panel.
A personal journaling system built on plain markdown files and an 80-line build script. Deployed via git push. Has survived three hosting migrations without a single changed file.
A 16-color palette generator that constrains every output to WCAG AA against pure black and pure white. The constraint is the feature. Ships as a single HTML file.
A live typographic sandbox for testing measure, leading, and scale on real prose. Used by a handful of designers I respect, which is the only metric that matters.
A canvas tile renderer that draws a hand-drawn-looking map from OpenStreetMap data. Slow on purpose — 60fps isn't always the goal.
The web was already good. It had documents, and links, and the back button. Then it got better — complicated — and most of what got added, I'm not sure we needed.
I write small. I write to be read. I write in the languages the browser already speaks, and I try to leave the page quieter than I found it.
Restraint is a feature. Silence is a feature. A page that finishes loading is a feature.
A static-site generator in 200 lines of JavaScript. No dependencies. No plugins. No config file — just a folder of markdown and a single script.
The Information by James Gleick. Third time through. Before that: Patterns of Software — Richard Gabriel.
Stars of the Lid — And Their Refinement of the Decline. On loop. Always on loop.
Last updated — 14 June 2026