Daily signal dashboard for the Solana ecosystem — signals, not noise.
One glance to know what's happening with Solana today. Six signal cards, each answering one question with a direction (↑ / → / ↓), a state phrase, and a delta for context.
| Card | Question | Data |
|---|---|---|
| Network Activity | Is the network heating up? | Dune Analytics (wallets + TX 7d change) |
| DeFi Momentum | Are funds flowing in? | Dune Analytics (TVL 24h delta) |
| User Demand | Is usage intensifying? | TX-per-wallet growth proxy |
| Attention / Fees | Is there speculative interest? | Fee delta vs previous day |
| Protocol Highlight | Any protocol surging? | Top 1d TVL change |
| Stability | Is the network healthy? | Slot time drift from 400ms target |
Each card format: arrow → state phrase → delta context
- Signal-first — direction before numbers
- Deltas over absolutes — every metric is a change from a prior period
- One-glance UX — understand the ecosystem in 5 seconds
- Daily snapshot — not real-time feeds, not analytics dashboards
Frontend — Vite · React 19 · TypeScript · Tailwind CSS v4 · Sora + IBM Plex Mono fonts
Backend — Express API server · Dune Analytics SDK · Vercel Serverless
Design — Dark theme (#0a0a0f) · Solana brand colors (#9945FF, #14F195, #00C2FF) · Glass-morphism cards
src/
components/
dashboard.tsx # 3×2 grid layout
pulse-signal-card.tsx # Signal card (arrow + state + context)
pulse-header.tsx # Title + date
lib/
api.ts # Frontend fetch client
types.ts # SignalDirection, SignalCard, PulseSnapshot
server/
index.ts # Express server — GET /api/pulse + Dune SDK logic
api/
pulse.ts # Vercel serverless handler (same logic, edge-ready)
git clone https://github.com/4oko-Tdd/solana-pulse.git
cd solana-pulse
npm installcp .env.example .env
# Add your DUNE_API_KEY to .env
npm run dev:all # starts both Vite + Expressnpm run devThe dashboard shows the last cached snapshot with an amber "Live data unavailable" banner.
| Command | Description |
|---|---|
npm run dev |
Start Vite dev server |
npm run dev:server |
Start Express API server |
npm run dev:all |
Start both servers concurrently |
npm run build |
Type-check + production build |
npm run lint |
Run ESLint |
Browser → fetch("/api/pulse") → Express (:3001) → Dune SDK → Dune API
↓
Transform to PulseSnapshot
(2 live + 4 derived signals)
↓
JSON → 6 signal cards
- 6-card signal dashboard
- Dune Analytics integration (Network Activity + DeFi Momentum)
- Solana-branded design with glass-morphism cards
- Vercel serverless deployment
- Live data for User Demand, Fees, Stability (Solana RPC + DeFiLlama)
- Daily cron refresh
MIT