Overview
CryptoLens is a Web3 dashboard for exploring crypto markets: token lists, favorites/watchlist, filters, and token detail views with a 7-day chart. It’s built with Next.js (Pages Router), Supabase (profiles + favorites under RLS), and a centralized Redis price cache that prewarms snapshots to keep the UI fast.
What it demonstrates
- Full-stack product architecture (UI + API routes + data + caching)
- Auth done “for real”: Google OAuth + wallet login (SIWE with fallback signing)
- Supabase Row Level Security patterns for per-user data
- Redis-backed caching + scheduled refresh to reduce upstream/API pressure
- UX patterns: virtualized grids, filters, favorites persistence, and charts
Key features
- Token exploration: price, 24h change, market cap, volume
- Favorites/watchlist persisted per user (Supabase + RLS)
- Advanced filters + search (virtualized list for performance)
- User profiles (bio + social links) + wallet linking status
- Redis cache + cron refresh (CoinGecko primary, CoinMarketCap fallback)
- Structured server logging for API routes
Screenshot

Architecture notes
- Next.js Pages Router serves both UI and API routes (
pages/api/*). - NextAuth provides Google OAuth and a wallet-based credential flow.
- Supabase RLS ensures users only read/write their own
profilesandfavorites. - Redis cache stores aggregated price snapshots with periodic refresh to keep reads fast.
Quickstart
Bash
git clone https://github.com/casaisdev/CryptoLens.gitSee the README on GitHub for full setup, env vars, and Supabase table/RLS bootstrap (create_supabase_tables.sql).
Notes
- Wallet auth supports SIWE (recommended) with a fallback signature flow for compatibility.
- Favorites are enforced server-side using Supabase RLS (per-user isolation).
- The Redis layer is designed to reduce UI latency and protect upstream APIs from spikes.
Next steps
If I were to evolve CryptoLens further:
- Add a real “portfolio mode” (holdings + PnL) on top of favorites
- Stronger request-level rate limiting and backoff tuning for upstream APIs
- Server-side rendering improvements for SEO-friendly token detail pages
- Optional alerts (price thresholds) via cron + notifications