BTC Tooling
July 7, 2026 · View on GitHub
Bitcoin market analytics dashboard with real-time data visualization, comprehensive market metrics, and trading tools.

Features
- Live Bitcoin Price Tracking: Multi-timeframe price data with change indicators
- Advanced Charting: TradingView-powered interactive price chart
- Order Book Visualization: Real-time depth via exchange WebSockets (Bitfinex, Coinbase, Binance) with dynamic amount controls
- Market Stats: Sats per dollar, market cap, supply, ATH metrics, hash rate, fee rate, and block height
- Halving Countdown: Blocks remaining, rewards, and historical context
- BTC Analysis: Curated market assessment with key levels and trigger scenarios
- X Insights: Curated feed of relevant Bitcoin posts
- Responsive Design: Optimized for desktop, tablet, and mobile
Tech Stack
- Frontend: Next.js 16 (App Router), React 19, TypeScript (strict)
- Styling: Tailwind CSS with a custom design system
- Data: CoinGecko, mempool.space, exchange WebSockets (Bitfinex/Coinbase/Binance), TradingView embed
Quick Start
# Install dependencies (pnpm required)
pnpm install
# Start development server
pnpm dev
Access the dashboard at http://localhost:3000
Environment variables
| Variable | Purpose |
|---|---|
COINGECKO_API_KEY | Server-side CoinGecko API key (price data) |
Development
pnpm lint # ESLint (zero warnings expected)
pnpm exec tsc --noEmit # Type check
pnpm test # Jest unit tests
pnpm build # Production build
pnpm start # Serve production build
CI runs all of the above on every push and pull request.
Deployment
Deployed on Vercel. See SETUP-VERCEL.md for environment configuration and function settings.
Architecture
src/
├── app/ # Next.js App Router, pages, and API routes
├── pages/api/ # Legacy pages-router API routes (price feed)
├── components/ # React components (bitcoin, layout, social)
├── context/ # App-wide state (price, order book, halving)
├── hooks/ # Custom React hooks for data fetching
├── lib/ # Utility functions and API clients
└── types/ # TypeScript type definitions
Contributing
- Fork the repository
- Create your feature branch:
git checkout -b feature/new-feature - Commit your changes:
git commit -m 'Add new feature' - Push to the branch:
git push origin feature/new-feature - Open a Pull Request
If you find this project useful, please consider giving it a star