jhosno◆
labs ← all work
[labs · explore · break · imagine · make]

Labs

A place to explore, break, imagine and make, just to see what comes out.

the verbs
explore · break · imagine · make
experiments
2
rule
zero stock · all generated
The thesiswhere the aesthetic comes from

the phraseeverything derives from it

I read what is already there before touching anything. Sometimes it is broken code someone else wrote. Sometimes it is a web design that does not exist yet.

grow

Give shape

material
a design that does not exist
in the work
Dover, Clute, Amanda Escalona
in the card
brief · call · shipped
caught

Diagnose

material
code that exists and fails
in the work
Creatienda, WordPress rescue
in the card
symptom · catch · outcome

They look like two profiles. They are one skill. Refactoring is reading code someone else wrote and finding where reality drifted from intent. Designing Clute was reading someone else's copy and finding its voice. Same verb, two materials.

Why a carnivorous plant

It is predatory and ornamental at once. People keep it as decoration, and it also eats. That solves in one image three things that usually contradict each other:

  • reliableIt waits. It does not improvise. It has a cycle.
  • complexIt is a state machine, not a drawing.
  • prettyIt is the reason someone keeps one at home.

what survives a redesign4

the verb
read before touching
two halves
diagnose and give shape
the visitor
is the prey
proof
verifiable over claimed

The magenta, the violet, the ASCII and the glitch are today's execution of those four. They can change. The four cannot.

Experimentsexplore ✳ break ✳ imagine ✳ make
grow→wait→fly→caught→reopen
catches this visit00
lab · ascii · 2026live

Dionaea

The plant behind the portfolio's hero is a Venus flytrap written in ASCII and rebuilt every frame. Each lobe is a lens-shaped arc hinged on the petiole, with teeth fanned toward the tip. Opening and closing is one number per trap.

It has a full state machine, and it was there before the thesis was. The thesis was read out of it, not drawn into it. Two lines decide everything:

hero.jsexcerpt
// it does not hunt until it finishes growing
if (grow < 0.85) { BUG.st = "wait"; return; }

// it yields the turn to the visitor
if (CUR.vis && CUR.st === "alive") { BUG.t0 = t + 2.0; return; }

First it gives itself a shape, then it catches. And when you enter the site, your cursor is a bug, \#/, and the plant waits for you instead of its own fly. The specimen on this page runs the same geometry and the same timing.

states
grow · wait · fly · caught · reopen
bite
0.09 s · power4.in
reopen
2.4 s · power2.inOut · after 0.7 s
ramp
 .:-=+*#%@
stack
html · css · gsap · lenis

The book from Clio's landing, rendered live in ASCII: every page is drawn in 3D and shaded each frame.

lab · 2026in development

Clio
Reader

A local-first reader that keeps what you read: highlights and notes tied to their exact passage, stored in SQLite on your machine and exported to Markdown, ready for Obsidian. The desktop reader runs on Windows and Linux; an Obsidian plugin comes next and Android after that.

The symptom. I wanted my Zettelkasten notes in my Obsidian vault while I read. I could not find a Windows reader I liked, much less one that played well with Obsidian. My notes kept ending up sealed inside each EPUB reader, and the EPUB plugins inside Obsidian never felt comfortable.

status
in development
stack
[to confirm]
repo
[link when public]
started
[date]