Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Technetium KenyaHackVillage

HackVillage

The Open-Source Infrastructure for High-Impact Tech Events

Trust-as-a-Service for Developers. Innovation-as-a-Service for Organizations.

LicenseOpen SourceBuilt with Next.jsBackendDatabase


Table of Contents


Mission

HackVillage bridges the gap between developers and stakeholders through financial escrow, career-pathing, and high-speed feedback loops that ensure every tech event delivers immediate and long-term value.

We are building the primary infrastructure for the African tech ecosystem — professionalizing the hackathon and tech event experience from the ground up.


The Problem

Pain PointTraditional HackathonHackVillage
PaymentWeeks or months of waiting50% on the day, 50% on follow-up
OutcomeA trophy and a LinkedIn postInternships, credits & verified portfolio
MediaPhotos surface two weeks later48-hour high-res gallery delivery
Engagement"Eat and go home"Structured feedback & career pathing

Organizers ghost winners. Submissions vanish into the void. Brilliant prototypes die on flash drives. HackVillage exists to fix all three.


The HackVillage Standard

HackVillage enforces a Developer Bill of Rights and an Organizer Performance Guarantee through three non-negotiable pillars:

1. The Instant Reward Protocol

Organizers deposit 100% of the prize pool upfront before an event goes live. Winners receive 50% instantly on the day of the event; the remaining 50% is released automatically upon verified milestone completion. No escrow, no live event.

2. Developer Value Beyond the Prize

Every event builds a verifiable Proof of Work profile — win rates, GitHub contributions per event, and judge endorsements. Events are audition stages for real internships, apprenticeships, and mentorships brokered directly through the platform.

3. The Stakeholder Quality Guarantee

By enforcing professional standards and instant rewards, HackVillage attracts top-tier talent. Organizations receive production-ready solutions and actionable data — not polished pitches with no follow-through.


How It Works

HackVillage operates as a three-phase engine:

┌─────────────────────────────────────────────────────────────────────┐
│ PHASE 1 — SETUP │
│ Organizer: Deposit funds · Upload problem statement · Tag roles │
│ Developer: Browse verified events · Form teams │
│ Platform: Escrow validation · "Prize Verified" badge │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ PHASE 2 — ENGAGEMENT │
│ Organizer: Monitor submissions · Manage mentors │
│ Developer: Build · Submit code · Document the project │
│ Platform: Project management · Real-time judging tools │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ PHASE 3 — CLOSING │
│ Organizer: Announce winners · Upload photos within 48 hours │
│ Developer: Receive 50% instantly · Get structured judge feedback │
│ Platform: Instant Loop · QA enforcement · Public ledger record │
└─────────────────────────────────────────────────────────────────────┘

Key Features

A. Escrow & Payout Engine

  • Prize Vault — A secure holding area for prize pools. Only events marked "Prize Verified" are permitted to go live on the platform.
  • Split Disbursement API — Automated fund release via M-Pesa and bank APIs: 50% at win, 50% at milestone handover.
  • Public Ledger — Every deposit and payout is recorded on a blockchain ledger and exposed via a public link, fulfilling the open-source integrity requirement.

B. Proof of Work Portfolio

  • Dynamic Developer Profiles — Searchable profiles displaying hackathon win rates, per-event GitHub contributions, and judge endorsements.
  • Project Gallery — A permanent home for every submission with lifecycle status tags: Demo, In-Production, Pivoted to Startup.

C. Career & Operational Excellence

  • One-Click Internship — A tagging system for "Value Add-ons" that automates introductions between winners and hiring managers or HR teams.
  • 48-Hour Media Vault — Organizers must upload high-resolution event photos within 48 hours. Failure results in a Trust Penalty on their organizer score.
  • Automatic Feedback Loop — Judges must submit a minimum of three structured feedback points per team before scores can be finalized.
  • Legacy Tracker — Automated 3-month check-ins track whether prototypes have evolved into products, capturing the real-world impact of every event.

Technical Architecture

┌───────────────────────────────────────────────────────┐
│ CLIENT LAYER │
│ Next.js 14 (SEO-optimized, │
│ server components, App Router) │
└────────────────────────┬──────────────────────────────┘
│
┌────────────────────────▼──────────────────────────────┐
│ API LAYER │
│ Node.js / TypeScript — scalable for high- │
│ concurrency event days (judging rushes, │
│ simultaneous payout triggers) │
└──────────┬─────────────────────────┬──────────────────┘
│ │
┌──────────▼──────────┐ ┌──────────▼──────────────────┐
│ PostgreSQL DB │ │ Escrow Microservice │
│ Structured Proof │ │ Paystack + Smart Contract │
│ of Work tracking │ │ (Polygon / Solana layer) │
└─────────────────────┘ └─────────────────────────────┘
LayerTechnologyPurpose
FrontendNext.js 14SEO-optimized project discovery
BackendNode.js / TypeScriptHigh-concurrency event-day API
DatabasePostgreSQLStructured Proof of Work records
PaymentsPaystackFiat deposits, M-Pesa & bank payouts
LedgerSmart Contract (Polygon/Solana)Transparent, tamper-proof transaction log
Open Source CoreGitHubJudging logic & escrow mechanics are public

Escrow & Payout Engine

The financial layer is the heart of Trust-as-a-Service and is held to a 90% Trust Score KPI — meaning 90% of all prizes must be disbursed within one hour of event conclusion.

Phase 1 — Fund Security (Setup)

Organizer Paystack Smart Contract
│ │ │
│── Deposit 100% prize ───►│ │
│ │── Confirm receipt ───►│
│ │ │── Lock funds in
│ │ │ Prize Vault state
│◄── "Prize Verified" badge issued ────────────────│
  1. The organizer transfers 100% of the prize pool via Paystack (card or bank).
  2. The backend service records the deposit and triggers the smart contract.
  3. The smart contract creates a verifiable ledger entry and locks funds in PRIZE_VAULT state.
  4. The event is issued a "Prize Verified" badge and permitted to go live.

Phase 2 — Split Disbursement (Closing)

Judging finalized
│
▼
Backend Service ──── calls Smart Contract ──── authorizes 50% release
│
▼
Paystack Split API ──── M-Pesa / Bank transfer ──── Winner receives funds
│
▼
Public Ledger entry recorded
│
▼ (organizer confirms handover)
Backend Service ──── calls Smart Contract ──── authorizes final 50%
│
▼
Paystack API ──── Final transfer ──── Public Ledger entry recorded

Error Handling & Compliance

  • Rollback Logic — If a Paystack call fails or a network error occurs, funds remain locked in the vault until a successful transaction is confirmed. No partial or ambiguous states.
  • KYC / AML Compliance — All large payouts comply with Central Bank of Kenya requirements via Paystack's verified compliance layer.
  • Idempotent Operations — Every disbursement call is idempotent; duplicate triggers from retries cannot result in a double payout.

Success Metrics

KPIDescriptionGoal
Trust Score% of prizes disbursed within 1 hour of event conclusion> 90%
Conversion Rate% of winners landing an interview or internship via the platformTracked per cohort
Media MomentumAverage time for event photos to be available post-event< 48 hours
Legacy Rate% of submitted prototypes that evolve into active products (3-month check-in)Tracked per cohort

Roadmap

PhaseFeatureStatus
v1.0Prize Vault & Escrow EngineIn Development
v1.0Developer Proof of Work ProfilesIn Development
v1.0Paystack Split DisbursementIn Development
v1.148-Hour Media Vault + Trust PenaltyPlanned
v1.1One-Click Internship MatchingPlanned
v1.2Legacy Tracker (3-month check-ins)Planned
v2.0HackVillage DAO — Community-driven Elite Organizer rankingsMoonshot
v2.0Global Node — Nigeria, Rwanda, cross-border prize handlingMoonshot
v2.0AI Judging Co-pilot — Pre-screen repos for quality & plagiarismMoonshot

Getting Started

Prerequisites

  • Node.js >= 18
  • PostgreSQL >= 15
  • A Paystack account (test keys sufficient for local development)

Installation

git clone https://github.com/CodeWithEugene/HackVillage.git
cd HackVillage
npm install

Environment Variables

Create a .env.local file at the project root:

DATABASE_URL=postgresql://user:password@localhost:5432/hackvillagePAYSTACK_SECRET_KEY=sk_test_...NEXT_PUBLIC_PAYSTACK_PUBLIC_KEY=pk_test_...SMART_CONTRACT_ADDRESS=0x...RPC_URL=https://...

Development

npm run dev

Open http://localhost:3000 in your browser.

Database

npm run db:migrate
npm run db:seed # optional — seeds demo events and profiles

Contributing

HackVillage is open-source at its core. The judging logic and escrow mechanics are public so the developer community can audit, trust, and improve them.

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Commit your changes following Conventional Commits.
  4. Open a pull request with a clear description of what you've changed and why.

Please read CONTRIBUTING.md before submitting a PR. All contributors are expected to uphold the Code of Conduct.


License

This project is licensed under the MIT License.


Built with intention for the African developer community.

technetium.co.ke · github.com/CodeWithEugene/HackVillage

About

Open-source infrastructure for African tech events that uses escrow-backed instant prize payouts, verified developer portfolios, and structured career pathways to turn hackathons into trusted launchpads for talent.

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Technetium KenyaHackVillage

