Find tech conferences, meetups, and workshops happening around the world — and keep track of the ones that matter to you.
Quick links: Live site • Submit an event • Communities
What you can do:
- 🔎 Filter events by date, country, tags, and format (in‑person, hybrid, online)
- 📅 Browse an events calendar and explore curated lists
- ✅ RSVP and manage your attendance
- 💬 Comment and join the discussion on event pages
- 🧭 Discover, follow, and manage communities
- ➕ Submit your own events and update community pages
Tip
Explore ConfHub live => https://confhub.tech 🚀
ConfHub is a web app built with TanStack Start, Vite, and React, featuring authentication, event submissions, RSVPs, comments, and powerful filters.
ConfHub runs server-side on the edge (Netlify Edge target) and uses PostgreSQL with Drizzle ORM for a fast, modern developer experience.
- Powered by TanStack: Start, Router, Query, Form
- React 19, Vite and TypeScript end-to-end
- UI: Tailwind CSS v4, Radix UI primitives, and lucide-react
- Data: PostgreSQL + Drizzle ORM; local dev via Docker
- Auth: Better Auth (email/password + GitHub OAuth)
- Features: event submissions, RSVPs, comments, communities, and filtering by tags/country/mode
Cool isn't it? Maybe worth leaving a star on GitHub! ⭐
Prerequisites:
- pnpm
- Docker (for local Postgres)
pnpm installCopy .env.example to .env.local and adjust values as needed:
cp .env.example .env.localMinimum required:
DATABASE_URL— PostgreSQL connection string (see.env.examplefor local)- OAuth (Better Auth):
GITHUB_CLIENT_ID,GITHUB_CLIENT_SECRETGOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET
Google OAuth notes:
- Authorized redirect URI should point to your app domain with the auth endpoint, e.g.
http://localhost:3000/api/auth/callback/googlefor local dev andhttps://YOUR_DOMAIN/api/auth/callback/googlein production. - Create credentials in Google Cloud Console (OAuth 2.0 Client ID) for a Web application and add both local and production redirect URIs.
You can also add .env.production.local for production (Netlify) or set variables in the Netlify UI.
This repo includes a local Postgres via Docker:
docker compose up -dEnsure DATABASE_URL in your .env.local uses localhost:5432 (see .env.example).
pnpm db:pushOptional tools:
- Generate SQL from schema:
pnpm db:generate - Explore DB visually:
pnpm db:studio
pnpm db:seedpnpm devOpen http://localhost:3000.
- Add or edit events in
data-entry/data.json - Import them into the database:
pnpm db:entryFor production environments that use a different env file path:
pnpm db:entry:prodThere’s also a helper instruction at .github/instructions/import-event.instructions.md to guide automated data entry from event URLs.
Server code reads variables via process.env. Minimum set:
DATABASE_URL—- Local example (Docker):
postgresql://postgres:postgres@localhost:5432/main - Production: use your managed Postgres connection string (e.g., Supabase, RDS, Render)
- Local example (Docker):
GITHUB_CLIENT_ID,GITHUB_CLIENT_SECRET— GitHub OAuth for Better AuthGOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET— Google OAuth for Better Auth- Optional:
LOG_DEBUG=1to enable extra logs in development
Use .env.local for development and .env.production.local (or Netlify env) for production.
This project is configured for Netlify Edge through TanStack Start:
- Vite plugin:
tanstackStart({ target: "netlify-edge", ... }) - Make sure your production
DATABASE_URLand OAuth credentials are set in Netlify environment variables - Build command:
pnpm build
After deploy, public assets and server output are placed in .output (handled by TanStack Start and Netlify adapter).
A quick mental model of the repo:
src/routes: pages and server endpoints (TanStack Router). Includes API endpoints and auth discovery.components: UI blocks grouped by domain (auth, events, communities, filters, forms, header, ui primitives).services: server handlers plus zod schemas and query keys.lib: cross-cutting libs (db schema/migrations/client/seed, auth, sitemap, utilities).hooks: reusable React hooks.app: entry and styles (router.tsx, globals.css, generated route tree).
Do you want to submit an event? Just send the link here: https://confhub.tech/events/submit Are you a member of a community? Create one or claim it if it's already existing.
Contributions are welcome! If you find a bug or have an idea, please open an issue or a PR. For larger changes, consider starting a discussion first so we can align on direction.
Recommended workflow:
- Fork and create a feature branch
- Add tests or update docs where relevant
- Run linters/build locally (
pnpm tsc,pnpm formatoptional) - Open a PR with a clear description and screenshots if UI changes