Skip to main content
THE BORG
Project · Pengu Dashboard
StatusLIVE · V9.0.0
URLpengu.naema.app
Deploys15+
SYDNEY · AEST
P
Project II · Web Dashboard · Cloudflare Workers
Pengu Dashboard
Free real-time crypto and NFT dashboard for the Pudgy Penguins ecosystem. Bloomberg × Dezeen design hybrid — cream paper light, warm near-black dark, deep navy ink, electric blue accent. Plain English over trader jargon. Every bearish read ends on a hopeful, evidence-backed pivot. Long-term Pudgy thesis as the always-available anchor.
StatusLIVE VersionV9.0.0 Cost to run$0/mo (free tier) AudiencePudgy holders + crypto curious
// What It Is

Pengu Dashboard is a free, public, real-time dashboard for the Pudgy Penguins ecosystem. Token price, holder count, NFT collection signals, brand-deal calendar, on-chain whale flow, social sentiment, news feed — all in one place. No login. No paywall. No ads.

The dashboard exists because the official Pudgy team ships products but doesn't ship dashboards. Holders need one. So Martin built one.

Editorial voice. Plain English over trader jargon. Doge, Pepe, Bonk by name where helpful. Every bearish read ends on a hopeful, evidence-backed pivot. The long-term Pudgy thesis — 5,000+ retail stores, APAC growth, brand strength — is the always-available anchor. No "to the moon", no "WAGMI", no em-dash decoration.

Architecture lessons compounded. Worker-side caching through Upstash Redis. CoinGecko calls funnelled through a single cache layer module (locked 4 May 2026 after free quota burned). Defensive JSON parse on every cache read because @upstash/redis auto-deserialization is inconsistent. Stomp-first KV pattern for slow async writes. Date never computed at Cloudflare Worker module-init — V8 locks Date during isolate cold-start.

// Recent Marathon (4 May 2026 — 15 Deploys)
e7ed5321
CoinGecko quota fix — Upstash CG cache layer architecture.
5247356b
Worker → worker self-fetch fix. buildSnapshot reads from Upstash, not HTTP.
4a5426fc
Timeline UX fix — default-expand all years, end marker.
30499682
Daily Intel Digest card on Home.
85a512cf
Honest macro-down copy, wallet $0 to real, holder count 1000 to 500K.
79b27bc1
Marketcap-comparison div-by-0, velocity/CEX 0 to real, price chart KV fallback, memecoin stale cache.
ceb8cc5b
Holder count v11 (correct field), null leak fixes.
30875ac8
LunarCrush replaced with derived sentiment, memecoin synth.
3d15f2a9
Sentiment cache poisoning fix, memecoin manual cache.
3956a994
Whales synthetic addresses killed.
a23aff28
Holders-distribution totalHolders 10K to 500K.
594b9482
Cache layer getRaw — TTL check removed.
1c1cdc25
Cache layer defensive JSON parse (HIGH LEVERAGE).
16e69a28
Holder count 500K cap busted (6 May). Pure cursor mode, cron-only, daily walks reading 535K+ accounts.
// Tech Stack
BackendCloudflare Workers (Hono + TypeScript)
Hot cacheUpstash Redis
Cold storageCloudflare KV (PENGU_SNAPSHOTS)
FrontendVanilla JS + Chart.js 4.4.1 + CSS vars
RoutingHash-based (#home, #token, #nfts)
Data sourcesCoinGecko · Alchemy · OpenSea · Etherscan · Solscan · Helius · cryptocurrency.cv
Deploynpx wrangler deploy
Cost$0/month (all free tier)
// New Builds Pending

1. Brand Pudgy Toys Retail Tracker (~4-5 hours) — Biggest remaining ticket. Walmart, Amazon, Target scrapers with new dashboard page section. Verified-not-built via grep.

2. Phase 8 Igloo Timeline Backfill (8-12 hours, chunked) — 100-200 historical entries from July 2021 through today. Manual research + curation.

3. Phase 9 Final QA + Ship v9.x.x (3-4 hours) — 20-point Lighthouse + theme/route checklist. Tag commit. Draft (don't post) launch tweet.

Caveat. CoinGecko free-tier quota exhausted until 1 June 2026 UTC. Macro factors render null until then. Cache layer is in place — quota resumes cleanly on 1 June.

// Live Status
URLpengu.naema.app
Version9.0.0
Deploys (May)15+
StatusLIVE
Holder count535,666
// Open Live Site
pengu.naema.app
// Locked Rules

node --check before every JS deploy.

Never compute Date at Worker module-init.

All CG calls through worker/lib/coingecko-cache.ts.

buildSnapshot() reads from Upstash, not HTTP.

null > 0 for "data unavailable" fields.

No silhouette images on dashboard.

// Code Location
Claude Cowork MAC/Claude Ideas Brainstorm/pengu-dashboard/
// Verdict Feed
All verdicts touching this project — empty until verdicts.json populates.
View →