HackVillage

The Open-Source Infrastructure for High-Impact Tech Events

Trust-as-a-Service for Developers. Innovation-as-a-Service for Organizations.

LicenseOpen SourceBuilt with Next.jsBackendDatabase


Table of Contents


Mission

HackVillage bridges the gap between developers and stakeholders through financial escrow, career-pathing, and high-speed feedback loops that ensure every tech event delivers immediate and long-term value.

We are building the primary infrastructure for the African tech ecosystem — professionalizing the hackathon and tech event experience from the ground up.


The Problem

Pain PointTraditional HackathonHackVillage
PaymentWeeks or months of waiting50% on the day, 50% on follow-up
OutcomeA trophy and a LinkedIn postInternships, credits & verified portfolio
MediaPhotos surface two weeks later48-hour high-res gallery delivery
Engagement"Eat and go home"Structured feedback & career pathing

Organizers ghost winners. Submissions vanish into the void. Brilliant prototypes die on flash drives. HackVillage exists to fix all three.


The HackVillage Standard

HackVillage enforces a Developer Bill of Rights and an Organizer Performance Guarantee through three non-negotiable pillars:

1. The Instant Reward Protocol

Organizers deposit 100% of the prize pool upfront before an event goes live. Winners receive 50% instantly on the day of the event; the remaining 50% is released automatically upon verified milestone completion. No escrow, no live event.

2. Developer Value Beyond the Prize

Every event builds a verifiable Proof of Work profile — win rates, GitHub contributions per event, and judge endorsements. Events are audition stages for real internships, apprenticeships, and mentorships brokered directly through the platform.

3. The Stakeholder Quality Guarantee

By enforcing professional standards and instant rewards, HackVillage attracts top-tier talent. Organizations receive production-ready solutions and actionable data — not polished pitches with no follow-through.


How It Works

HackVillage operates as a three-phase engine:

┌─────────────────────────────────────────────────────────────────────┐
│ PHASE 1 — SETUP │
│ Organizer: Deposit funds · Upload problem statement · Tag roles │
│ Developer: Browse verified events · Form teams │
│ Platform: Escrow validation · "Prize Verified" badge │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ PHASE 2 — ENGAGEMENT │
│ Organizer: Monitor submissions · Manage mentors │
│ Developer: Build · Submit code · Document the project │
│ Platform: Project management · Real-time judging tools │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ PHASE 3 — CLOSING │
│ Organizer: Announce winners · Upload photos within 48 hours │
│ Developer: Receive 50% instantly · Get structured judge feedback │
│ Platform: Instant Loop · QA enforcement · Public ledger record │
└─────────────────────────────────────────────────────────────────────┘

Key Features

A. Escrow & Payout Engine

  • Prize Vault — A secure holding area for prize pools. Only events marked "Prize Verified" are permitted to go live on the platform.
  • Split Disbursement API — Automated fund release via M-Pesa and bank APIs: 50% at win, 50% at milestone handover.
  • Public Ledger — Every deposit and payout is recorded on a blockchain ledger and exposed via a public link, fulfilling the open-source integrity requirement.

B. Proof of Work Portfolio

  • Dynamic Developer Profiles — Searchable profiles displaying hackathon win rates, per-event GitHub contributions, and judge endorsements.
  • Project Gallery — A permanent home for every submission with lifecycle status tags: Demo, In-Production, Pivoted to Startup.

C. Career & Operational Excellence

  • One-Click Internship — A tagging system for "Value Add-ons" that automates introductions between winners and hiring managers or HR teams.
  • 48-Hour Media Vault — Organizers must upload high-resolution event photos within 48 hours. Failure results in a Trust Penalty on their organizer score.
  • Automatic Feedback Loop — Judges must submit a minimum of three structured feedback points per team before scores can be finalized.
  • Legacy Tracker — Automated 3-month check-ins track whether prototypes have evolved into products, capturing the real-world impact of every event.

Technical Architecture

┌───────────────────────────────────────────────────────┐
│ CLIENT LAYER │
│ Next.js 14 (SEO-optimized, │
│ server components, App Router) │
└────────────────────────┬──────────────────────────────┘
│
┌────────────────────────▼──────────────────────────────┐
│ API LAYER │
│ Node.js / TypeScript — scalable for high- │
│ concurrency event days (judging rushes, │
│ simultaneous payout triggers) │
└──────────┬─────────────────────────┬──────────────────┘
│ │
┌──────────▼──────────┐ ┌──────────▼──────────────────┐
│ PostgreSQL DB │ │ Escrow Microservice │
│ Structured Proof │ │ Paystack + Smart Contract │
│ of Work tracking │ │ (Polygon / Solana layer) │
└─────────────────────┘ └─────────────────────────────┘
LayerTechnologyPurpose
FrontendNext.js 14SEO-optimized project discovery
BackendNode.js / TypeScriptHigh-concurrency event-day API
DatabasePostgreSQLStructured Proof of Work records
PaymentsPaystackFiat deposits, M-Pesa & bank payouts
LedgerSmart Contract (Polygon/Solana)Transparent, tamper-proof transaction log
Open Source CoreGitHubJudging logic & escrow mechanics are public

Escrow & Payout Engine

The financial layer is the heart of Trust-as-a-Service and is held to a 90% Trust Score KPI — meaning 90% of all prizes must be disbursed within one hour of event conclusion.

Phase 1 — Fund Security (Setup)

Organizer Paystack Smart Contract
│ │ │
│── Deposit 100% prize ───►│ │
│ │── Confirm receipt ───►│
│ │ │── Lock funds in
│ │ │ Prize Vault state
│◄── "Prize Verified" badge issued ────────────────│
  1. The organizer transfers 100% of the prize pool via Paystack (card or bank).
  2. The backend service records the deposit and triggers the smart contract.
  3. The smart contract creates a verifiable ledger entry and locks funds in PRIZE_VAULT state.
  4. The event is issued a "Prize Verified" badge and permitted to go live.

Phase 2 — Split Disbursement (Closing)

Judging finalized
│
▼
Backend Service ──── calls Smart Contract ──── authorizes 50% release
│
▼
Paystack Split API ──── M-Pesa / Bank transfer ──── Winner receives funds
│
▼
Public Ledger entry recorded
│
▼ (organizer confirms handover)
Backend Service ──── calls Smart Contract ──── authorizes final 50%
│
▼
Paystack API ──── Final transfer ──── Public Ledger entry recorded

Error Handling & Compliance

  • Rollback Logic — If a Paystack call fails or a network error occurs, funds remain locked in the vault until a successful transaction is confirmed. No partial or ambiguous states.
  • KYC / AML Compliance — All large payouts comply with Central Bank of Kenya requirements via Paystack's verified compliance layer.
  • Idempotent Operations — Every disbursement call is idempotent; duplicate triggers from retries cannot result in a double payout.

Success Metrics

KPIDescriptionGoal
Trust Score% of prizes disbursed within 1 hour of event conclusion> 90%
Conversion Rate% of winners landing an interview or internship via the platformTracked per cohort
Media MomentumAverage time for event photos to be available post-event< 48 hours
Legacy Rate% of submitted prototypes that evolve into active products (3-month check-in)Tracked per cohort

Roadmap

PhaseFeatureStatus
v1.0Prize Vault & Escrow EngineIn Development
v1.0Developer Proof of Work ProfilesIn Development
v1.0Paystack Split DisbursementIn Development
v1.148-Hour Media Vault + Trust PenaltyPlanned
v1.1One-Click Internship MatchingPlanned
v1.2Legacy Tracker (3-month check-ins)Planned
v2.0HackVillage DAO — Community-driven Elite Organizer rankingsMoonshot
v2.0Global Node — Nigeria, Rwanda, cross-border prize handlingMoonshot
v2.0AI Judging Co-pilot — Pre-screen repos for quality & plagiarismMoonshot

Getting Started

Prerequisites

  • Node.js >= 18
  • PostgreSQL >= 15
  • A Paystack account (test keys sufficient for local development)

Installation

git clone https://github.com/CodeWithEugene/HackVillage.git
cd HackVillage
npm install

Environment Variables

Create a .env.local file at the project root:

DATABASE_URL=postgresql://user:password@localhost:5432/hackvillagePAYSTACK_SECRET_KEY=sk_test_...NEXT_PUBLIC_PAYSTACK_PUBLIC_KEY=pk_test_...SMART_CONTRACT_ADDRESS=0x...RPC_URL=https://...

Development

npm run dev

Open http://localhost:3000 in your browser.

Database

npm run db:migrate
npm run db:seed # optional — seeds demo events and profiles

Contributing

HackVillage is open-source at its core. The judging logic and escrow mechanics are public so the developer community can audit, trust, and improve them.

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Commit your changes following Conventional Commits.
  4. Open a pull request with a clear description of what you've changed and why.

Please read CONTRIBUTING.md before submitting a PR. All contributors are expected to uphold the Code of Conduct.


License

This project is licensed under the MIT License.


Built with intention for the African developer community.

technetium.co.ke · github.com/CodeWithEugene/HackVillage

About

Open-source infrastructure for African tech events that uses escrow-backed instant prize payouts, verified developer portfolios, and structured career pathways to turn hackathons into trusted launchpads for talent.

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Technetium KenyaHackVillage

