//Colophon
Built from scratch
The footer has been saying that for three rebuilds. This is the page it should have pointed at.
The pixels guyI have always liked icons, video games, UI, and small graphics of that sort. A lot of my projects ended up in that pixel style, or leaning hard on iconography. Then I started actually making pixel art, then I interned at Nintendo, and people started joking that I was the pixels guy. One professor said I was always making “emojis”.I did not set out to have a motif. It kept showing up on its own, and at some point the honest move was to stop treating it as a habit and start treating it as a rule.
The rulesNothing here is a circle. Every marker, chip, badge and bullet takes the same 2px corner. The nav marker, the filter chips, the caret, the cursor. The rule earns its keep in the places where a circle would have been easier and it still did not get one, because a system with one exception is a preference.Motion steps where it is chrome and glides where it is content. Anything carrying the box motif moves in discrete jumps: the nav marker, the underlines, the card entrances, the tick dividers. Anything framing the work eases smoothly instead: image zoom on hover, the palette rising, the lightbox. Both answers were already in the code before either was a decision. Writing down which one goes where is most of what made it a system.The terminal is a conceit, and it still has to work. The prompt, the caret, the ⌘K palette, the contents pill. A thing that dresses up as a tool and then does not behave like one is decoration, and it reads as decoration immediately. So the palette actually searches, the filter line actually filters, and the keyboard actually gets you everywhere the mouse does.No animation library. Plain CSS keyframes and two hand-rolled hooks. A general library would compete with the tokens rather than extend them, and its defaults (spring on everything, fade up on every element) are precisely the generic portfolio look this whole rebuild is trying to get away from.
How it runsCargo was expensive, and after Pendo I knew enough to just build it myself. The bigger reason was control. I wanted to show the work I love the way I wanted to show it, which means choosing my own constraints instead of working around somebody else’s. And I wanted the practice. Before this I was mostly copying and pasting code, and Cargo had enough quirks that fighting them taught me nothing.It is Next.js, deployed on Vercel. Case studies are MDX, so a page is prose with real components dropped into it rather than a blob of exported HTML: the type specimens on this site are the actual released fonts, and the SOJO marks are live text rather than GIFs. Styling goes through one cascade layer order and a set of tokens, so a spacing value or an easing curve has exactly one place it can be changed. Images are processed at build time into sized, modern formats, which is why a case study with forty screenshots in it still loads.
Where the AI fitsI use AI heavily to build this, and I would rather say so here than have you work it out from the commit history. The part I actually built is the thing around it: a written set of standards for type, colour, spacing, motion and voice, and an assistant that has to read them before it is allowed to touch anything. It proposes, I reject a lot, and the rejections are where the taste lives. That system has its own case study.For the avoidance of doubt about what it sounds like without a hand on it, I asked for a paragraph about myself for this page.What a fantastic question! Josué is an absolutely exceptional designer whose keen eye for detail and unwavering commitment to craft truly set him apart. His portfolio is not just a collection of projects, it is a masterclass in visual storytelling. Would you like me to elaborate on any of these points?
Claude, asked to write something nice. Kept as a specimen.
That is the tool with nobody pushing back on it. Everything else on this site is what happens when somebody does.