A clean, DefiLlama-style website that displays PoW cryptocurrency tokenomics data directly from your GitHub repository.
- Real-time data - Fetches JSON files directly from GitHub
- No backend needed - Pure HTML/CSS/JavaScript
- Mobile responsive - Works on all devices
- Fast & lightweight - Minimal dependencies
- Easy to deploy - Works on any static host
pow-tracker-website/
βββ index.html Landing page with project cards
βββ css/
β βββ styles.css Main stylesheet (DefiLlama-inspired)
β βββ project.css Project detail page styles
βββ js/
β βββ config.js Configuration (EDIT THIS!)
β βββ utils.js Utility functions
β βββ main.js Landing page logic
β βββ project.js Project detail page logic
βββ pages/
βββ project.html Project deep dive page
βββ about.html About page
Open js/config.js and replace the placeholder values:
const CONFIG = {
GITHUB_USER: 'YOUR-USERNAME', // β Replace with your GitHub username
REPO_NAME: 'pow-tokenomics-tracker', // β Your repo name
BRANCH: 'main', // β Your branch name
...
};Example:
const CONFIG = {
GITHUB_USER: 'satoshi',
REPO_NAME: 'pow-tokenomics-tracker',
BRANCH: 'main',
...
};Search and replace YOUR-USERNAME with your actual GitHub username in:
index.htmlpages/project.htmlpages/about.html
Or use this command:
# Mac/Linux
find . -type f -name "*.html" -exec sed -i '' 's/YOUR-USERNAME/your-actual-username/g' {} +
# Linux only
find . -type f -name "*.html" -exec sed -i 's/YOUR-USERNAME/your-actual-username/g' {} +Upload these files to any static hosting service:
Option A: GitHub Pages (Free & Easy)
- Create a new repo called
pow-tokenomics-tracker-site - Upload all website files
- Go to Settings β Pages
- Set source to
mainbranch - Your site will be at:
https://YOUR-USERNAME.github.io/pow-tokenomics-tracker-site
Option B: Netlify (Free)
- Drag & drop the
pow-tracker-websitefolder to netlify.com - Done! Auto-updates when you push changes
Option C: Vercel (Free)
npm i -g vercelcd pow-tracker-websitevercel- Follow prompts
Option D: Any Static Host
- AWS S3 + CloudFront
- Cloudflare Pages
- Firebase Hosting
- Traditional web hosting
- Website loads in user's browser
- JavaScript fetches project list from GitHub API
- For each project, fetches JSON from raw.githubusercontent.com
- Displays data with filters, sorting, and search
- Caches data for 5 minutes to reduce API calls
Your GitHub repo must have this structure:
your-repo/
βββ data/
β βββ projects/
β βββ bitcoin.json
β βββ kaspa.json
β βββ ...
βββ allocations/ (optional, only for premined projects)
βββ project-name/
β βββ genesis.json
βββ ...
The website will automatically:
- List all
.jsonfiles indata/projects/ - Fetch corresponding genesis data if
has_premine: true - Display everything in a clean interface
- Project cards with key metrics
- Filter by: All, Fair Launch, Premine, Suspicious
- Sort by: Name, Market Cap, Launch Date, Premine %, % Mined
- Real-time search
- Hero stats (total projects, fair launches, premined)
- Complete tokenomics breakdown
- Supply & emission metrics
- Mining economics & costs
- Genesis allocation charts (for premined projects)
- Investor details & vesting schedules
- Data sources with links
- Dark theme (DefiLlama-inspired)
- Clean, professional layout
- Mobile-responsive
- Fast loading
- Accessible
Edit css/styles.css:
:root {
--primary: #2172E5; /* Brand color */
--success: #27AE60; /* Green for positive */
--warning: #F39C12; /* Yellow for caution */
--danger: #E74C3C; /* Red for danger */
--dark: #1C1C1E; /* Background */
--dark-secondary: #2C2C2E; /* Cards */
...
}Add new calculations in js/utils.js and use them in js/main.js or js/project.js.
Edit js/config.js:
CACHE_DURATION: 5 * 60 * 1000, // 5 minutes (in milliseconds)- Initial load: ~500ms (depending on number of projects)
- Subsequent loads: <100ms (cached)
- Data refresh: Every 5 minutes (configurable)
- Bundle size: ~15KB (gzipped)
Problem: Website can't fetch data from GitHub
Solutions:
- Check
js/config.js- is your username correct? - Make sure your repo is public
- Verify files are in
data/projects/directory - Check browser console for errors
Problem: JSON file has errors
Solutions:
- Validate JSON syntax at jsonlint.com
- Run the validation script:
python scripts/validate_submission.py project-name - Check that all required fields are present
Problem: CSS not loading
Solutions:
- Check file paths - make sure
css/styles.cssexists - Clear browser cache
- Check browser console for 404 errors
Problem: Too many API requests
Solution:
- GitHub allows 60 unauthenticated requests/hour
- The cache reduces requests
- For high traffic, use a GitHub token (requires backend)
Create pages/compare.html to show side-by-side project comparisons (not included in base template).
Include Chart.js:
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>Then create visualizations in the project detail page.
Create a sitemap.xml and robots.txt for better SEO.
Point your domain to your hosting:
- GitHub Pages: Add CNAME file
- Netlify: Configure in dashboard
- Vercel: Add domain in settings
Fully responsive design that works on:
- Desktop (1200px+)
- Tablet (768px - 1199px)
- Mobile (< 768px)
- No user data collected
- No tracking scripts
- All data fetched from public GitHub
- No cookies or local storage (except cache)
- HTTPS recommended
Open source - use freely for any purpose.
Found a bug? Want to add a feature?
- Open an issue on GitHub
- Submit a pull request
- Suggest improvements
- Issues: https://github.com/YOUR-USERNAME/pow-tokenomics-tracker/issues
- Questions: Open a discussion on GitHub
- Updates: Watch the repo for changes
- Design inspired by DefiLlama
- Data sourced by community contributors
- Built with vanilla JavaScript (no frameworks!)
Ready to launch? Just update js/config.js and deploy! π