HackVillage

The Open-Source Infrastructure for High-Impact Tech Events

Trust-as-a-Service for Developers. Innovation-as-a-Service for Organizations.

LicenseOpen SourceBuilt with Next.jsBackendDatabase


Table of Contents


Mission

HackVillage bridges the gap between developers and stakeholders through financial escrow, career-pathing, and high-speed feedback loops that ensure every tech event delivers immediate and long-term value.

We are building the primary infrastructure for the African tech ecosystem — professionalizing the hackathon and tech event experience from the ground up.


The Problem

Pain PointTraditional HackathonHackVillage
PaymentWeeks or months of waiting50% on the day, 50% on follow-up
OutcomeA trophy and a LinkedIn postInternships, credits & verified portfolio
MediaPhotos surface two weeks later48-hour high-res gallery delivery
Engagement"Eat and go home"Structured feedback & career pathing

Organizers ghost winners. Submissions vanish into the void. Brilliant prototypes die on flash drives. HackVillage exists to fix all three.


The HackVillage Standard

HackVillage enforces a Developer Bill of Rights and an Organizer Performance Guarantee through three non-negotiable pillars:

1. The Instant Reward Protocol

Organizers deposit 100% of the prize pool upfront before an event goes live. Winners receive 50% instantly on the day of the event; the remaining 50% is released automatically upon verified milestone completion. No escrow, no live event.

2. Developer Value Beyond the Prize

Every event builds a verifiable Proof of Work profile — win rates, GitHub contributions per event, and judge endorsements. Events are audition stages for real internships, apprenticeships, and mentorships brokered directly through the platform.

3. The Stakeholder Quality Guarantee

By enforcing professional standards and instant rewards, HackVillage attracts top-tier talent. Organizations receive production-ready solutions and actionable data — not polished pitches with no follow-through.


How It Works

HackVillage operates as a three-phase engine:

┌─────────────────────────────────────────────────────────────────────┐
│ PHASE 1 — SETUP │
│ Organizer: Deposit funds · Upload problem statement · Tag roles │
│ Developer: Browse verified events · Form teams │
│ Platform: Escrow validation · "Prize Verified" badge │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ PHASE 2 — ENGAGEMENT │
│ Organizer: Monitor submissions · Manage mentors │
│ Developer: Build · Submit code · Document the project │
│ Platform: Project management · Real-time judging tools │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ PHASE 3 — CLOSING │
│ Organizer: Announce winners · Upload photos within 48 hours │
│ Developer: Receive 50% instantly · Get structured judge feedback │
│ Platform: Instant Loop · QA enforcement · Public ledger record │
└─────────────────────────────────────────────────────────────────────┘

Key Features

A. Escrow & Payout Engine

  • Prize Vault — A secure holding area for prize pools. Only events marked "Prize Verified" are permitted to go live on the platform.
  • Split Disbursement API — Automated fund release via M-Pesa and bank APIs: 50% at win, 50% at milestone handover.
  • Public Ledger — Every deposit and payout is recorded on a blockchain ledger and exposed via a public link, fulfilling the open-source integrity requirement.

B. Proof of Work Portfolio

  • Dynamic Developer Profiles — Searchable profiles displaying hackathon win rates, per-event GitHub contributions, and judge endorsements.
  • Project Gallery — A permanent home for every submission with lifecycle status tags: Demo, In-Production, Pivoted to Startup.

C. Career & Operational Excellence

  • One-Click Internship — A tagging system for "Value Add-ons" that automates introductions between winners and hiring managers or HR teams.
  • 48-Hour Media Vault — Organizers must upload high-resolution event photos within 48 hours. Failure results in a Trust Penalty on their organizer score.
  • Automatic Feedback Loop — Judges must submit a minimum of three structured feedback points per team before scores can be finalized.
  • Legacy Tracker — Automated 3-month check-ins track whether prototypes have evolved into products, capturing the real-world impact of every event.

Technical Architecture

┌───────────────────────────────────────────────────────┐
│ CLIENT LAYER │
│ Next.js 14 (SEO-optimized, │
│ server components, App Router) │
└────────────────────────┬──────────────────────────────┘
│
┌────────────────────────▼──────────────────────────────┐
│ API LAYER │
│ Node.js / TypeScript — scalable for high- │
│ concurrency event days (judging rushes, │
│ simultaneous payout triggers) │
└──────────┬─────────────────────────┬──────────────────┘
│ │
┌──────────▼──────────┐ ┌──────────▼──────────────────┐
│ PostgreSQL DB │ │ Escrow Microservice │
│ Structured Proof │ │ Paystack + Smart Contract │
│ of Work tracking │ │ (Polygon / Solana layer) │
└─────────────────────┘ └─────────────────────────────┘
LayerTechnologyPurpose
FrontendNext.js 14SEO-optimized project discovery
BackendNode.js / TypeScriptHigh-concurrency event-day API
DatabasePostgreSQLStructured Proof of Work records
PaymentsPaystackFiat deposits, M-Pesa & bank payouts
LedgerSmart Contract (Polygon/Solana)Transparent, tamper-proof transaction log
Open Source CoreGitHubJudging logic & escrow mechanics are public

Escrow & Payout Engine

The financial layer is the heart of Trust-as-a-Service and is held to a 90% Trust Score KPI — meaning 90% of all prizes must be disbursed within one hour of event conclusion.

Phase 1 — Fund Security (Setup)

Organizer Paystack Smart Contract
│ │ │
│── Deposit 100% prize ───►│ │
│ │── Confirm receipt ───►│
│ │ │── Lock funds in
│ │ │ Prize Vault state
│◄── "Prize Verified" badge issued ────────────────│
  1. The organizer transfers 100% of the prize pool via Paystack (card or bank).
  2. The backend service records the deposit and triggers the smart contract.
  3. The smart contract creates a verifiable ledger entry and locks funds in PRIZE_VAULT state.
  4. The event is issued a "Prize Verified" badge and permitted to go live.

Phase 2 — Split Disbursement (Closing)

Judging finalized
│
▼
Backend Service ──── calls Smart Contract ──── authorizes 50% release
│
▼
Paystack Split API ──── M-Pesa / Bank transfer ──── Winner receives funds
│
▼
Public Ledger entry recorded
│
▼ (organizer confirms handover)
Backend Service ──── calls Smart Contract ──── authorizes final 50%
│
▼
Paystack API ──── Final transfer ──── Public Ledger entry recorded

Error Handling & Compliance

  • Rollback Logic — If a Paystack call fails or a network error occurs, funds remain locked in the vault until a successful transaction is confirmed. No partial or ambiguous states.
  • KYC / AML Compliance — All large payouts comply with Central Bank of Kenya requirements via Paystack's verified compliance layer.
  • Idempotent Operations — Every disbursement call is idempotent; duplicate triggers from retries cannot result in a double payout.

Success Metrics

KPIDescriptionGoal
Trust Score% of prizes disbursed within 1 hour of event conclusion> 90%
Conversion Rate% of winners landing an interview or internship via the platformTracked per cohort
Media MomentumAverage time for event photos to be available post-event< 48 hours
Legacy Rate% of submitted prototypes that evolve into active products (3-month check-in)Tracked per cohort

Roadmap

PhaseFeatureStatus
v1.0Prize Vault & Escrow EngineIn Development
v1.0Developer Proof of Work ProfilesIn Development
v1.0Paystack Split DisbursementIn Development
v1.148-Hour Media Vault + Trust PenaltyPlanned
v1.1One-Click Internship MatchingPlanned
v1.2Legacy Tracker (3-month check-ins)Planned
v2.0HackVillage DAO — Community-driven Elite Organizer rankingsMoonshot
v2.0Global Node — Nigeria, Rwanda, cross-border prize handlingMoonshot
v2.0AI Judging Co-pilot — Pre-screen repos for quality & plagiarismMoonshot

Getting Started

Prerequisites

  • Node.js >= 18
  • PostgreSQL >= 15
  • A Paystack account (test keys sufficient for local development)

Installation

git clone https://github.com/CodeWithEugene/HackVillage.git
cd HackVillage
npm install

Environment Variables

Create a .env.local file at the project root:

DATABASE_URL=postgresql://user:password@localhost:5432/hackvillagePAYSTACK_SECRET_KEY=sk_test_...NEXT_PUBLIC_PAYSTACK_PUBLIC_KEY=pk_test_...SMART_CONTRACT_ADDRESS=0x...RPC_URL=https://...

Development

npm run dev

Open http://localhost:3000 in your browser.

Database

npm run db:migrate
npm run db:seed # optional — seeds demo events and profiles

Contributing

HackVillage is open-source at its core. The judging logic and escrow mechanics are public so the developer community can audit, trust, and improve them.

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Commit your changes following Conventional Commits.
  4. Open a pull request with a clear description of what you've changed and why.

Please read CONTRIBUTING.md before submitting a PR. All contributors are expected to uphold the Code of Conduct.


License

This project is licensed under the MIT License.


Built with intention for the African developer community.

technetium.co.ke · github.com/CodeWithEugene/HackVillage

About

Open-source infrastructure for African tech events that uses escrow-backed instant prize payouts, verified developer portfolios, and structured career pathways to turn hackathons into trusted launchpads for talent.

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Technetium KenyaHackVillage

