Official landing page for OHBM Brainhack 2026 (June 11-13, Bordeaux, France).
This site includes:
- Hero section with animated neural-network visual
- Event info and venue highlight
- 3-day interactive schedule (tabbed timeline)
- HackTrack and TrainTrack registration sections backed by GitHub Issues
- Searchable project and tutorial listings on the home page
- Sponsor section + contact CTA
- Footer links and event metadata
The page is built as a static-exported Next.js app and deployed to GitHub Pages.
- Next.js
16.1.3(App Router) - React
19.2.3 - TypeScript
5 - Tailwind CSS
4 - Radix UI + shadcn/ui
- Lucide React icons
- Vercel Analytics (
@vercel/analytics)
npm install
npm run devOpen http://localhost:3000.
npm run dev: start dev servernpm run sync-tracks: fetch HackTrack / TrainTrack issues and regeneratesrc/data/tracks.generated.jsonnpm run build: production build + static export (out/)npm run start: run production servernpm run lint: run ESLint
src/app/layout.tsx: metadata, fonts, global layoutsrc/app/page.tsx: section composition ordersrc/app/globals.css: theme tokens and base stylingsrc/components/hero-section.tsx: hero + brain animationsrc/components/info-section.tsx: event highlights + venue visualsrc/components/schedule-section.tsx: schedule UI and schedule datasrc/components/track-browser.tsx: searchable HackTrack / TrainTrack browser UIsrc/components/sponsors-section.tsx: sponsor/CTA contentsrc/components/scroll-fade.tsx: section entrance/exit scroll transitionsscripts/sync-track-issues.js: GitHub issue parser and JSON generator.github/ISSUE_TEMPLATE/*.yml: registration forms for HackTrack and TrainTrackschedule.md: planning/reference schedule document (not auto-wired to UI)
- Event title/description (SEO): update
src/app/layout.tsx. - Hero copy/date/location: update
src/components/hero-section.tsx. - Schedule data and track tags: update
src/components/schedule-section.tsx. - HackTrack / TrainTrack issue forms: update
.github/ISSUE_TEMPLATE/. - Track parsing behavior: update
scripts/sync-track-issues.js. - Sponsor entries and logo paths: update
src/components/sponsors-section.tsxand add assets topublic/. - Footer links/text: update
src/components/footer.tsx.
Note: schedule.md is documentation for planning. The live schedule currently comes from the schedule object in schedule-section.tsx.
HackTrack and TrainTrack are sourced from GitHub Issues in this repository.
- Opening, editing, labeling, unlabeled changes, reopening, or closing an issue triggers the GitHub Pages deployment workflow.
- The workflow runs
node scripts/sync-track-issues.jsbeforenext build. - The script parses the GitHub issue form bodies and regenerates
src/data/tracks.generated.json. - The website then rebuilds from that generated JSON. No manual JSON commit is required for new registrations to appear.
Deployment runs via .github/workflows/nextjs.yml on pushes to main.
Static hosting settings are in next.config.ts:
output: "export"images.unoptimized: truebasePath/assetPrefixfor repository subpath deployment
If the repository name changes, update repositoryName in next.config.ts.
MIT