- TypeScript 87.6%
- CSS 11.8%
- Dockerfile 0.5%
The base .type-row rule sat after the mobile override in source order, so the 100/140 gutters kept winning and display text wrapped one word per line well above the 860px breakpoint. Move the override below the base rule and raise the threshold to 1024px — meta + spec share a row, sample claims full width. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .github | ||
| .vscode | ||
| apps/showcase | ||
| docs/superpowers | ||
| packages/web | ||
| .env.example | ||
| .gitignore | ||
| .prettierignore | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| LLM-SAFETY.md | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| requirements.md | ||
| SECURITY.md | ||
| tsconfig.base.json | ||
| tsconfig.json | ||
| turbo.json | ||
SeaOwl
A cyber-themed design system and the site that showcases it. Future home of a self-hosted, AI-powered personal video archive.
SeaOwl is a work-in-progress project with two distinct layers that ship today, and a bigger long-term goal that doesn't.
What ships now:
- 🎨
@seaowl/web— a React design system with 27 cyber-themed components, 40+ Radix UI primitives, OKLCH colours, and WCAG AA compliance. - 🪩 seaowl.unfuck.cloud — a single
long SPA page that hosts the hero, installation, foundations, and
every component showcase as deep-linkable anchors under a left
sidebar (Introduction + Components). Built from
apps/showcase.
What doesn't ship yet:
A self-hosted video archive — upload phone videos, let Gemini and OpenAI describe them, store embeddings in pgvector, search them with natural language. The long-term vision lives in requirements.md.
Repo layout
seaowl/
├── apps/
│ └── showcase/ # Next.js static export → seaowl.unfuck.cloud
├── packages/
│ └── web/ # @seaowl/web — React design system
└── docs/
└── design-system.toml # Design tokens (colours, type, spacing)
Quick start
git clone https://github.com/rosnovsky/seaowl.git
cd seaowl
pnpm install
pnpm dev
Opens the showcase site at http://localhost:3001.
Requirements: Node 20+, pnpm 10+, Docker is optional.
Using @seaowl/web in your own app
import { SeaOwlButton, SeaOwlCard, SeaOwlBadge } from '@seaowl/web'
/* app/globals.css */
@import "tailwindcss";
@import "@seaowl/web/styles";
The package isn't on npm yet — it's a workspace dependency today. npm publication tracking: issue #?.
Deploy
The site builds as a static Next.js export and runs in a minimal
serve-over-HTML container (no Node.js at runtime):
docker build -f apps/showcase/Dockerfile -t seaowl-app:local .
docker run --rm -p 3000:3000 seaowl-app:local
Production is a K3s cluster at unfuck.cloud. Kubernetes manifests live
in a sibling repo; see CLAUDE.md for the pipeline.
What's coming
| Area | Status |
|---|---|
@seaowl/web design system |
✅ 27 components shipping |
apps/showcase SPA (single page, deep-linked sections) |
✅ live at seaowl.unfuck.cloud |
| VS Code / JetBrains / Zed themes | 🔲 next |
| Ghostty, Kitty, tmux themes | 🔲 next |
Publish @seaowl/web to npm |
🔲 soon |
apps/web video archive (TanStack Start) |
🔲 long-term |
| Video processing worker (FFmpeg + Gemini + OpenAI) | 🔲 long-term |
See CHANGELOG.md for release notes.
Contributing
See CONTRIBUTING.md. Security issues: please email art@rosnovsky.us — see SECURITY.md.
License
MIT © 2026 Art Rosnovsky.