HackVillage

The Open-Source Infrastructure for High-Impact Tech Events

Trust-as-a-Service for Developers. Innovation-as-a-Service for Organizations.

LicenseOpen SourceBuilt with Next.jsBackendDatabase


Table of Contents


Mission

HackVillage bridges the gap between developers and stakeholders through financial escrow, career-pathing, and high-speed feedback loops that ensure every tech event delivers immediate and long-term value.

We are building the primary infrastructure for the African tech ecosystem — professionalizing the hackathon and tech event experience from the ground up.


The Problem

Pain PointTraditional HackathonHackVillage
PaymentWeeks or months of waiting50% on the day, 50% on follow-up
OutcomeA trophy and a LinkedIn postInternships, credits & verified portfolio
MediaPhotos surface two weeks later48-hour high-res gallery delivery
Engagement"Eat and go home"Structured feedback & career pathing

Organizers ghost winners. Submissions vanish into the void. Brilliant prototypes die on flash drives. HackVillage exists to fix all three.


The HackVillage Standard

HackVillage enforces a Developer Bill of Rights and an Organizer Performance Guarantee through three non-negotiable pillars:

1. The Instant Reward Protocol

Organizers deposit 100% of the prize pool upfront before an event goes live. Winners receive 50% instantly on the day of the event; the remaining 50% is released automatically upon verified milestone completion. No escrow, no live event.

2. Developer Value Beyond the Prize

Every event builds a verifiable Proof of Work profile — win rates, GitHub contributions per event, and judge endorsements. Events are audition stages for real internships, apprenticeships, and mentorships brokered directly through the platform.

3. The Stakeholder Quality Guarantee

By enforcing professional standards and instant rewards, HackVillage attracts top-tier talent. Organizations receive production-ready solutions and actionable data — not polished pitches with no follow-through.


How It Works

HackVillage operates as a three-phase engine:

┌─────────────────────────────────────────────────────────────────────┐
│ PHASE 1 — SETUP │
│ Organizer: Deposit funds · Upload problem statement · Tag roles │
│ Developer: Browse verified events · Form teams │
│ Platform: Escrow validation · "Prize Verified" badge │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ PHASE 2 — ENGAGEMENT │
│ Organizer: Monitor submissions · Manage mentors │
│ Developer: Build · Submit code · Document the project │
│ Platform: Project management · Real-time judging tools │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ PHASE 3 — CLOSING │
│ Organizer: Announce winners · Upload photos within 48 hours │
│ Developer: Receive 50% instantly · Get structured judge feedback │
│ Platform: Instant Loop · QA enforcement · Public ledger record │
└─────────────────────────────────────────────────────────────────────┘

Key Features

A. Escrow & Payout Engine

  • Prize Vault — A secure holding area for prize pools. Only events marked "Prize Verified" are permitted to go live on the platform.
  • Split Disbursement API — Automated fund release via M-Pesa and bank APIs: 50% at win, 50% at milestone handover.
  • Public Ledger — Every deposit and payout is recorded on a blockchain ledger and exposed via a public link, fulfilling the open-source integrity requirement.

B. Proof of Work Portfolio

  • Dynamic Developer Profiles — Searchable profiles displaying hackathon win rates, per-event GitHub contributions, and judge endorsements.
  • Project Gallery — A permanent home for every submission with lifecycle status tags: Demo, In-Production, Pivoted to Startup.

C. Career & Operational Excellence

  • One-Click Internship — A tagging system for "Value Add-ons" that automates introductions between winners and hiring managers or HR teams.
  • 48-Hour Media Vault — Organizers must upload high-resolution event photos within 48 hours. Failure results in a Trust Penalty on their organizer score.
  • Automatic Feedback Loop — Judges must submit a minimum of three structured feedback points per team before scores can be finalized.
  • Legacy Tracker — Automated 3-month check-ins track whether prototypes have evolved into products, capturing the real-world impact of every event.

Technical Architecture

┌───────────────────────────────────────────────────────┐
│ CLIENT LAYER │
│ Next.js 14 (SEO-optimized, │
│ server components, App Router) │
└────────────────────────┬──────────────────────────────┘
│
┌────────────────────────▼──────────────────────────────┐
│ API LAYER │
│ Node.js / TypeScript — scalable for high- │
│ concurrency event days (judging rushes, │
│ simultaneous payout triggers) │
└──────────┬─────────────────────────┬──────────────────┘
│ │
┌──────────▼──────────┐ ┌──────────▼──────────────────┐
│ PostgreSQL DB │ │ Escrow Microservice │
│ Structured Proof │ │ Paystack + Smart Contract │
│ of Work tracking │ │ (Polygon / Solana layer) │
└─────────────────────┘ └─────────────────────────────┘
LayerTechnologyPurpose
FrontendNext.js 14SEO-optimized project discovery
BackendNode.js / TypeScriptHigh-concurrency event-day API
DatabasePostgreSQLStructured Proof of Work records
PaymentsPaystackFiat deposits, M-Pesa & bank payouts
LedgerSmart Contract (Polygon/Solana)Transparent, tamper-proof transaction log
Open Source CoreGitHubJudging logic & escrow mechanics are public

Escrow & Payout Engine

The financial layer is the heart of Trust-as-a-Service and is held to a 90% Trust Score KPI — meaning 90% of all prizes must be disbursed within one hour of event conclusion.

Phase 1 — Fund Security (Setup)

Organizer Paystack Smart Contract
│ │ │
│── Deposit 100% prize ───►│ │
│ │── Confirm receipt ───►│
│ │ │── Lock funds in
│ │ │ Prize Vault state
│◄── "Prize Verified" badge issued ────────────────│
  1. The organizer transfers 100% of the prize pool via Paystack (card or bank).
  2. The backend service records the deposit and triggers the smart contract.
  3. The smart contract creates a verifiable ledger entry and locks funds in PRIZE_VAULT state.
  4. The event is issued a "Prize Verified" badge and permitted to go live.

Phase 2 — Split Disbursement (Closing)

Judging finalized
│
▼
Backend Service ──── calls Smart Contract ──── authorizes 50% release
│
▼
Paystack Split API ──── M-Pesa / Bank transfer ──── Winner receives funds
│
▼
Public Ledger entry recorded
│
▼ (organizer confirms handover)
Backend Service ──── calls Smart Contract ──── authorizes final 50%
│
▼
Paystack API ──── Final transfer ──── Public Ledger entry recorded

Error Handling & Compliance

  • Rollback Logic — If a Paystack call fails or a network error occurs, funds remain locked in the vault until a successful transaction is confirmed. No partial or ambiguous states.
  • KYC / AML Compliance — All large payouts comply with Central Bank of Kenya requirements via Paystack's verified compliance layer.
  • Idempotent Operations — Every disbursement call is idempotent; duplicate triggers from retries cannot result in a double payout.

Success Metrics

KPIDescriptionGoal
Trust Score% of prizes disbursed within 1 hour of event conclusion> 90%
Conversion Rate% of winners landing an interview or internship via the platformTracked per cohort
Media MomentumAverage time for event photos to be available post-event< 48 hours
Legacy Rate% of submitted prototypes that evolve into active products (3-month check-in)Tracked per cohort

Roadmap

PhaseFeatureStatus
v1.0Prize Vault & Escrow EngineIn Development
v1.0Developer Proof of Work ProfilesIn Development
v1.0Paystack Split DisbursementIn Development
v1.148-Hour Media Vault + Trust PenaltyPlanned
v1.1One-Click Internship MatchingPlanned
v1.2Legacy Tracker (3-month check-ins)Planned
v2.0HackVillage DAO — Community-driven Elite Organizer rankingsMoonshot
v2.0Global Node — Nigeria, Rwanda, cross-border prize handlingMoonshot
v2.0AI Judging Co-pilot — Pre-screen repos for quality & plagiarismMoonshot

Getting Started

Prerequisites

  • Node.js >= 18
  • PostgreSQL >= 15
  • A Paystack account (test keys sufficient for local development)

Installation

git clone https://github.com/CodeWithEugene/HackVillage.git
cd HackVillage
npm install

Environment Variables

Create a .env.local file at the project root:

DATABASE_URL=postgresql://user:password@localhost:5432/hackvillagePAYSTACK_SECRET_KEY=sk_test_...NEXT_PUBLIC_PAYSTACK_PUBLIC_KEY=pk_test_...SMART_CONTRACT_ADDRESS=0x...RPC_URL=https://...

Development

npm run dev

Open http://localhost:3000 in your browser.

Database

npm run db:migrate
npm run db:seed # optional — seeds demo events and profiles

Contributing

HackVillage is open-source at its core. The judging logic and escrow mechanics are public so the developer community can audit, trust, and improve them.

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Commit your changes following Conventional Commits.
  4. Open a pull request with a clear description of what you've changed and why.

Please read CONTRIBUTING.md before submitting a PR. All contributors are expected to uphold the Code of Conduct.


License

This project is licensed under the MIT License.


Built with intention for the African developer community.

technetium.co.ke · github.com/CodeWithEugene/HackVillage

About

Open-source infrastructure for African tech events that uses escrow-backed instant prize payouts, verified developer portfolios, and structured career pathways to turn hackathons into trusted launchpads for talent.

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Technetium KenyaHackVillage

