nested links broke the project card. HTML still punishes cute composition.
bottom chrome had to stop fighting mobile. fixed beats theatrical when the ticker needs room.
globe latitude lines were almost right, which means wrong. curves need to meet the silhouette cleanly.
subsetting the Japanese font dropped the silly 16mb payload. aesthetics still have a cost budget.
feed links belong in the head and the chrome. machines and people should find the same door.
OG cards at build time. no browser, no drama. satori to SVG, resvg to PNG.
Atom feed first. the firehose should be readable without the site chrome.
likes need logo fallback. taste lists should not break just because an SVG is missing.
micro posts got detail pages. tiny entries still deserve stable URLs and a way back.
scaled the chrome up by 1.25. the HUD needed density, not whitespace pretending to be taste.
404 page can be maximal. if the route is gone, the machine should panic beautifully.
about and now pages needed rails. plain prose alone felt too normal for this interface.
transmissions are just links, but they need their own room. saved attention is content too.
reading page is a log, not a review system. status and rating are enough pressure for now.
projects index should not pretend everything is finished. live, wip, dead. honest labels beat portfolio gloss.
danger frame is pure theater, but useful theater. it tells the page what kind of machine it lives inside.
nav strip works better as symbols plus short labels. full words start feeling like dashboard filler.
marquee text has to self-tile. otherwise the loop exposes the trick.
likes needed a schema before they needed polish. name, note, url, logo, added. taste still needs structure.
recursive partials were inevitable once chrome started including chrome. cycle detection keeps the cute idea honest.
journal index wants density. not cards everywhere. rows, numbers, status panels, scan rhythm.
the visual kit is mostly small parts. badge, counter, clock, equalizer, globe. chrome as vocabulary.
self-hosted fonts make the site feel more like an artifact and less like a page borrowing clothes.
kanji belongs in constants, not sprinkled through templates like confetti.
fixed the partial-in-partial bug. recursive expansion with cycle detection. five lines, took an hour to find.
RSS chrome should disappear when the section is disabled. feature flags should affect the furniture too.
dev server has file watch and SSE reload. small luxury, large difference when tuning pages by feel.
tiny template renderer. escaped variables by default, raw only when asked. good enough beats clever here.
frontmatter validation is boring until it saves the archive from one bad note.
markdown first, shiki second. code blocks need to look cared for even when the site is still bones.
fixed micro slugs around UTC. dates are content, not decoration. timezone drift would make the archive lie.
jetbrains mono is the move. tried berkeley mono first. too literary for a cyberpunk site.
cheap models for routine maintenance. stronger models for synthesis and judgment. spending intelligence evenly is lazy.
crime game notes keep turning into systems notes. incentives, memory, suspicion, timing. mechanics before plot.
good agents close loops. observe, act, verify, report. escalate only when the loop breaks.
agent identity should belong to a domain. mail hosting is an implementation detail, not the anchor.
Google Workspace as a CLI is more interesting than another Drive wrapper. agents need surfaces, not screenshots.
news briefing agents should start with RSS and boring scrapers. expensive daily synthesis is the last step, not the first.
agent patterns differ less in the happy path than in recovery. state, retries, review, handoff. that is where the shape appears.
agent research wants a document store before it wants a dashboard. keep the traces queryable first.
agent traces matter because generated work needs a receipt. what changed, why, from which source.
tests are becoming the review surface for AI code. without them, speed is mostly vibes.
world models get interesting when i can run a small local experiment. otherwise it is another demo to admire from a distance.
AI did not remove review. it moved more work there. that feels like the part everyone wants to skip.
measure cold start from module load to tracing ready. otherwise the interesting part disappears before the tracer wakes up.
every Postgres project eventually needs the same metadata query. tables, columns, types, defaults. boring until it saves an hour.
system design is not one big concept. it is fundamentals, constraints, tradeoffs, then operational judgment.
offline AI is more interesting as a small-device interaction sketch than as a worse cloud assistant.
short-form code demos are mostly junk, but sometimes the compression reveals the trick faster than a tutorial.
product resources age fast. the useful ones explain tradeoffs, not ceremonies.
fire, water, air, earth still works as a design vocabulary. movement, patience, aggression, stability. simple enough to hold.
my medieval merchant sim needed UI before lore. if the loop is unclear, the worldbuilding is just wallpaper.
prioritization frameworks are useful until they start laundering fear as rigor.
sync should be inspectable before it gets clever. i want to know what file moved, where, and what happens on conflict.
the useful second-brain idea is not search. it is persistent synthesis, so you do not reread raw notes forever.
game development resources are often better at explaining feedback loops than product blogs are.
flexoki is the kind of palette that makes me want fewer colors, not more.
Obsidian keeps winning because the files are still files. the app can be replaced. the notes remain boring.
DALL-E 3 felt brain first, pixel second. language alignment mattered more than another texture jump.
router APIs are interface design. bad ones make the whole app feel like it has a limp.