NOMADIC-OWLS OS v2.2 · tty1 · owls@internet:~/guide

owls@internet:~$man ./guide

OWLS-GUIDE(1)Nomadic Owls — Site 04/10OWLS-GUIDE(1)

NAME

terminalowls@internet:~$ — a living CRT terminal session, one of ten design directions built for the real agency Nomadic Owls.

SYNOPSIS

bootwhoamicat manifesto.txtgrep belief .brainls services/./disciplines --table./projects --list --statuscat contact.txt — then control passes to you at a real prompt.

DESCRIPTION — concept & inspiration

The brief for this direction was "the full-stack pillar as a world." Rather than a page about a terminal, the whole site had to actually behave like one: it powers on (BIOS splash, memory check, kernel boot), then performs its own content as a typed session — cat, ls, grep — before handing the prompt to the visitor. The reference points were CRT monitors from the DOS/BBS era, neofetch-style system dumps, and the specific joy of a site that answers back. Every string a visitor can read is genuine Nomadic Owls copy from @owls/content — the terminal framing is a costume, not a rewrite.

The ASCII owl and NOMADIC OWLS wordmark are hand-assembled <pre> art rather than an image: this direction's brief specifically calls for "ASCII is the art," and shipping it as text keeps the whole hero readable, selectable, and copy-pasteable — the way a real terminal would be.

PALETTE & TYPE SPECIMEN

CRT Black
#0a0e08 — background
Phosphor Green
#33ff66 — primary
Hot Phosphor
#c8ffd9 — bright text
Amber
#ffb000 — accent / host
Dim Green
#1a5c2e — decorative / rules
The quick owl types 0123$#

VT323 (bitmap terminal face) drives every display size — prompts, boot text, section headers, ASCII art — for the raw glow of a monitor font. IBM Plex Mono carries long-form body copy (manifesto, project descriptions, guide prose) at 13.5–14.5px / 1.7 line-height, because VT323 at paragraph sizes reads charming for five words and tiring for fifty. Phosphor green #33ff66 is the default ink; amber #ffb000 is reserved for the host half of every prompt, section accents, and the CTA — a second signal colour, the way real dual-phosphor monitors distinguished system text from user text.

TECHNIQUES

  • Content stays server-rendered. Every command's output — manifesto, the three pillars, the six disciplines table, all six live projects with real hrefs, contact — is plain Astro-rendered HTML from Cmd.astro, sourced straight from @owls/content. No-JS visitors and crawlers get the complete page instantly; JavaScript only performs what's already there via a data attribute (ct.dataset.full) rather than inventing new markup.
  • Cancellable typing engine. tty.js wraps every setTimeout in a sleep() that registers itself in a pending[] array; a single tap, key, or scroll during boot calls flushSleeps(), resolving every outstanding timer at once and instantly revealing the full session — no half-typed lines left behind, no orphaned timers still running after skip.
  • BIOS boot sequence. A fixed overlay plays POST-style lines (CPU, memory count-up in 4096K steps, disk mounts, service checks), then a CRT "power-on" keyframe (scaleY from a hairline to full height with a brightness spike) before the owl splash and login prompt. It's gated by an inline head script that runs before first paint: bots (navigator.webdriver), prefers-reduced-motion, and repeat visits in the same tab (sessionStorage) skip straight to the finished page — the boot is a treat, never a tax.
  • The CRT itself is five stacked layers, not a filter: a scanline repeating-linear-gradient in multiply, a faint vertical aperture-grille, a radial-plus-edge vignette standing in for barrel curvature, a diagonal glass-glare band, and a slow phosphor "roll" band drifting down the tube on a 9s loop. Two prime-length steps(1) keyframe animations on <html> and <body> desync just enough to read as an irregular flicker rather than a metronome — all disabled under prefers-reduced-motion.
  • A real shell, not a chat widget. The bottom bar is an actual <form>: history via /, Tab completion against command names and a small filesystem table, a Levenshtein-distance "did you mean" for typos, Ctrl+L/Ctrl+C, and easter eggs (sudo hire owls, vim, owl). The visible input is a transparent, caret-hidden <input> layered under a styled echo + ghost-completion span, so real text selection, autofill and mobile IME all keep working while the glow-styled text stays purely decorative.
  • Mobile keyboard handling. visualViewport's resize/scroll events translate the fixed prompt bar upward by exactly the keyboard's height, so the input never hides behind the iOS/Android keyboard; command chips give touch visitors one-tap access to help, projects, contact and the easter eggs without typing at all.
  • Status bar fakes a live system: an uptime counter derived from the real "wandering since 2022" epoch, a random-walking three-number load average that drifts every 5s, and a UTC clock ticking every second — small, cheap signals that the "machine" is alive even before anyone touches the prompt.

Assets: none — no Higgsfield renders, no raster images. Every visual is hand-built ASCII, CSS gradients, and system fonts, per this direction's brief ("ASCII is the art").

THE ITERATION PASSES

  • Pass 1 — full-session screenshot review at every scroll depth plus mobile: boot legibility, hero owl/wordmark alignment against the CRT vignette, section-header contrast, the disciplines table and project rows under 390px, and the interactive bar's resting state all checked out. One real bug found: the top status bar's brand text was truncating to a single character on mobile (o_) because · tty1 · owls@internet had nowhere to go in the available width. Fixed by wrapping that segment in .sb-detail and hiding it under 700px, leaving just NOMADIC-OWLS OS v2.2 — still legible, no more mid-word clipping.
  • Pass 2 — built this /guide route and screenshotted it. Found a sharper bug: Astro collapses any whitespace run containing a newline down to zero characters (not one space) when it sits between a text node and the next line's tag — so multi-line prose like a page\n<em>about</em> compiled to page<em>about</em> in the actual HTML, silently gluing words together in over a dozen places across this page's paragraphs and list items. Rewrote every affected block as single unwrapped source lines to remove the whole bug class, then re-diffed the compiled HTML for any remaining glued-word patterns until zero were left. Also wired status.js into this page so the clock and uptime here are as alive as the homepage's, instead of frozen at --:--:--.
  • Pass 3 — nitpick sweep across desktop scroll depths and mobile for both routes: cursor blink, focus rings, footer rhythm, swatch alignment, and a final compiled-HTML scan confirmed no console errors and no leftover whitespace bugs anywhere in the session.

SEE ALSO

whoami(1), ./projects --list(1), sudo hire owls(8) — all live at /. Type help at the prompt for the full command list.

 ,___,
 {O,o}
 /)__)
-"-"--

Designed & built end-to-end by Claude (Fable 5) for Nomadic Owls.
← cd / — return to the live session