HackVillage

The Open-Source Infrastructure for High-Impact Tech Events

Trust-as-a-Service for Developers. Innovation-as-a-Service for Organizations.

LicenseOpen SourceBuilt with Next.jsBackendDatabase


Table of Contents


Mission

HackVillage bridges the gap between developers and stakeholders through financial escrow, career-pathing, and high-speed feedback loops that ensure every tech event delivers immediate and long-term value.

We are building the primary infrastructure for the African tech ecosystem — professionalizing the hackathon and tech event experience from the ground up.


The Problem

Pain PointTraditional HackathonHackVillage
PaymentWeeks or months of waiting50% on the day, 50% on follow-up
OutcomeA trophy and a LinkedIn postInternships, credits & verified portfolio
MediaPhotos surface two weeks later48-hour high-res gallery delivery
Engagement"Eat and go home"Structured feedback & career pathing

Organizers ghost winners. Submissions vanish into the void. Brilliant prototypes die on flash drives. HackVillage exists to fix all three.


The HackVillage Standard

HackVillage enforces a Developer Bill of Rights and an Organizer Performance Guarantee through three non-negotiable pillars:

1. The Instant Reward Protocol

Organizers deposit 100% of the prize pool upfront before an event goes live. Winners receive 50% instantly on the day of the event; the remaining 50% is released automatically upon verified milestone completion. No escrow, no live event.

2. Developer Value Beyond the Prize

Every event builds a verifiable Proof of Work profile — win rates, GitHub contributions per event, and judge endorsements. Events are audition stages for real internships, apprenticeships, and mentorships brokered directly through the platform.

3. The Stakeholder Quality Guarantee

By enforcing professional standards and instant rewards, HackVillage attracts top-tier talent. Organizations receive production-ready solutions and actionable data — not polished pitches with no follow-through.


How It Works

HackVillage operates as a three-phase engine:

┌─────────────────────────────────────────────────────────────────────┐
│ PHASE 1 — SETUP │
│ Organizer: Deposit funds · Upload problem statement · Tag roles │
│ Developer: Browse verified events · Form teams │
│ Platform: Escrow validation · "Prize Verified" badge │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ PHASE 2 — ENGAGEMENT │
│ Organizer: Monitor submissions · Manage mentors │
│ Developer: Build · Submit code · Document the project │
│ Platform: Project management · Real-time judging tools │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ PHASE 3 — CLOSING │
│ Organizer: Announce winners · Upload photos within 48 hours │
│ Developer: Receive 50% instantly · Get structured judge feedback │
│ Platform: Instant Loop · QA enforcement · Public ledger record │
└─────────────────────────────────────────────────────────────────────┘

Key Features

A. Escrow & Payout Engine

  • Prize Vault — A secure holding area for prize pools. Only events marked "Prize Verified" are permitted to go live on the platform.
  • Split Disbursement API — Automated fund release via M-Pesa and bank APIs: 50% at win, 50% at milestone handover.
  • Public Ledger — Every deposit and payout is recorded on a blockchain ledger and exposed via a public link, fulfilling the open-source integrity requirement.

B. Proof of Work Portfolio

  • Dynamic Developer Profiles — Searchable profiles displaying hackathon win rates, per-event GitHub contributions, and judge endorsements.
  • Project Gallery — A permanent home for every submission with lifecycle status tags: Demo, In-Production, Pivoted to Startup.

C. Career & Operational Excellence

  • One-Click Internship — A tagging system for "Value Add-ons" that automates introductions between winners and hiring managers or HR teams.
  • 48-Hour Media Vault — Organizers must upload high-resolution event photos within 48 hours. Failure results in a Trust Penalty on their organizer score.
  • Automatic Feedback Loop — Judges must submit a minimum of three structured feedback points per team before scores can be finalized.
  • Legacy Tracker — Automated 3-month check-ins track whether prototypes have evolved into products, capturing the real-world impact of every event.

Technical Architecture

┌───────────────────────────────────────────────────────┐
│ CLIENT LAYER │
│ Next.js 14 (SEO-optimized, │
│ server components, App Router) │
└────────────────────────┬──────────────────────────────┘
│
┌────────────────────────▼──────────────────────────────┐
│ API LAYER │
│ Node.js / TypeScript — scalable for high- │
│ concurrency event days (judging rushes, │
│ simultaneous payout triggers) │
└──────────┬─────────────────────────┬──────────────────┘
│ │
┌──────────▼──────────┐ ┌──────────▼──────────────────┐
│ PostgreSQL DB │ │ Escrow Microservice │
│ Structured Proof │ │ Paystack + Smart Contract │
│ of Work tracking │ │ (Polygon / Solana layer) │
└─────────────────────┘ └─────────────────────────────┘
LayerTechnologyPurpose
FrontendNext.js 14SEO-optimized project discovery
BackendNode.js / TypeScriptHigh-concurrency event-day API
DatabasePostgreSQLStructured Proof of Work records
PaymentsPaystackFiat deposits, M-Pesa & bank payouts
LedgerSmart Contract (Polygon/Solana)Transparent, tamper-proof transaction log
Open Source CoreGitHubJudging logic & escrow mechanics are public

Escrow & Payout Engine

The financial layer is the heart of Trust-as-a-Service and is held to a 90% Trust Score KPI — meaning 90% of all prizes must be disbursed within one hour of event conclusion.

Phase 1 — Fund Security (Setup)

Organizer Paystack Smart Contract
│ │ │
│── Deposit 100% prize ───►│ │
│ │── Confirm receipt ───►│
│ │ │── Lock funds in
│ │ │ Prize Vault state
│◄── "Prize Verified" badge issued ────────────────│
  1. The organizer transfers 100% of the prize pool via Paystack (card or bank).
  2. The backend service records the deposit and triggers the smart contract.
  3. The smart contract creates a verifiable ledger entry and locks funds in PRIZE_VAULT state.
  4. The event is issued a "Prize Verified" badge and permitted to go live.

Phase 2 — Split Disbursement (Closing)

Judging finalized
│
▼
Backend Service ──── calls Smart Contract ──── authorizes 50% release
│
▼
Paystack Split API ──── M-Pesa / Bank transfer ──── Winner receives funds
│
▼
Public Ledger entry recorded
│
▼ (organizer confirms handover)
Backend Service ──── calls Smart Contract ──── authorizes final 50%
│
▼
Paystack API ──── Final transfer ──── Public Ledger entry recorded

Error Handling & Compliance

  • Rollback Logic — If a Paystack call fails or a network error occurs, funds remain locked in the vault until a successful transaction is confirmed. No partial or ambiguous states.
  • KYC / AML Compliance — All large payouts comply with Central Bank of Kenya requirements via Paystack's verified compliance layer.
  • Idempotent Operations — Every disbursement call is idempotent; duplicate triggers from retries cannot result in a double payout.

Success Metrics

KPIDescriptionGoal
Trust Score% of prizes disbursed within 1 hour of event conclusion> 90%
Conversion Rate% of winners landing an interview or internship via the platformTracked per cohort
Media MomentumAverage time for event photos to be available post-event< 48 hours
Legacy Rate% of submitted prototypes that evolve into active products (3-month check-in)Tracked per cohort

Roadmap

PhaseFeatureStatus
v1.0Prize Vault & Escrow EngineIn Development
v1.0Developer Proof of Work ProfilesIn Development
v1.0Paystack Split DisbursementIn Development
v1.148-Hour Media Vault + Trust PenaltyPlanned
v1.1One-Click Internship MatchingPlanned
v1.2Legacy Tracker (3-month check-ins)Planned
v2.0HackVillage DAO — Community-driven Elite Organizer rankingsMoonshot
v2.0Global Node — Nigeria, Rwanda, cross-border prize handlingMoonshot
v2.0AI Judging Co-pilot — Pre-screen repos for quality & plagiarismMoonshot

Getting Started

Prerequisites

  • Node.js >= 18
  • PostgreSQL >= 15
  • A Paystack account (test keys sufficient for local development)

Installation

git clone https://github.com/CodeWithEugene/HackVillage.git
cd HackVillage
npm install

Environment Variables

Create a .env.local file at the project root:

DATABASE_URL=postgresql://user:password@localhost:5432/hackvillagePAYSTACK_SECRET_KEY=sk_test_...NEXT_PUBLIC_PAYSTACK_PUBLIC_KEY=pk_test_...SMART_CONTRACT_ADDRESS=0x...RPC_URL=https://...

Development

npm run dev

Open http://localhost:3000 in your browser.

Database

npm run db:migrate
npm run db:seed # optional — seeds demo events and profiles

Contributing

HackVillage is open-source at its core. The judging logic and escrow mechanics are public so the developer community can audit, trust, and improve them.

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Commit your changes following Conventional Commits.
  4. Open a pull request with a clear description of what you've changed and why.

Please read CONTRIBUTING.md before submitting a PR. All contributors are expected to uphold the Code of Conduct.


License

This project is licensed under the MIT License.


Built with intention for the African developer community.

technetium.co.ke · github.com/CodeWithEugene/HackVillage

About

Open-source infrastructure for African tech events that uses escrow-backed instant prize payouts, verified developer portfolios, and structured career pathways to turn hackathons into trusted launchpads for talent.

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Technetium KenyaHackVillage

