Designing a Procedural Tetris-Tiled Homelab Dashboard with a Zero-Dependency Backend
If you browse r/homelab or self-hosted communities, you'll see dozens of dashboards: Homepage, Dashy, Flame, Homer, and others.
While they are capable tools, they often suffer from two common design patterns:
- Visual Monotony: Almost every dashboard is either a flat 12-column CSS grid or a list of bootstrap cards. After a while, they all look the same.
- Dependency Bloat: Running a dashboard often requires dozens of npm dependencies or external authentication proxies (like Authelia or Authentik) just to protect access.
I wanted a personal launchpad that was playful, visually striking, yet rock-solid and secure.
That inspired KV Home: a procedural Tetris-tiling personal dashboard and homelab hub.
đšī¸ The Procedural Tetris Layout Engine
Instead of placing cards into rigid rectangular slots, KV Home uses an in-browser backtracking constraint solver to pack your service links into interlocking tetromino shapes (I, J, L, O, S, T, Z):
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â [đšī¸ KV Home] [đ˛ Re-roll] [đ Dark] [âī¸ Admin (Ctrl+Shift+A)] â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ¤
â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â
â â đ KV Files ââ đŽ SysVis.AI ââ đĨ KV-DL Downloader ââ đ Blog â â
â â Rust Manager ââ System AI ââ Zero-Disk YouTube Engine ââ Tech Notes â â
â ââââââââŦââââââââââââââââŦâââââââââââââââââââââââŦâââââââââââââââââââââââŦââââââââ â
â â âââââââââââââââ´â âââââââââââââââââââââ´âââ âââââââââââââââââââ´âââââ â
â â â đē Jellyfin â â đŗ Portainer Stack â â đ Grafana Metrics â â
â â â 4K Media â â Docker Services â â Cluster Monitor â â
â âââ´âââââââââââââââ ââââââââââââââââââââââââ ââââââââââââââââââââââââ â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
How the Layout Solver Works:
- Aspect Ratio Analysis: The engine evaluates the client's screen width and determines the optimal grid matrix size.
- Tetromino Fitting: A recursive backtracking algorithm tiles the matrix with zero empty holes, assigning random tetromino geometries to each of your services.
-
SVG
clipPathRendering: Using dynamic SVG clipping and CSScalc(), individual blocks form continuous geometric shapes with consistent gutters and zero visual seams. - Interactive Re-Roll: Click the đ˛ Re-roll button or press space, and the engine re-seeds the solver, animating new falling tetrominoes into position!
đ Hardened Zero-Dependency Node.js Backend
One of my core design goals was eliminating runtime third-party dependency vulnerabilities.
The KV Home backend uses only standard Node.js built-in modules:
-
node:http: Fast native HTTP/1.1 request handling. -
node:crypto: High-speed cryptographic operations. -
node:fs/node:path: Local configuration persistence and asset serving.
Zero third-party npm packages are loaded in production. This dramatically minimizes security attack surfaces and memory overhead.
Built-in RFC 6238 TOTP 2FA
Securing your homelab dashboard usually involves configuring a complex reverse proxy with OAuth/OIDC.
KV Home includes a native implementation of RFC 6238 Time-Based One-Time Passwords (TOTP) written with node:crypto. You can scan a QR code with Google Authenticator, 1Password, or Bitwarden directly from the setup wizard, providing robust 2-factor protection out of the box with zero external dependencies.
đ ī¸ Live In-Place Admin Mode (Ctrl + Shift + A)
No need to open terminal sessions, edit YAML files, and reload Docker containers every time you add a new service.
Pressing Ctrl + Shift + A activates In-Place Admin Mode:
- Add new service cards and category tags directly on the dashboard.
- Pick icons, custom accents, and health-check endpoints.
- Rearrange priorities with real-time multi-device sync.
đ Quick Start with Docker
Deploy KV Home in seconds:
docker run -d \
--name kv-home \
-p 3000:3000 \
-v ./kv-home-data:/app/data \
vndangkhoa/kv-home:latest
Open http://localhost:3000 to experience your new homelab hub.
đ Check it Out on GitHub
KV Home is completely open-source under the MIT license:
â GitHub Repository: https://github.com/vndangkhoa/kv-home
đŗ Docker Hub: vndangkhoa/kv-home
Give your homelab a fresh, tactile look!
Top comments (0)