Open source

Contribute a conference

Conferences are hardcoded and contributed via GitHub pull request: no account, no database. Maintainer review keeps the quality high.

Let an AI agent do the heavy lifting

Copy a ready-made prompt bundling all the context an agent needs to add a conference the right way, then paste it into your coding agent.

How it works

  1. 1Transcribe the audio/video and synthesize the content.
  2. 2Create src/data/conferences/<slug>/ (one file per part) exporting a Conference object.
  3. 3Register it in src/data/conferences/index.ts.
  4. 4Open a pull request, a maintainer reviews and merges.

Anatomy of a conference

A conference is a folder under src/data/conferences/<slug>/, one file per responsibility. A single <slug>.ts file also works for a short one.

meta.ts

Identity & framing

Title, platform, date, the one-liner, the key idea and tags.

orgs.ts

Organizations

The teams involved, with their color and links.

speakers.ts

Speakers

Who speaks, for which org, with their verified X identity and avatar.

themes.ts

Timeline

The event block by block, in the real order of the conversation.

missions.ts

Missions

Open missions and bounties launched after the event. Optional.

glossary.ts

Glossary

The key technical concepts covered. Optional.

Required vs optional

Required
  • A slug and a title
  • Platform, date and duration
  • Speakers and timeline
Optional
  • Bounties & missions
  • A cover image
  • Speaker avatars & X links
  • Technical glossary
  • Official announcement link

The page and the social card adapt to what you provide: no bounty, no cover or no avatar is perfectly fine.

No image to design

A branded Open Graph card is generated automatically from your data (title, speakers, bounty). Set a cover only to override it.

Assets & content sourcing

Transcription and synthesis happen upstream, outside this repo — use any tool you like, then write the result into the data files (English).

Speaker avatars are optional and degrade gracefully. Declare the avatar path then run pnpm fetch-avatars to download it from the speaker's X handle (via unavatar) into public/media/speakers/ — don't hotlink X or Discord, those URLs rotate. Use public profile pictures of speakers who appeared publicly; any can be removed on request.

Before opening your PR, run pnpm validate to check data integrity (date format, cross-references, missing assets).

Rule: every text field is a plain English string (no translation object); browsers handle translation for other languages.

Use the existing Semantic Delegation conference as a reference.

Org colors: sky, violet, caramel, emerald, rose, amber. Mission complexity: beginner, intermediate, advanced.

Open the repository