HackVillage

The Open-Source Infrastructure for High-Impact Tech Events

Trust-as-a-Service for Developers. Innovation-as-a-Service for Organizations.

LicenseOpen SourceBuilt with Next.jsBackendDatabase


Table of Contents


Mission

HackVillage bridges the gap between developers and stakeholders through financial escrow, career-pathing, and high-speed feedback loops that ensure every tech event delivers immediate and long-term value.

We are building the primary infrastructure for the African tech ecosystem — professionalizing the hackathon and tech event experience from the ground up.


The Problem

Pain PointTraditional HackathonHackVillage
PaymentWeeks or months of waiting50% on the day, 50% on follow-up
OutcomeA trophy and a LinkedIn postInternships, credits & verified portfolio
MediaPhotos surface two weeks later48-hour high-res gallery delivery
Engagement"Eat and go home"Structured feedback & career pathing

Organizers ghost winners. Submissions vanish into the void. Brilliant prototypes die on flash drives. HackVillage exists to fix all three.


The HackVillage Standard

HackVillage enforces a Developer Bill of Rights and an Organizer Performance Guarantee through three non-negotiable pillars:

1. The Instant Reward Protocol

Organizers deposit 100% of the prize pool upfront before an event goes live. Winners receive 50% instantly on the day of the event; the remaining 50% is released automatically upon verified milestone completion. No escrow, no live event.

2. Developer Value Beyond the Prize

Every event builds a verifiable Proof of Work profile — win rates, GitHub contributions per event, and judge endorsements. Events are audition stages for real internships, apprenticeships, and mentorships brokered directly through the platform.

3. The Stakeholder Quality Guarantee

By enforcing professional standards and instant rewards, HackVillage attracts top-tier talent. Organizations receive production-ready solutions and actionable data — not polished pitches with no follow-through.


How It Works

HackVillage operates as a three-phase engine:

┌─────────────────────────────────────────────────────────────────────┐
│ PHASE 1 — SETUP │
│ Organizer: Deposit funds · Upload problem statement · Tag roles │
│ Developer: Browse verified events · Form teams │
│ Platform: Escrow validation · "Prize Verified" badge │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ PHASE 2 — ENGAGEMENT │
│ Organizer: Monitor submissions · Manage mentors │
│ Developer: Build · Submit code · Document the project │
│ Platform: Project management · Real-time judging tools │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ PHASE 3 — CLOSING │
│ Organizer: Announce winners · Upload photos within 48 hours │
│ Developer: Receive 50% instantly · Get structured judge feedback │
│ Platform: Instant Loop · QA enforcement · Public ledger record │
└─────────────────────────────────────────────────────────────────────┘

Key Features

A. Escrow & Payout Engine

  • Prize Vault — A secure holding area for prize pools. Only events marked "Prize Verified" are permitted to go live on the platform.
  • Split Disbursement API — Automated fund release via M-Pesa and bank APIs: 50% at win, 50% at milestone handover.
  • Public Ledger — Every deposit and payout is recorded on a blockchain ledger and exposed via a public link, fulfilling the open-source integrity requirement.

B. Proof of Work Portfolio

  • Dynamic Developer Profiles — Searchable profiles displaying hackathon win rates, per-event GitHub contributions, and judge endorsements.
  • Project Gallery — A permanent home for every submission with lifecycle status tags: Demo, In-Production, Pivoted to Startup.

C. Career & Operational Excellence

  • One-Click Internship — A tagging system for "Value Add-ons" that automates introductions between winners and hiring managers or HR teams.
  • 48-Hour Media Vault — Organizers must upload high-resolution event photos within 48 hours. Failure results in a Trust Penalty on their organizer score.
  • Automatic Feedback Loop — Judges must submit a minimum of three structured feedback points per team before scores can be finalized.
  • Legacy Tracker — Automated 3-month check-ins track whether prototypes have evolved into products, capturing the real-world impact of every event.

Technical Architecture

┌───────────────────────────────────────────────────────┐
│ CLIENT LAYER │
│ Next.js 14 (SEO-optimized, │
│ server components, App Router) │
└────────────────────────┬──────────────────────────────┘
│
┌────────────────────────▼──────────────────────────────┐
│ API LAYER │
│ Node.js / TypeScript — scalable for high- │
│ concurrency event days (judging rushes, │
│ simultaneous payout triggers) │
└──────────┬─────────────────────────┬──────────────────┘
│ │
┌──────────▼──────────┐ ┌──────────▼──────────────────┐
│ PostgreSQL DB │ │ Escrow Microservice │
│ Structured Proof │ │ Paystack + Smart Contract │
│ of Work tracking │ │ (Polygon / Solana layer) │
└─────────────────────┘ └─────────────────────────────┘
LayerTechnologyPurpose
FrontendNext.js 14SEO-optimized project discovery
BackendNode.js / TypeScriptHigh-concurrency event-day API
DatabasePostgreSQLStructured Proof of Work records
PaymentsPaystackFiat deposits, M-Pesa & bank payouts
LedgerSmart Contract (Polygon/Solana)Transparent, tamper-proof transaction log
Open Source CoreGitHubJudging logic & escrow mechanics are public

Escrow & Payout Engine

The financial layer is the heart of Trust-as-a-Service and is held to a 90% Trust Score KPI — meaning 90% of all prizes must be disbursed within one hour of event conclusion.

Phase 1 — Fund Security (Setup)

Organizer Paystack Smart Contract
│ │ │
│── Deposit 100% prize ───►│ │
│ │── Confirm receipt ───►│
│ │ │── Lock funds in
│ │ │ Prize Vault state
│◄── "Prize Verified" badge issued ────────────────│
  1. The organizer transfers 100% of the prize pool via Paystack (card or bank).
  2. The backend service records the deposit and triggers the smart contract.
  3. The smart contract creates a verifiable ledger entry and locks funds in PRIZE_VAULT state.
  4. The event is issued a "Prize Verified" badge and permitted to go live.

Phase 2 — Split Disbursement (Closing)

Judging finalized
│
▼
Backend Service ──── calls Smart Contract ──── authorizes 50% release
│
▼
Paystack Split API ──── M-Pesa / Bank transfer ──── Winner receives funds
│
▼
Public Ledger entry recorded
│
▼ (organizer confirms handover)
Backend Service ──── calls Smart Contract ──── authorizes final 50%
│
▼
Paystack API ──── Final transfer ──── Public Ledger entry recorded

Error Handling & Compliance

  • Rollback Logic — If a Paystack call fails or a network error occurs, funds remain locked in the vault until a successful transaction is confirmed. No partial or ambiguous states.
  • KYC / AML Compliance — All large payouts comply with Central Bank of Kenya requirements via Paystack's verified compliance layer.
  • Idempotent Operations — Every disbursement call is idempotent; duplicate triggers from retries cannot result in a double payout.

Success Metrics

KPIDescriptionGoal
Trust Score% of prizes disbursed within 1 hour of event conclusion> 90%
Conversion Rate% of winners landing an interview or internship via the platformTracked per cohort
Media MomentumAverage time for event photos to be available post-event< 48 hours
Legacy Rate% of submitted prototypes that evolve into active products (3-month check-in)Tracked per cohort

Roadmap

PhaseFeatureStatus
v1.0Prize Vault & Escrow EngineIn Development
v1.0Developer Proof of Work ProfilesIn Development
v1.0Paystack Split DisbursementIn Development
v1.148-Hour Media Vault + Trust PenaltyPlanned
v1.1One-Click Internship MatchingPlanned
v1.2Legacy Tracker (3-month check-ins)Planned
v2.0HackVillage DAO — Community-driven Elite Organizer rankingsMoonshot
v2.0Global Node — Nigeria, Rwanda, cross-border prize handlingMoonshot
v2.0AI Judging Co-pilot — Pre-screen repos for quality & plagiarismMoonshot

Getting Started

Prerequisites

  • Node.js >= 18
  • PostgreSQL >= 15
  • A Paystack account (test keys sufficient for local development)

Installation

git clone https://github.com/CodeWithEugene/HackVillage.git
cd HackVillage
npm install

Environment Variables

Create a .env.local file at the project root:

DATABASE_URL=postgresql://user:password@localhost:5432/hackvillagePAYSTACK_SECRET_KEY=sk_test_...NEXT_PUBLIC_PAYSTACK_PUBLIC_KEY=pk_test_...SMART_CONTRACT_ADDRESS=0x...RPC_URL=https://...

Development

npm run dev

Open http://localhost:3000 in your browser.

Database

npm run db:migrate
npm run db:seed # optional — seeds demo events and profiles

Contributing

HackVillage is open-source at its core. The judging logic and escrow mechanics are public so the developer community can audit, trust, and improve them.

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Commit your changes following Conventional Commits.
  4. Open a pull request with a clear description of what you've changed and why.

Please read CONTRIBUTING.md before submitting a PR. All contributors are expected to uphold the Code of Conduct.


License

This project is licensed under the MIT License.


Built with intention for the African developer community.

technetium.co.ke · github.com/CodeWithEugene/HackVillage

About

Open-source infrastructure for African tech events that uses escrow-backed instant prize payouts, verified developer portfolios, and structured career pathways to turn hackathons into trusted launchpads for talent.

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Technetium KenyaHackVillage

