Skip to content

Conference Site

An event site built around a date: the ticket price step-up above the hero, a two-day programme across three tracks, speakers, venue and a code of conduct.

7 routes7 pages · 25 blocks43 files · 6,332 lineslucide-reactAdded 14 Sept 2026

What's included

  • app/conduct/page.tsx
  • app/faq/page.tsx
  • app/globals.css
  • app/layout.tsx
  • app/not-found.tsx
  • app/page.tsx
  • and 11 more files
  • 7 pages it is built from, installed with it
  • Needs lucide-react

Works with

  • React
  • Next.js
  • Tailwind CSS
  • TypeScript

npx hoverlab init conference-site ./my-app

Or over MCP, from your editor's agent — no account needed.

License

Free to read, copy and install, for personal and non-commercial projects. Shipping it in client work or a paid product needs Pro ($79 once). The source lands in your repo and stops being ours — no attribution, nothing to upgrade.

Was this useful?

Every screen

Early bird€260 until 28 February — the price steps up to €340 at midnight CET, and there are 420 tickets in total.Book a ticket

Berlin · 14–15 May 2026

Two days on the parts of building software nobody demos

Three tracks on platform, interface and practice, for people who ship and maintain the same system. No vendor pitches, no panels about the future of work, and every talk published free within a fortnight.

Two days, Berlin
14–15 May
Tracks, no keynote clashes
3
Tickets, and that is the cap
420
Early bird, until 28 Feb
€260

Speaking this year

Eighteen talks across two days; six of them are here. Everyone speaking has shipped and maintained the thing they are describing — we do not take submissions about work somebody else did.

  • Aisling Moreau

    Principal engineer, Northwind

    Opening keynote. Ten years of build tooling, told as the two times she was confidently wrong about it.

  • Tobias Renner

    Staff engineer, Contoso

    On removing a caching layer and getting faster, with the profiler output and the argument that preceded it.

  • Priya Ramanathan

    Independent

    Type-safe forms with no runtime library, and a workshop on accessible components from first principles.

  • Marcus Oyelaran

    Design director, Umbra

    Design reviews people actually attend, and what changed when they stopped being a gate.

  • Hana Lindqvist

    Database engineer, Vandelay

    Five years of one monorepo and the Postgres bill that came with it, assessed honestly.

  • Dev Kaur

    Accessibility lead, Aperture

    Animation that survives prefers-reduced-motion, and why the fallback is usually the better design.

Funded by six sponsors, none of whom get a stage slot

  • Northwind
  • Contoso
  • Initech
  • Umbra
  • Lumon
  • Vandelay
  • Soylent
  • Aperture
  • Tyrell
  • Wayne
  • Cyberdyne
  • Stark

Sponsorship pays for the community tickets, the captions and the recordings. It does not buy a talk — every session on the programme went through the same review, and three sponsors submitted and were turned down this year.

Three tickets

One price, paid once, and the same two days in all three. The differences are lunch, the workshops and the dinner — there is no version of this event where you see fewer talks.

Three tickets — features by plan
FeatureCommunityStandardPopularWorkshop
Price until 28 February€180€260€420
Price from 1 March€180€340€520
Both conference daysIncludedIncludedIncluded
Talk recordings, published within two weeksIncludedIncludedIncluded
Lunch and the Thursday partyNot includedIncludedIncluded
Hands-on workshops (limited to 24 seats each)Not includedNot includedIncluded
Speakers’ dinner on the WednesdayNot includedNot includedIncluded
Transferable to a colleagueIncludedIncludedIncluded
Refundable until 1 AprilIncludedIncludedIncluded

Before you book

The logistics that decide whether a ticket is usable, answered properly rather than in a line each.

Something not covered?

Two of us read this inbox and we answer before you pay, not after. Access requirements especially — ask first.

Email the organisers
What is the community ticket and who is it for?

It is the same two days at €180, for students, people between jobs, and anyone whose employer is not paying. Nobody is asked to prove any of that — you tick a box. We hold 80 of them and they are funded by the sponsor tiers, not by the other ticket types.

Are the talks recorded, and are they free afterwards?

All of them, published to the public within two weeks, no login and no paywall. Workshops are not recorded because the value is in the room and a camera changes how people ask questions.

Can I get a refund if I cannot come?

Full refund until 1 April, no reason needed. After that the ticket is transferable to anyone else right up to the morning of the event — change the name in your order and that is the whole process.

What does "no keynote clashes" mean?

Three tracks run in parallel, but the two keynotes and the closing panel run alone with nothing scheduled against them. Nobody should have to choose between the talk everybody will discuss and one they specifically came for.

How accessible is the venue?

Step-free throughout, including the stage. Live captions on every talk in the Great Hall and Room A, a quiet room open both days, and hearing loops in all three rooms. Email us before you book if you need something not listed here and we will answer before you pay.

