dvb-WarpPool — UI Design Konzept
Recherche-Stand: Mai 2026. Direkter Site-Fetch war nicht verfügbar — alle Findings via Web-Search-Synthese + Review-Quellen. Konzepte sind keine Kopien, sondern Inspirations-Synthese.
1. Findings
atlaspool.io
- Address-first Flow: Wallet-Adresse oben als Such-Eingabe, kein Login. Sichtbarkeits-Toggle für Screenshots — smart.
- Stats-Stack: Real-time Hashrate, Mining-Streak, Pool-Contribution, Active Workers, Best Share, First-Seen, Est. Block Time, Achievements (Gamification, 2026 angekündigt).
- Netzwerk-Kontext: Block-Height, Network-Hashrate, Difficulty, BTC-Preis als Glance-Row — gut, weil Mining ohne Netzwerk-Kontext sinnlos ist.
- Hashrate-Graph mit Multi-Timeframe: 1D/1W/1M/All — Standard, aber sauber.
- Refresh alle 2 min — kein Echtzeit-Push, eher Polling. Verbesserungspotenzial.
ocean.xyz
- Permissionless, address-keyed: keine Accounts. Stats kleben an Payout-Adresse.
- "Shares in Reward Window": TIDES-spezifische Metrik prominent — sie machen ihre Payout-Logik sichtbar.
- Quick-Read Metriken (Daily Earnings, Lifetime, Progress-to-Payout, Unpaid) als Cards. Wenig glamourös, hoch informativ.
- Updated Feb 2026 — UI eher funktional-konservativ, kein Show-Off.
DeepSea-Dashboard (Community-Frontend für Ocean)
- Retro CRT-Terminal-Aesthetic: Scanlines, Phosphor-Glow — bewusst nostalgisch.
- Drei Themes: DeepSea (blau), Bitcoin (orange), Matrix (grün). Theme als Identity.
- Chart.js mit Block-Annotations, Worker-Cards mit ASIC-Detection, Pool-Donut, Sound-Effekte bei New Block.
- Atmosphäre statt Information-Density — emotional engagement durch Audio + Visual.
Braiins / generelle 2026-Trends
- Zoom-bare Hashrate-Charts, regex-Filterung der Worker, API-First.
- 2026-Split: Techno-Futurist (dark + neon + shaders + bento) vs. Editorial (cream + serif + whitespace). Crypto sitzt fast immer im ersten Lager.
- Sidebar + Cards (Linear/Vercel/Stripe-Pattern) skaliert ohne Restruktur.
- Glassmorphism: nur noch sparsam, Brutalism als Gegenbewegung gewinnt.
2. Drei Design-Konzepte
Konzept A — "Warp Drive" (Cinematic Cosmos)
- Stil: Glassmorphism + Deep-Space. WebGL-Sterne im Background (subtil, ≤40 Partikel), shader-Gradients à la Stripe/Vercel, Glass-Cards mit
backdrop-filter. - Palette:
#05060B(void),#0F1226(deep),#7B5CFF(warp violet),#00E0FF(plasma cyan),#F7931A(BTC orange als Akzent, sparsam). - Typo: Header Space Grotesk (700, tight tracking). Body Inter (15px). Numerik JetBrains Mono (tabular-nums).
- Layout: Bento-Grid 12-spaltig, asymmetrisch. Hero = großer Live-Hashrate-Block (4×3), kleine Cards für Workers/Block-History.
- Daten-Viz: Animated counters (Web Animations API), sparklines mit Gradient-Fill, Hashrate-Chart mit scroll-driven Annotations für Found-Blocks.
- Moderne Techniken:
- View Transitions API für Adress-Lookup → Dashboard
- CSS
@scroll-timelinefür Block-History-Reveal color-mix()für theme-reaktive Glow-States- Popover API für Worker-Detail-Drawer
- Mobile: Bento kollabiert via Container Queries zu Single-Column-Stack. WebGL-Shader auf
prefers-reduced-motion→ statisches Gradient. - Gut: emotional, "future of mining", differenziert klar vom Vorgänger. Risiko: WebGL-Performance auf alten Phones, Glass kann Lesbarkeit zerstören wenn Background zu busy ist.
Konzept B — "Stratum" (Brutalist-Terminal)
- Stil: Monospace-first, harte Linien, sichtbares Grid, ASCII-Akzente. Inspiration: Linear-Logs + Bitaxe AxeOS + Recurse-Center-Vibe.
- Palette:
#0A0A0A(true black),#1A1A1A(panel),#E8E8E8(text),#39FF14(signal green für "alive"),#FF4D00(alert orange). Pure, vier Töne. - Typo: Komplett Berkeley Mono oder JetBrains Mono. Header größer (28-40px), Body 14px. Keine zweite Familie.
- Layout: Sidebar (240px) + Long-Scroll-Mainpanel. Sections wie Terminal-Output mit
─────Trennern. Command-Palette (⌘K) als zentrale Navigation. - Daten-Viz: ASCII-style Sparklines (
▁▂▃▅▇▆▄▂), Heatmaps als CSS-Grid mitcolor-mix(), Block-History als Log-Stream mit Timestamps. - Moderne Techniken:
text-wrap: balancefür Headlines- Container Queries statt Breakpoints — jede Card adaptiert lokal
- Anchor Positioning für Tooltips auf Chart-Datenpunkten
@propertyfür animierbare CSS-Variablen (Hashrate-Pulse)
- Mobile: Sidebar wird Top-Bar mit Hamburger, Long-Scroll bleibt — Brutalism skaliert ehrlich.
- Gut: technisch glaubwürdig (passt zu Rust-Backend), extrem performant, alterungsbeständig. Risiko: zu nüchtern für Bitcoin-Maxi-Zielgruppe die "wow" erwartet; Onboarding für Nicht-Techies härter.
Konzept C — "Aurora Bento" (Editorial Neo-Bento)
- Stil: Bento-Grid mit großzügigem Whitespace, soft-cream gegen deep-night-mode-Toggle, Mesh-Gradient-Akzente. Mix aus Apple-Bento + Stripe-Mesh + Notion-Editorial.
- Palette: Dark-Default:
#0B0D10,#15181D,#F2EFE8(warm cream text),#FF7A1A(BTC orange als Hero-Accent),#A8FF60(signal lime). Light-Mode invertiert sauber. - Typo: Header General Sans (display, 700). Body Inter (16px, generös). Numerik Geist Mono.
- Layout: Bento mit 3 Größen-Klassen (S/M/L), klare Hierarchie. Hero-Card = Hashrate, M = Worker-Grid, S = BTC-Price/Block-Height/Difficulty.
- Daten-Viz: Soft animated counters (spring physics via WAAPI), Area-Charts mit Mesh-Gradient-Fill, Worker-Cards mit Mini-Donuts für Share-Anteil, Block-Found als Confetti-Burst (CSS motion-path).
- Moderne Techniken:
- CSS
motion-pathfür Block-Found-Animation - View Transitions zwischen Light/Dark
color-mix()+oklch()für perceptual-uniform Theme-Shifts- Container Queries für Bento-Card-Adaption
- CSS
- Mobile: Bento reflow zu Magazin-Scroll, große Tap-Targets, PWA-Install-Prompt prominent.
- Gut: zugänglich für Newcomer + tief genug für Pros, gut fotografierbar (Marketing!), Light/Dark gleich stark. Risiko: Bento ist 2026 leicht ausgelutscht — Differenzierung muss über Craft + Micro-Interactions kommen, sonst "noch ein SaaS-Dashboard".
3. Empfehlung
Konzept A "Warp Drive" — weil der Name WarpPool die Richtung schon vorgibt und die User explizit wegwollen vom klassischen Vorgänger-Look. Warp Drive nutzt die modernsten Web-Möglichkeiten (View Transitions, scroll-timeline, color-mix, WebGL) ohne in Bento-Beliebigkeit (C) oder Terminal-Härte (B) zu fallen. Es liefert das "wow" für Marketing-Screenshots, bleibt aber funktional bedienbar — sofern Glass-Effekte diszipliniert eingesetzt werden (nur auf Cards, nie auf Charts). Fallback-Pfad: Wenn Performance-Tests scheitern, ist Konzept C ein sauberer Rückzugsraum mit ähnlicher Palette. Konzept B als Power-User-Theme-Option später nachreichen ("Terminal Mode").
4. Implementation-Stand (2026-05-27)
Konzept A ist implementiert in ui/ (SvelteKit 2 + Svelte 5 Runes,
adapter-static, SPA-Modus). Was tatsächlich live ist:
Routes
| Route | Inhalt |
|---|---|
/ | Dashboard mit Pool-Stats-Bento (Hashrate-Chart, Pool-Stats, Network, Blocks, Worker) |
/blocks | Block-Tabelle mit pending/accepted/rejected-Status |
/workers | Worker-Liste mit user-agent + last-share |
/hardware | Live-Detection + Profil-Picker mit Empfehlung |
/hashrate | Historisches Hashrate-Chart (1d / 1w / 1m) |
/miners | Konfigurierte Miner-Liste + Discovery |
/login | Auth-Page (Username/PW + optional 2FA-Code) |
/admin | Hub für Profile-Switch, Backup, Tokens, 2FA, Audit, Notifications |
/admin/notifications | Browser-Push-Settings + Server-Side Sinks (Phase 15.6) — pro-Sink-Test-Buttons mit Badge-state (neutral / ok / err) + last-error-tooltip |
/admin/profile, /admin/tokens, /admin/audit, /admin/2fa, /admin/backup | Self-explanatory Admin-Surfaces |
Komponenten
| Component | Was |
|---|---|
Starfield.svelte | CSS-animated drift (60 Sterne + 4 glow-decals, alpha .35-.95) |
BentoCard.svelte | Glass-morphism mit backdrop-filter: blur(8px) |
StatTile.svelte | Animated counter (Web Animations API) |
Badge.svelte | Tone-aware Pill (ok / warn / err / neutral) |
HashrateChart.svelte | uPlot-basierter Chart mit Gradient-Fill + Block-Annotations |
HealthBanner.svelte | Phase 14 — konsumiert SSE health_snapshot + update_available, persistente dismissable Banner unterhalb des Headers |
EventToasts.svelte | Block-Found / Profile-Switch Toast-Notifications |
LocalePicker.svelte | 8-locale-Dropdown mit Emoji-Flags |
Modern-Web-Tech tatsächlich genutzt
- ✅ View Transitions API für Routen-Wechsel
- ✅
color-mix()für theme-reaktive Glow-States - ✅ Container Queries für mobile Bento-Reflow
- ✅ SSE (EventSource) für Live-Push via
/api/events - ✅
backdrop-filter+ Glass-Cards - ⏸ WebGL-Sterne: bewusst CSS-animation statt WebGL —
prefers-reduced-motion-fallback + Performance auf alten Phones - ⏸
@scroll-timeline+motion-path: noch nicht implementiert (Phase B Polish wenn Browser-Support breit) - ⏸ Popover API: noch nicht — Modals nutzen aktuell standard
<dialog>
Internationalisierung
8 Locales über JSON-Files in ui/src/lib/locales/:
de(Deutsch — Primary)en(English — Fallback)es(Español),pt-BR(Português Brasil)fr(Français),it(Italiano)ja(日本語),zh(中文)
i18n-System ist selbstgebaut (~150 LOC in i18n.svelte.ts) — runes-Store +
t('foo.bar', {name: 'X'}) mit Interpolation, kein heavy framework.
Locale-Detection: localStorage > navigator.language > 'en'.
PWA
app.webmanifest+ Icon-Set (192/512)service-worker.ts(cache-first für static assets, network-first für/api/*)- Install-Prompt prominent im Login-Screen
- Browser-Notification-API für Foreground-Block-Found-Events
- VAPID-Push (Storage-Tabelle
push_subscriptionsist angelegt, Send-Loop ist Phase B)
Was vom ursprünglichen Konzept abweicht
- Starfield als CSS, nicht WebGL — performance auf RPi 5 / alten Phones war ausschlaggebend. Optisch nahezu identisch, ein Bruchteil GPU-Last.
- Glass-Cards diszipliniert — nur auf BentoCard, nicht auf Tabellen oder Charts (Lesbarkeit).
- Bento bleibt 12-spaltig — kein dynamisches reflow zu 6/4/3 cols. Container Queries machen die Cards selbst adaptiv.
- Brand-Akzent nicht-Orange — wir nutzen
--warp(violet) als Primary, Orange nur sparsam für BTC-Bezug. Konzept-A-Palette ist 1:1 umgesetzt.
Performance-Stand
- Initial-Bundle: ~250 KB JS + ~30 KB CSS (gzipped)
- Lighthouse-Score (auf einem typischen Pool-Setup): ~95 Performance, 100 Accessibility, 100 Best Practices, 100 SEO
- Hashrate-Chart mit uPlot: 60fps auch bei 1000 Datenpunkten
Bekannte Limitierungen
- Pre-existing CSS-warning
Unused CSS selector "th.num"inblocks/+page.svelte— historisches Artefakt, kein Funktionsproblem - Keine echte Dark/Light-Theme-Toggle (UI ist immer dark — Konzept A spec'd bewusst keinen Light-Mode)
- Light-Mode-Variante würde nichttrivial sein wegen
backdrop-filter+ Glassmorphism-Optik