HackVillage

The Open-Source Infrastructure for High-Impact Tech Events

Trust-as-a-Service for Developers. Innovation-as-a-Service for Organizations.

LicenseOpen SourceBuilt with Next.jsBackendDatabase


Table of Contents


Mission

HackVillage bridges the gap between developers and stakeholders through financial escrow, career-pathing, and high-speed feedback loops that ensure every tech event delivers immediate and long-term value.

We are building the primary infrastructure for the African tech ecosystem — professionalizing the hackathon and tech event experience from the ground up.


The Problem

Pain PointTraditional HackathonHackVillage
PaymentWeeks or months of waiting50% on the day, 50% on follow-up
OutcomeA trophy and a LinkedIn postInternships, credits & verified portfolio
MediaPhotos surface two weeks later48-hour high-res gallery delivery
Engagement"Eat and go home"Structured feedback & career pathing

Organizers ghost winners. Submissions vanish into the void. Brilliant prototypes die on flash drives. HackVillage exists to fix all three.


The HackVillage Standard

HackVillage enforces a Developer Bill of Rights and an Organizer Performance Guarantee through three non-negotiable pillars:

1. The Instant Reward Protocol

Organizers deposit 100% of the prize pool upfront before an event goes live. Winners receive 50% instantly on the day of the event; the remaining 50% is released automatically upon verified milestone completion. No escrow, no live event.

2. Developer Value Beyond the Prize

Every event builds a verifiable Proof of Work profile — win rates, GitHub contributions per event, and judge endorsements. Events are audition stages for real internships, apprenticeships, and mentorships brokered directly through the platform.

3. The Stakeholder Quality Guarantee

By enforcing professional standards and instant rewards, HackVillage attracts top-tier talent. Organizations receive production-ready solutions and actionable data — not polished pitches with no follow-through.


How It Works

HackVillage operates as a three-phase engine:

┌─────────────────────────────────────────────────────────────────────┐
│ PHASE 1 — SETUP │
│ Organizer: Deposit funds · Upload problem statement · Tag roles │
│ Developer: Browse verified events · Form teams │
│ Platform: Escrow validation · "Prize Verified" badge │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ PHASE 2 — ENGAGEMENT │
│ Organizer: Monitor submissions · Manage mentors │
│ Developer: Build · Submit code · Document the project │
│ Platform: Project management · Real-time judging tools │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ PHASE 3 — CLOSING │
│ Organizer: Announce winners · Upload photos within 48 hours │
│ Developer: Receive 50% instantly · Get structured judge feedback │
│ Platform: Instant Loop · QA enforcement · Public ledger record │
└─────────────────────────────────────────────────────────────────────┘

Key Features

A. Escrow & Payout Engine

  • Prize Vault — A secure holding area for prize pools. Only events marked "Prize Verified" are permitted to go live on the platform.
  • Split Disbursement API — Automated fund release via M-Pesa and bank APIs: 50% at win, 50% at milestone handover.
  • Public Ledger — Every deposit and payout is recorded on a blockchain ledger and exposed via a public link, fulfilling the open-source integrity requirement.

B. Proof of Work Portfolio

  • Dynamic Developer Profiles — Searchable profiles displaying hackathon win rates, per-event GitHub contributions, and judge endorsements.
  • Project Gallery — A permanent home for every submission with lifecycle status tags: Demo, In-Production, Pivoted to Startup.

C. Career & Operational Excellence

  • One-Click Internship — A tagging system for "Value Add-ons" that automates introductions between winners and hiring managers or HR teams.
  • 48-Hour Media Vault — Organizers must upload high-resolution event photos within 48 hours. Failure results in a Trust Penalty on their organizer score.
  • Automatic Feedback Loop — Judges must submit a minimum of three structured feedback points per team before scores can be finalized.
  • Legacy Tracker — Automated 3-month check-ins track whether prototypes have evolved into products, capturing the real-world impact of every event.

Technical Architecture

┌───────────────────────────────────────────────────────┐
│ CLIENT LAYER │
│ Next.js 14 (SEO-optimized, │
│ server components, App Router) │
└────────────────────────┬──────────────────────────────┘
│
┌────────────────────────▼──────────────────────────────┐
│ API LAYER │
│ Node.js / TypeScript — scalable for high- │
│ concurrency event days (judging rushes, │
│ simultaneous payout triggers) │
└──────────┬─────────────────────────┬──────────────────┘
│ │
┌──────────▼──────────┐ ┌──────────▼──────────────────┐
│ PostgreSQL DB │ │ Escrow Microservice │
│ Structured Proof │ │ Paystack + Smart Contract │
│ of Work tracking │ │ (Polygon / Solana layer) │
└─────────────────────┘ └─────────────────────────────┘
LayerTechnologyPurpose
FrontendNext.js 14SEO-optimized project discovery
BackendNode.js / TypeScriptHigh-concurrency event-day API
DatabasePostgreSQLStructured Proof of Work records
PaymentsPaystackFiat deposits, M-Pesa & bank payouts
LedgerSmart Contract (Polygon/Solana)Transparent, tamper-proof transaction log
Open Source CoreGitHubJudging logic & escrow mechanics are public

Escrow & Payout Engine

The financial layer is the heart of Trust-as-a-Service and is held to a 90% Trust Score KPI — meaning 90% of all prizes must be disbursed within one hour of event conclusion.

Phase 1 — Fund Security (Setup)

Organizer Paystack Smart Contract
│ │ │
│── Deposit 100% prize ───►│ │
│ │── Confirm receipt ───►│
│ │ │── Lock funds in
│ │ │ Prize Vault state
│◄── "Prize Verified" badge issued ────────────────│
  1. The organizer transfers 100% of the prize pool via Paystack (card or bank).
  2. The backend service records the deposit and triggers the smart contract.
  3. The smart contract creates a verifiable ledger entry and locks funds in PRIZE_VAULT state.
  4. The event is issued a "Prize Verified" badge and permitted to go live.

Phase 2 — Split Disbursement (Closing)

Judging finalized
│
▼
Backend Service ──── calls Smart Contract ──── authorizes 50% release
│
▼
Paystack Split API ──── M-Pesa / Bank transfer ──── Winner receives funds
│
▼
Public Ledger entry recorded
│
▼ (organizer confirms handover)
Backend Service ──── calls Smart Contract ──── authorizes final 50%
│
▼
Paystack API ──── Final transfer ──── Public Ledger entry recorded

Error Handling & Compliance

  • Rollback Logic — If a Paystack call fails or a network error occurs, funds remain locked in the vault until a successful transaction is confirmed. No partial or ambiguous states.
  • KYC / AML Compliance — All large payouts comply with Central Bank of Kenya requirements via Paystack's verified compliance layer.
  • Idempotent Operations — Every disbursement call is idempotent; duplicate triggers from retries cannot result in a double payout.

Success Metrics

KPIDescriptionGoal
Trust Score% of prizes disbursed within 1 hour of event conclusion> 90%
Conversion Rate% of winners landing an interview or internship via the platformTracked per cohort
Media MomentumAverage time for event photos to be available post-event< 48 hours
Legacy Rate% of submitted prototypes that evolve into active products (3-month check-in)Tracked per cohort

Roadmap

PhaseFeatureStatus
v1.0Prize Vault & Escrow EngineIn Development
v1.0Developer Proof of Work ProfilesIn Development
v1.0Paystack Split DisbursementIn Development
v1.148-Hour Media Vault + Trust PenaltyPlanned
v1.1One-Click Internship MatchingPlanned
v1.2Legacy Tracker (3-month check-ins)Planned
v2.0HackVillage DAO — Community-driven Elite Organizer rankingsMoonshot
v2.0Global Node — Nigeria, Rwanda, cross-border prize handlingMoonshot
v2.0AI Judging Co-pilot — Pre-screen repos for quality & plagiarismMoonshot

Getting Started

Prerequisites

  • Node.js >= 18
  • PostgreSQL >= 15
  • A Paystack account (test keys sufficient for local development)

Installation

git clone https://github.com/CodeWithEugene/HackVillage.git
cd HackVillage
npm install

Environment Variables

Create a .env.local file at the project root:

DATABASE_URL=postgresql://user:password@localhost:5432/hackvillagePAYSTACK_SECRET_KEY=sk_test_...NEXT_PUBLIC_PAYSTACK_PUBLIC_KEY=pk_test_...SMART_CONTRACT_ADDRESS=0x...RPC_URL=https://...

Development

npm run dev

Open http://localhost:3000 in your browser.

Database

npm run db:migrate
npm run db:seed # optional — seeds demo events and profiles

Contributing

HackVillage is open-source at its core. The judging logic and escrow mechanics are public so the developer community can audit, trust, and improve them.

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Commit your changes following Conventional Commits.
  4. Open a pull request with a clear description of what you've changed and why.

Please read CONTRIBUTING.md before submitting a PR. All contributors are expected to uphold the Code of Conduct.


License

This project is licensed under the MIT License.


Built with intention for the African developer community.

technetium.co.ke · github.com/CodeWithEugene/HackVillage

About

Open-source infrastructure for African tech events that uses escrow-backed instant prize payouts, verified developer portfolios, and structured career pathways to turn hackathons into trusted launchpads for talent.

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Technetium KenyaHackVillage

