I build custom WordPress for agencies — brand included when there isn't one yet — and Laravel product work on systems that are already in production.
Six years in the PHP ecosystem. Bogotá, GMT−5, overlapping the US workday. White-label: your clients never hear my name.
jhosno.github.io · LinkedIn · jhosno.dev@gmail.com
The brief both times was the login details and two adjectives: "modern and pretty." No brand, no guide, no design.
| The Dover Street Examiner | Clute Institute | |
|---|---|---|
| The call | The voice was already paranoid parody. So direct it straight — the more convinced the design, the funnier the text. | No color to inherit. Teal instead of every newspaper's navy. |
| Type | Heavy grotesque + mono | High-contrast serif + mono |
| Texture | Real night photography | Generative polygons |
| Before | archive.org, Mar 2026 | archive.org, Feb 2026 |
Same Elementor install. Two identities with nothing in common — on purpose. Two clients of one agency shouldn't converge.
Give form to what has none. web design, type systems, custom WordPress builds. The brief is usually two words and that's fine.
Fix what's already running. Refactoring critical modules, multi-tenant data isolation, payment gateways, legacy nobody wants to open.
They look like two jobs. They're one verb: reading what someone else already wrote — code or copy — and finding where reality drifted from intent.
Creatienda — multi-tenant e-commerce SaaS for LATAM small businesses. Refactored critical modules into a service layer following SOLID: +20% response speed. Multi-gateway payments via Factory pattern behind one shared interface, so adding a provider stopped touching the checkout core.
MenúMaestro — my own product. Digital QR menus for restaurants, built in four steps.
jhosno.github.io — this portfolio. Hand-built in HTML, CSS and GSAP. No template, no photography: the ASCII Venus flytrap in the header, the dither field and the cursor are procedural, generated at runtime on a monospace grid. The cursor is a bug. The plant knows.
WordPress themes · custom plugins · WooCommerce · Elementor · performance
Laravel PHP · MySQL · Spatie Multitenancy · Socialite · SOLID
Design web design · UI · type systems
Front JavaScript · TypeScript · React · Tailwind · GSAP
Tools Git · Docker · GitHub Actions · Figma
| Available for | agencies, studios and product teams |
| Terms | white-label · remote · clients unnamed |
| Hours | Bogotá GMT−5, overlaps the US workday |
| I ship | brand, visual system and the site running |
| Languages | native Spanish · English C2 (EFSET 73/100) |
| To start | send the stack trace, or two adjectives |
Español
Hago WordPress a medida para agencias —con la marca incluida cuando todavía no existe— y producto en Laravel sobre sistemas que ya están en producción.
Seis años en el ecosistema PHP. Bogotá, GMT−5, solapo con la jornada de Estados Unidos. White-label: tus clientes nunca escuchan mi nombre.
Dos diarios, misma agencia, con semanas de diferencia. El encargo las dos veces fueron los accesos y dos adjetivos: «moderna y linda». Sin marca, sin guía, sin diseño previo. Mismo Elementor, dos identidades que no se parecen en nada — a propósito: dos clientes de una misma agencia no pueden converger.
Lo que hago son dos cosas que parecen distintas. Dar forma a lo que no la tiene —identidad, dirección de arte, sistemas tipográficos— y arreglar lo que ya está corriendo —refactor, multi-tenancy, pasarelas de pago, legacy que nadie quiere abrir—. Es el mismo verbo: leer lo que escribió otro, código o copia, y encontrar dónde la realidad se separó de la intención.
Para empezar: traé el stack trace, o dos adjetivos.
🐈⬛ Cat parent to Hela, a very black cat. Art history in my spare time. The flytrap up top catches bugs; so do I.



