Rising Strong From Digital Ashes
After a long era of dormancy, the Duo Keyboard Koalition emerges stronger than ever. We are not just another tech community—we are the next generation of Champions.
The hackathon ecosystem has fundamental gaps that we're here to fill:
Current Pain Points:
- Organizations like MLH and Hackathon Canada coordinate events and enforce codes of conduct, but they rarely nurture the networks their events create
- Devpost lacks LinkedIn-like features for hackers to connect and collaborate beyond competitions
- LinkedIn is too formal for the creative, fast-paced hacker mindset
- Twitter becomes a shouting match where ideas get lost in the noise
What's Missing: The Winners
Organizations focus on sponsors, volunteers, and logistics. But they overlook the true stars—the Winners who spend 36 sleepless hours earning their moment of glory. That fleeting recognition is what we're after.
We're building the infrastructure to create and celebrate the next generation of Champions:
- Connect with fellow hackers on Discord
- Share project insights and collaborate beyond events
- Build lasting relationships in the tech community
- Spotlight the champions who deserve recognition
- Track specialties and skills through project portfolios
- Create a space where winners can inspire the next wave
- Twitter integration for idea sharing and project updates
- Enhanced Devpost-like tracking of hacker specialties
- Community-driven project discovery and collaboration
While MLH and Hackathon Canada provide the foundation, we provide what they cannot:
The Network Effect - Turning 36-hour sprints into lifelong connections
The Recognition - Celebrating winners beyond the closing ceremony
The Community - A space where innovation thrives year-round, not just during events
Join the Koalition. Become a Champion.
The DKK features a Web3-native reputation protocol for Waterloo-area developers - a decentralized meritocracy that combines public GitHub data with on-chain identity and soulbound tier NFTs.
- Web3 Wallet Authentication: Connect with MetaMask, Coinbase Wallet, or WalletConnect
- Public Leaderboard: Browse top builders ranked by $CRED score
- Dual-Mode Dashboard: Wallet-based or admin password access
- Soulbound Tier NFTs: Mint non-transferable proof of your builder reputation
- Decentralized Identity (DID): Link GitHub account to wallet address
- Status Page: Real-time scraping status and API rate limit monitoring
- Automated Refresh: Daily GitHub data updates via Edge Functions
Base Score = (total_stars × 0.5) + (total_forks × 0.2) + (number_of_repos × 1.0) + recency_bonus
Multipliers Applied:
- +15: BCS+AI Specialization (keywords in bio/repos)
- +20: High-Signal Projects (AI, hardware, deep learning topics)
- +10: Elite Portfolio (5+ repos with 10+ stars each)
Tier System:
- ⚔️ Warlord (110+): Core decision-making access
- 🛡️ Baron (90-109): Investor introductions
- 🗡️ Knight (70-89): Base guild access
- 🎯 Aspirant (<70): Building reputation
-
Clone and Install
npm install
-
Configure Environment Variables
Create a
.envfile with:VITE_SUPABASE_URL=your_supabase_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key GITHUB_TOKEN=your_github_personal_access_token DASHBOARD_PASSWORD=your_admin_password VITE_WALLETCONNECT_PROJECT_ID=your_walletconnect_project_idGet a free WalletConnect Project ID at cloud.walletconnect.com
-
Set up Supabase Database
The system requires three tables:
users,repos, andscrape_status. Migration scripts are insupabase/migrations/. -
Deploy Edge Functions
Deploy the following functions to Supabase:
leaderboard- Public API endpointleaderboard-private- Protected dashboard APIrefresh-data- GitHub scraping and scoringstatus- System status endpoint
-
Configure Secrets
Add these secrets to your Supabase Edge Functions:
GITHUB_TOKEN- GitHub Personal Access TokenDASHBOARD_PASSWORD- Admin password for private dashboard
-
Run Locally
npm run dev
- Public Leaderboard: Visit
/leaderboardto see top 20 builders - Status Page: Visit
/statusto check scraping status - Private Dashboard: Visit
/dashboardand login with admin credentials - Refresh Data: Use the "Refresh Data" button in the dashboard to scrape latest GitHub data
GET /functions/v1/leaderboard?limit=50- Public leaderboard (top N users)GET /functions/v1/leaderboard-private- Protected full access (requires Basic Auth)POST /functions/v1/refresh-data- Trigger data refresh (requires Basic Auth)GET /functions/v1/status- System status and scrape info
Decentralized Identity (DID):
- Wallet-based authentication (MetaMask, Coinbase, WalletConnect)
- GitHub account linking via signed messages
- Portable reputation across guilds and ecosystems
Soulbound Tier NFTs:
- Non-transferable proof of builder reputation
- Minted on Base (L2) for low gas fees
- Four tiers: Warlord (110+), Baron (90-109), Knight (70-89), Aspirant (<70)
- Unlocks tier-specific privileges and governance rights
On-Chain Attestations:
- Funding rounds, collaborations, endorsements
- Stored on IPFS with hash anchored on-chain
- Verifiable by any third party
- Frontend: React, TypeScript, Tailwind CSS, React Router
- Web3: Wagmi, Viem, WalletConnect
- Backend: Supabase Edge Functions (Deno)
- Database: PostgreSQL via Supabase
- Blockchain: Base (Ethereum L2)
- Authentication: Wallet signatures + HTTP Basic Auth fallback
- Deployment: Netlify (frontend), Supabase (backend)
npm install
npm run devBuilt with React, TypeScript, Tailwind CSS, and Supabase.