HackVillage

The Open-Source Infrastructure for High-Impact Tech Events

Trust-as-a-Service for Developers. Innovation-as-a-Service for Organizations.

LicenseOpen SourceBuilt with Next.jsBackendDatabase


Table of Contents


Mission

HackVillage bridges the gap between developers and stakeholders through financial escrow, career-pathing, and high-speed feedback loops that ensure every tech event delivers immediate and long-term value.

We are building the primary infrastructure for the African tech ecosystem — professionalizing the hackathon and tech event experience from the ground up.


The Problem

Pain PointTraditional HackathonHackVillage
PaymentWeeks or months of waiting50% on the day, 50% on follow-up
OutcomeA trophy and a LinkedIn postInternships, credits & verified portfolio
MediaPhotos surface two weeks later48-hour high-res gallery delivery
Engagement"Eat and go home"Structured feedback & career pathing

Organizers ghost winners. Submissions vanish into the void. Brilliant prototypes die on flash drives. HackVillage exists to fix all three.


The HackVillage Standard

HackVillage enforces a Developer Bill of Rights and an Organizer Performance Guarantee through three non-negotiable pillars:

1. The Instant Reward Protocol

Organizers deposit 100% of the prize pool upfront before an event goes live. Winners receive 50% instantly on the day of the event; the remaining 50% is released automatically upon verified milestone completion. No escrow, no live event.

2. Developer Value Beyond the Prize

Every event builds a verifiable Proof of Work profile — win rates, GitHub contributions per event, and judge endorsements. Events are audition stages for real internships, apprenticeships, and mentorships brokered directly through the platform.

3. The Stakeholder Quality Guarantee

By enforcing professional standards and instant rewards, HackVillage attracts top-tier talent. Organizations receive production-ready solutions and actionable data — not polished pitches with no follow-through.


How It Works

HackVillage operates as a three-phase engine:

┌─────────────────────────────────────────────────────────────────────┐
│ PHASE 1 — SETUP │
│ Organizer: Deposit funds · Upload problem statement · Tag roles │
│ Developer: Browse verified events · Form teams │
│ Platform: Escrow validation · "Prize Verified" badge │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ PHASE 2 — ENGAGEMENT │
│ Organizer: Monitor submissions · Manage mentors │
│ Developer: Build · Submit code · Document the project │
│ Platform: Project management · Real-time judging tools │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ PHASE 3 — CLOSING │
│ Organizer: Announce winners · Upload photos within 48 hours │
│ Developer: Receive 50% instantly · Get structured judge feedback │
│ Platform: Instant Loop · QA enforcement · Public ledger record │
└─────────────────────────────────────────────────────────────────────┘

Key Features

A. Escrow & Payout Engine

  • Prize Vault — A secure holding area for prize pools. Only events marked "Prize Verified" are permitted to go live on the platform.
  • Split Disbursement API — Automated fund release via M-Pesa and bank APIs: 50% at win, 50% at milestone handover.
  • Public Ledger — Every deposit and payout is recorded on a blockchain ledger and exposed via a public link, fulfilling the open-source integrity requirement.

B. Proof of Work Portfolio

  • Dynamic Developer Profiles — Searchable profiles displaying hackathon win rates, per-event GitHub contributions, and judge endorsements.
  • Project Gallery — A permanent home for every submission with lifecycle status tags: Demo, In-Production, Pivoted to Startup.

C. Career & Operational Excellence

  • One-Click Internship — A tagging system for "Value Add-ons" that automates introductions between winners and hiring managers or HR teams.
  • 48-Hour Media Vault — Organizers must upload high-resolution event photos within 48 hours. Failure results in a Trust Penalty on their organizer score.
  • Automatic Feedback Loop — Judges must submit a minimum of three structured feedback points per team before scores can be finalized.
  • Legacy Tracker — Automated 3-month check-ins track whether prototypes have evolved into products, capturing the real-world impact of every event.

Technical Architecture

┌───────────────────────────────────────────────────────┐
│ CLIENT LAYER │
│ Next.js 14 (SEO-optimized, │
│ server components, App Router) │
└────────────────────────┬──────────────────────────────┘
│
┌────────────────────────▼──────────────────────────────┐
│ API LAYER │
│ Node.js / TypeScript — scalable for high- │
│ concurrency event days (judging rushes, │
│ simultaneous payout triggers) │
└──────────┬─────────────────────────┬──────────────────┘
│ │
┌──────────▼──────────┐ ┌──────────▼──────────────────┐
│ PostgreSQL DB │ │ Escrow Microservice │
│ Structured Proof │ │ Paystack + Smart Contract │
│ of Work tracking │ │ (Polygon / Solana layer) │
└─────────────────────┘ └─────────────────────────────┘
LayerTechnologyPurpose
FrontendNext.js 14SEO-optimized project discovery
BackendNode.js / TypeScriptHigh-concurrency event-day API
DatabasePostgreSQLStructured Proof of Work records
PaymentsPaystackFiat deposits, M-Pesa & bank payouts
LedgerSmart Contract (Polygon/Solana)Transparent, tamper-proof transaction log
Open Source CoreGitHubJudging logic & escrow mechanics are public

Escrow & Payout Engine

The financial layer is the heart of Trust-as-a-Service and is held to a 90% Trust Score KPI — meaning 90% of all prizes must be disbursed within one hour of event conclusion.

Phase 1 — Fund Security (Setup)

Organizer Paystack Smart Contract
│ │ │
│── Deposit 100% prize ───►│ │
│ │── Confirm receipt ───►│
│ │ │── Lock funds in
│ │ │ Prize Vault state
│◄── "Prize Verified" badge issued ────────────────│
  1. The organizer transfers 100% of the prize pool via Paystack (card or bank).
  2. The backend service records the deposit and triggers the smart contract.
  3. The smart contract creates a verifiable ledger entry and locks funds in PRIZE_VAULT state.
  4. The event is issued a "Prize Verified" badge and permitted to go live.

Phase 2 — Split Disbursement (Closing)

Judging finalized
│
▼
Backend Service ──── calls Smart Contract ──── authorizes 50% release
│
▼
Paystack Split API ──── M-Pesa / Bank transfer ──── Winner receives funds
│
▼
Public Ledger entry recorded
│
▼ (organizer confirms handover)
Backend Service ──── calls Smart Contract ──── authorizes final 50%
│
▼
Paystack API ──── Final transfer ──── Public Ledger entry recorded

Error Handling & Compliance

  • Rollback Logic — If a Paystack call fails or a network error occurs, funds remain locked in the vault until a successful transaction is confirmed. No partial or ambiguous states.
  • KYC / AML Compliance — All large payouts comply with Central Bank of Kenya requirements via Paystack's verified compliance layer.
  • Idempotent Operations — Every disbursement call is idempotent; duplicate triggers from retries cannot result in a double payout.

Success Metrics

KPIDescriptionGoal
Trust Score% of prizes disbursed within 1 hour of event conclusion> 90%
Conversion Rate% of winners landing an interview or internship via the platformTracked per cohort
Media MomentumAverage time for event photos to be available post-event< 48 hours
Legacy Rate% of submitted prototypes that evolve into active products (3-month check-in)Tracked per cohort

Roadmap

PhaseFeatureStatus
v1.0Prize Vault & Escrow EngineIn Development
v1.0Developer Proof of Work ProfilesIn Development
v1.0Paystack Split DisbursementIn Development
v1.148-Hour Media Vault + Trust PenaltyPlanned
v1.1One-Click Internship MatchingPlanned
v1.2Legacy Tracker (3-month check-ins)Planned
v2.0HackVillage DAO — Community-driven Elite Organizer rankingsMoonshot
v2.0Global Node — Nigeria, Rwanda, cross-border prize handlingMoonshot
v2.0AI Judging Co-pilot — Pre-screen repos for quality & plagiarismMoonshot

Getting Started

Prerequisites

  • Node.js >= 18
  • PostgreSQL >= 15
  • A Paystack account (test keys sufficient for local development)

Installation

git clone https://github.com/CodeWithEugene/HackVillage.git
cd HackVillage
npm install

Environment Variables

Create a .env.local file at the project root:

DATABASE_URL=postgresql://user:password@localhost:5432/hackvillagePAYSTACK_SECRET_KEY=sk_test_...NEXT_PUBLIC_PAYSTACK_PUBLIC_KEY=pk_test_...SMART_CONTRACT_ADDRESS=0x...RPC_URL=https://...

Development

npm run dev

Open http://localhost:3000 in your browser.

Database

npm run db:migrate
npm run db:seed # optional — seeds demo events and profiles

Contributing

HackVillage is open-source at its core. The judging logic and escrow mechanics are public so the developer community can audit, trust, and improve them.

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Commit your changes following Conventional Commits.
  4. Open a pull request with a clear description of what you've changed and why.

Please read CONTRIBUTING.md before submitting a PR. All contributors are expected to uphold the Code of Conduct.


License

This project is licensed under the MIT License.


Built with intention for the African developer community.

technetium.co.ke · github.com/CodeWithEugene/HackVillage

About

Open-source infrastructure for African tech events that uses escrow-backed instant prize payouts, verified developer portfolios, and structured career pathways to turn hackathons into trusted launchpads for talent.

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors