An open API service indexing awesome lists of open source software.

https://github.com/sjviklabs/sjviklabs.com

SJVIK Labs public landing page (sjviklabs.com)
https://github.com/sjviklabs/sjviklabs.com

astro cloudflare-pages cybersecurity homelab landing-page sjvik-labs

Last synced: 27 days ago
JSON representation

SJVIK Labs public landing page (sjviklabs.com)

Awesome Lists containing this project

README

          

**Tier:** Labs

# sjviklabs.com

The landing page for [SJVIK Labs](https://sjviklabs.com). My personal-but-production 3-node Proxmox cluster, the books I write about it, and the configs that back both. The lab side lives at [`sjviklabs/infra-docs`](https://github.com/sjviklabs/infra-docs).

## Stack

- [Astro 5](https://astro.build/) for a static site with no JS framework runtime
- SJVIK brand v2 tokens via `svik-theme-tokens.css`, Labs tier (``)
- Inter for display and body, JetBrains Mono for code and accents
- Cloudflare Pages auto-deploys from `main`

No JS dependencies past Astro itself. Motion is CSS-only (`scroll-timeline`, `view-timeline`) and respects `prefers-reduced-motion`. I didn't want a marketing site that runs hot on a phone.

## Develop

```bash
npm install
npm run dev # http://localhost:4321
```

## Build

```bash
npm run build # → ./dist
npm run preview # preview the built output
```

## Brand assets

- `public/brand/sjvik-labs-wordmark-{light,dark,deep}.svg` are the canonical wordmarks. Mirrored from the `SJVIK-LLC/Brand/` folder in my vault.
- `src/styles/svik-theme-tokens.css` holds the pinned theme tokens. Sage accent, OKLCH warm-ink palette.

To update either, pull from `/data/obsidian/Career/SJVIK-LLC/Standards/` and `/data/obsidian/Career/SJVIK-LLC/Brand/`. Those are the source of truth, not this repo.

## Deploy

Cloudflare Pages, connected to this repo. Push to `main` and it builds. Custom domain is `sjviklabs.com` plus `www.sjviklabs.com`.

## Quality gate (per `sjvik-labs-standard-v2.md` §8)

- [x] `svik-theme-tokens.css` imported, no re-declared color hex
- [x] AA contrast (4.5:1 body, 3:1 UI)
- [x] `prefers-reduced-motion: reduce` disables motion
- [x] Footer lockup present (`Footer.astro`)
- [x] README first line: `**Tier:** Labs`
- [x] No secrets in frontend files

## Sister repo

[sjviklabs/infra-docs](https://github.com/sjviklabs/infra-docs) for the actual lab documentation, change log, and handbook PDF source.