AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Discover hackathons across Europe
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
FindHackEU is an independent, open-source directory of hackathons across Europe, maintained by Gabriele Viganò. A scheduled pipeline pulls event listings from Luma, Devfolio, MLH, ETHGlobal, Eventbrite, and Devpost; normalizes and deduplicates them across sources; enriches location data with geocoding; and publishes the result as a searchable, mappable website and a public JSON API — all built and run in the open. • What you can use • Run locally • Project map • Useful commands • Origin and stewardshipREADME 전문 보기 ↗
FindHackEU is an independent, open-source directory of hackathons across Europe, maintained by Gabriele Viganò. A scheduled pipeline pulls event listings from Luma, Devfolio, MLH, ETHGlobal, Eventbrite, and Devpost; normalizes and deduplicates them across sources; enriches location data with geocoding; and publishes the result as a searchable, mappable website and a public JSON API — all built and run in the open.
GET /api/hackathons returns approved, non-archived events as JSON, with optional status, cursor, and limit parameters.Discord/Telegram/Twitter notification bots exist in the codebase but are currently unconfigured and inactive in production.
Prerequisites: a current Node.js installation and Docker (for local Supabase).
git clone https://github.com/viganogabriele/FindHackEU.git
cd FindHackEU
npm install
cp .env.example .env.local
npx supabase start
supabase start boots a local Postgres/Studio stack, applies the repository's migrations, and loads supabase/seed.sql — a small set of realistic, clearly-fake sample hackathons and moderation-queue candidates, so the site and /admin have something to look at immediately with zero API keys configured. Copy the API URL, anon key, and service-role key it prints into .env.local as NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, and SUPABASE_SERVICE_ROLE_KEY, set CRON_SECRET to any value you choose, then start the app:
npm run dev
The local /admin moderation dashboard needs no Google OAuth setup by default: leave GOOGLE_CLIENT_ID and ADMIN_ALLOWED_EMAIL unset and it falls back to an open local-dev bypass. That bypass only ever activates outside production — see lib/services/require-admin-auth.ts and docs/admin-auth-setup.md if you want real sign-in locally too.
To actually populate data, trigger the discovery pipeline against your local Supabase instance with npm run trigger-update (see .env.example for the optional geocoding/search API keys that unlock location enrichment and web-search discovery).
app/ — App Router pages and API routes, including the public listing UI and /admin moderation dashboard.lib/parsers/ — one module per event source (Luma, Devfolio, MLH, ETHGlobal, Eventbrite, Devpost), each implementing a shared Provider contract.lib/dedup/ — URL normalization and fuzzy title/date matching used to merge duplicate listings across sources.lib/discovery/ and lib/search/ — the moderated web-search discovery pipeline, kept structurally separate from the provider parsers above.lib/services/ — ingestion orchestration, geocoding, persistence, and moderation logic.supabase/migrations/ — the full database schema, checked in so a local instance matches production exactly.Every stage of the ingestion pipeline reports its own status independently, so one source failing (a site redesign, a rate limit) never blocks the others from completing. Web-search-derived candidates stay entirely separate from the published dataset until a maintainer explicitly approves them — there is no path from a raw search result to a live listing that skips human review.
| Command | Purpose |
|---|---|
npm run dev | Start the development server. |
npm run lint | Run ESLint. |
npm run test | Run the Vitest test suite. |
npx tsc --noEmit | Type-check the project. |
npm run build | Build for production. |
npm run trigger-update | Run the discovery pipeline against your local Supabase instance. |
For architecture and environment details, see CLAUDE.md, AGENTS.md, and .env.example. Product and API documentation lives at /docs on the running site. To deploy your own instance to Vercel + Supabase, see docs/production-deployment.md.
FindHackEU acknowledges HackTrack EU, created by Lorenzo Palaia, as its original inspiration and starting point. It is now independently developed and operated, with its own architecture, infrastructure, issue tracker, and roadmap. Since that split, the project's focus has been on making European hackathon discovery substantially broader and more reliable: more sources, honest per-source status reporting, cross-source deduplication, and a moderation queue that keeps low-confidence results out of the public dataset.
Released under the MIT License. File bugs and proposals on the GitHub issue tracker. For anything else, reach Gabriele directly at [email protected].