Is there a code of conduct and is it enforced?

Yes, and yes — it is linked in the footer, it names the three people on the response team, and they are at the event both days with a phone number printed on every badge. It has been used twice in four years and both reports resulted in action.

420 tickets, and 190 have gone

The early-bird price holds until the end of February. After that it steps up once, and it does not step back down.

  • Full refund until 1 April, no reason needed
  • Transferable to a colleague right up to the morning
  • Every talk published free within two weeks

Live components in your current theme — switch routes, or the phone icon to check the mobile layout. Colours are this template’s Marquee palette, which ships in app/globals.css. Saturated magenta with the roundest corners in the set. Loud on purpose: a conference is a thing that happens once, on a date, and the page selling it is allowed to raise its voice in a way a product page is not.

Get it

43 files · .zip · nothing to configure · Pro

then

cd conference-site
npm install
npm run dev

The archive contains the whole project — routes, blocks, theme tokens, Tailwind and PostCSS config, tsconfig and a .gitignore. One runtime dependency, and no Hoverlab dependency at all: it is your code from the moment it unzips.

For AI

The component, its props, the design tokens it expects and the command that installs it — as one prompt. Paste it into Claude, Cursor, v0 or ChatGPT and what they build around it will match the rest of the catalog instead of inventing its own system.

See the prompt

Routes

PathPageFile
/Conference Landingapp/page.tsx
/programmeConference Programmeapp/programme/page.tsx
/speakersTeam Page 02app/speakers/page.tsx
/venueContact Pageapp/venue/page.tsx
/faqFAQ Page 02app/faq/page.tsx
/conductLegal Document 02app/conduct/page.tsx
404404 Pageapp/not-found.tsx

What you get

project root(8 files)

  • GETTING-STARTED.md
  • gitignore
  • next.config.ts
  • package.json
  • postcss.config.mjs
  • README.md
  • tailwind.config.ts
  • tsconfig.json

app/(9 files)

  • conduct/page.tsx
  • faq/page.tsx
  • globals.css
  • layout.tsx
  • not-found.tsx
  • page.tsx
  • programme/page.tsx
  • speakers/page.tsx
  • venue/page.tsx

components/(26 files)

  • announcement-bar.tsx
  • article-header.tsx
  • comparison-table.tsx
  • contact-form-split.tsx
  • cookie-consent.tsx
  • cta-split-panel.tsx
  • event-agenda-grid.tsx
  • faq-accordion.tsx
  • faq-grid.tsx
  • faq-objection-list.tsx
  • faq-two-column.tsx
  • feature-rows.tsx
  • footer-compliance.tsx
  • footer-mega.tsx
  • footer-minimal.tsx
  • hero-metrics.tsx
  • hero-split.tsx
  • job-listing-board.tsx
  • logo-grid.tsx
  • navbar-simple.tsx
  • not-found-404.tsx
  • security-faq-list.tsx
  • stats-narrative.tsx
  • support-chat-widget.tsx
  • team-grid.tsx
  • theme-provider.tsx

Every file is listed. The 25 files in components/ are the blocks the pages import — each one has its own page if you want to read it on its own.

Project files

Everything except the blocks. Opens on app/globals.css — the file that makes the rest look right, since every block styles itself with bg-card and text-muted-foreground rather than literal colours.

app/globals.css
@tailwind base;
@tailwind components;
@tailwind utilities;

/**
 * Design tokens — the Marquee palette.
 *
 * Saturated magenta with the roundest corners in the set. Loud on purpose: a conference is a thing that happens once, on a date, and the page selling it is allowed to raise its voice in a way a product page is not.
 *
 * This file is the reason a pasted block looks right. Every block and page
 * styles itself with semantic classes — `bg-card`, `text-muted-foreground`,
 * `border-border` — rather than literal colours, so they inherit whatever
 * you define here instead of fighting it. Change a value below and every
 * section in the project moves with it. Change the hue on `--primary` and
 * `--ring` together and you have rebranded the site.
 *
 * Values are bare HSL channels, not `hsl(...)` calls. That is what lets
 * Tailwind compose them with an alpha suffix: `bg-primary/10` expands to
 * `hsl(var(--primary) / 0.1)`, which is impossible if the variable already
 * carries its own function wrapper.
 *
 * Every foreground/background pair below clears WCAG AA (4.5:1) in both
 * themes. If you retune one, check the pair rather than trusting the eye —
 * mid-lightness accents are the ones that fail.
 */

