No description
  • TypeScript 80.9%
  • CSS 18.2%
  • Shell 0.4%
  • Dockerfile 0.3%
  • JavaScript 0.2%
Find a file
Art Rosnovsky 0d6bcd611c
Some checks failed
CI / Lint, typecheck, build (push) Has been cancelled
CI / Docker build (no push) (push) Has been cancelled
add plausible
2026-04-25 22:13:07 -07:00
.github docs: scrub remaining docs.seaowl / apps-docs references from project docs 2026-04-22 15:07:22 -07:00
.vscode feat: initialize Seasaw with TanStack Start and cyber design system 2026-04-22 15:05:02 -07:00
apps/showcase add plausible 2026-04-25 22:13:07 -07:00
docs/superpowers docs(plan): implementation plan for docs/showcase consolidation 2026-04-22 15:07:22 -07:00
packages/web chore(release): v2.3.2 — accessibility audit, zero violations 2026-04-25 17:01:59 -07:00
.env.example docs: add publication artifacts and CI workflow 2026-04-22 15:05:51 -07:00
.gitignore chore: tighten docs h1 leading to 1.1; untrack screenshots/ 2026-04-22 15:07:30 -07:00
.prettierignore feat: initialize Seasaw with TanStack Start and cyber design system 2026-04-22 15:05:02 -07:00
CHANGELOG.md chore(release): v2.3.2 — accessibility audit, zero violations 2026-04-25 17:01:59 -07:00
CLAUDE.md docs: reflect SPA single-page layout in CLAUDE.md + README 2026-04-22 15:07:30 -07:00
CODE_OF_CONDUCT.md docs: add publication artifacts and CI workflow 2026-04-22 15:05:51 -07:00
CONTRIBUTING.md docs: scrub remaining docs.seaowl / apps-docs references from project docs 2026-04-22 15:07:22 -07:00
LICENSE docs: add publication artifacts and CI workflow 2026-04-22 15:05:51 -07:00
LLM-SAFETY.md feat: initialize Seasaw with TanStack Start and cyber design system 2026-04-22 15:05:02 -07:00
package.json chore(release): v2.3.2 — accessibility audit, zero violations 2026-04-25 17:01:59 -07:00
pnpm-lock.yaml add plausible 2026-04-25 22:13:07 -07:00
pnpm-workspace.yaml add plausible 2026-04-25 22:13:07 -07:00
README.md docs: reflect SPA single-page layout in CLAUDE.md + README 2026-04-22 15:07:30 -07:00
requirements.md feat: initialize Seasaw with TanStack Start and cyber design system 2026-04-22 15:05:02 -07:00
SECURITY.md docs: scrub remaining docs.seaowl / apps-docs references from project docs 2026-04-22 15:07:22 -07:00
tsconfig.base.json feat/turborepo-migration (#1) 2026-04-22 15:05:19 -07:00
tsconfig.json rebrand: migrate from @seasaw/cyber to @seasaw/ui package 2026-04-22 15:05:19 -07:00
turbo.json feat: rebrand Seasaw → SeaOwl 2026-04-22 15:05:19 -07:00

SeaOwl

A cyber-themed design system and the site that showcases it. Future home of a self-hosted, AI-powered personal video archive.

License: MIT CI

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.