@layer base {
  :root {
    --background: 300 34% 99%;
    --foreground: 300 45% 9%;
    --card: 0 0% 100%;
    --card-foreground: 300 45% 9%;
    --popover: 0 0% 100%;
    --popover-foreground: 300 45% 9%;
    --primary: 300 68% 34%;
    --primary-foreground: 0 0% 100%;
    --secondary: 300 34% 96%;
    --secondary-foreground: 300 40% 20%;
    --muted: 300 22% 96%;
    --muted-foreground: 300 12% 42%;
    --accent: 318 60% 95%;
    --accent-foreground: 318 50% 22%;
    --destructive: 0 72% 45%;
    --destructive-foreground: 0 0% 100%;
    --border: 300 22% 90%;
    --input: 300 22% 90%;
    --ring: 300 68% 34%;

    --radius: 1.25rem;
  }

  .dark {
    --background: 300 40% 5%;
    --foreground: 300 15% 97%;
    --card: 300 32% 8%;
    --card-foreground: 300 15% 97%;
    --popover: 300 32% 8%;
    --popover-foreground: 300 15% 97%;
    --primary: 300 78% 72%;
    --primary-foreground: 300 45% 8%;
    --secondary: 300 25% 15%;
    --secondary-foreground: 300 15% 97%;
    --muted: 300 25% 15%;
    --muted-foreground: 300 12% 68%;
    --accent: 318 30% 18%;
    --accent-foreground: 318 40% 92%;
    --destructive: 0 62% 52%;
    --destructive-foreground: 0 0% 100%;
    --border: 300 22% 19%;
    --input: 300 22% 19%;
    --ring: 300 78% 72%;
  }
}

@layer base {
  * {
    @apply border-border;
  }

  body {
    @apply bg-background text-foreground antialiased;
  }

  /**
   * Global motion opt-out.
   *
   * Blocks guard their own animations with Tailwind's `motion-safe:`, but
   * third-party CSS and anything you add later will not. This is the
   * backstop: it neutralises every animation and transition on the page
   * for users who have asked the OS for reduced motion, rather than
   * relying on each author to remember.
   */
  @media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
      scroll-behavior: auto !important;
    }
  }
}

More Marketing

Open the full page for this template

Marketing Site

A pricing page that answers the objection

Landing page, pricing page, 404. The smallest thing you can put in front of a product and have it look deliberate.

3 routes3 pages13 blocksVermilion
Pro
Open the full page for this template

Content Site

The article at a real measure

A publication that happens to belong to a company: blog index, article, careers and a 404. The site for when the writing is the product — or the marketing.

4 routes4 pages10 blocksInk
Pro
Open the full page for this template

Docs Site

The three-column docs frame

The three-column docs frame — sidebar, article, on-this-page rail — plus a changelog and a 404. The part of the product a search for an error message should find.

3 routes3 pages6 blocksAzure
Pro
Open the full page for this template

Help Centre

Search that answers before the ticket

The support surface, as four routes that agree with each other: searchable answers, the docs, what changed, and a status page carrying the same incident the help page announces.

5 routes5 pages13 blocksRose
Pro
Open the full page for this template

Developer Portfolio

The terminal that introduces you

An engineer’s site rather than a designer’s: a terminal hero, thirty legible lines of real code on the home page, the projects, the writing and a CV that prints.

8 routes8 pages26 blocksPhosphor
Open the full page for this template

Personal Résumé

A CV that prints properly

A minimal personal site whose home page is the CV itself — printable, indexable, and therefore the copy that actually gets maintained. Five routes, warm paper, square corners.

6 routes6 pages17 blocksLinen
Pro
Open the full page for this template

Crypto Exchange

The live price rail

A regulated exchange, front to back: a moving price rail, a public markets screen, the custody facts, the fee schedule and the risk warning as a section rather than as small print.

8 routes8 pages30 blocksVault
Pro
Open the full page for this template

Restaurant

The menu, typeset as a bill of fare

A dining room’s whole site: hours and phone above the fold, the menu typeset as a bill of fare, a real reservation flow, the room and the way to find it.

7 routes7 pages24 blocksLaurel
Pro
Open the full page for this template

Estate Agency

Map and results, scrolling apart

Property search with results already in it, a listing page that puts tenure and EPC above the prose, the agents, and a valuation route for the other half of the business.

6 routes6 pages23 blocksHeath
Pro
Open the full page for this template

Job Board

Salary on every row, grouped by craft

A two-sided board where candidates get the whole site and employers get one section and a price. Listings grouped by craft, each with a real salary range and the interview process published.

6 routes6 pages28 blocksFoundry
Open the full page for this template

Open Source Project

The install command, before anything else

A project site for a library: install command above the hero, the API in twenty lines, docs, changelog, roadmap, community, and who funds it said plainly.

7 routes7 pages21 blocksCarbon
Pro
Open the full page for this template

Directory

Facets that are not categories

A faceted index with a listing page that compares each entry against its alternatives, a paid submission route, and a published removal rate.

6 routes6 pages29 blocksMulberry
Pro
Open the full page for this template

Streaming Service

The watch screen, on the marketing page

A subscription video service: catalogue rails, a real watch screen with chapters and a transcript, one plan at one price, and the account behind it.

6 routes6 pages20 blocksNocturne