A conference venue for people who build in public, ship before they feel ready, and believe the best ideas get better when they meet other people.
VibeCODE is a monorepo for two connected products:
- VibeCODE Expo — a browser-native virtual conference platform with a live floor, rooms, embedded video, networking, chat, discovery, sponsor spaces, and event operations.
- VibeCODE 101 — the public-facing event and learning experience: a high-energy landing page, ticketing, an AI concierge, spatial navigation, and the original VibeCODE event story.
They belong together. VibeCODE 101 tells people why to show up; VibeCODE Expo gives them somewhere worth showing up to.
Most virtual events are pages and links. VibeCODE is meant to feel like a place.
You arrive in a lobby, find the room that sounds like your kind of trouble, hear the people already inside, and leave with a conversation, a project, or a new direction. The platform is designed around presence rather than passive attendance.
- Live lobby and event floor
- Stage, workshop, networking, contributor, mentor, private, and sponsor rooms
- Embedded Zoom Meeting SDK rooms
- Real-time room presence and chat over WebSockets
- Attendee profiles, interest tags, discovery, recommendations, and invites
- Bookmarks and personal schedule
- Sponsor profiles, booths, analytics, and lead capture
- Admin tools for room operations and event management
- Feed, direct messages, and community conversation
- AI Concierge integration
- Stripe-powered checkout and lifetime-access flows
- Event landing experience
- Schedule and masterclass storytelling
- Pricing and registration surfaces
- AI concierge
- Spatial event navigation
- Legal, contact, privacy, and code-of-conduct pages
- The original visual language that grew into the Expo platform
.
├── artifacts/
│ ├── api-server/ # Shared Express + Redis API
│ ├── vibeconf/ # VibeCODE Expo deployable frontend
│ └── vibecode-101/ # VibeCODE 101 deployable frontend
├── lib/
│ ├── api-client-react/ # Generated React Query client
│ ├── api-spec/ # OpenAPI source of truth
│ ├── api-zod/ # Generated Zod types
│ └── db/ # Shared database package
├── vibe_code_expo/ # Self-contained Expo source tree and deployment mirror
├── vibecode_101/ # Self-contained VibeCODE 101 source tree
├── vibe_code_expo_beta/ # Experimental and beta work
├── artifacts/mockup-sandbox/ # Visual prototyping workspace
├── scripts/ # Workspace utilities
├── LORE.md # The build story
├── replit.md # Maintainer notes and project conventions
└── pnpm-workspace.yaml # Workspace and dependency policy
The artifacts/ packages are the current deployable entry points. The companion source trees remain in the repository because they contain the product's original implementation context, deployment compatibility, and historical continuity.
| Area | Technology |
|---|---|
| Frontend | React, Vite, TypeScript, Tailwind CSS, shadcn/ui |
| Routing and data | wouter, TanStack Query, generated OpenAPI clients |
| Backend | Node.js, Express 5, TypeScript, esbuild |
| State | Redis with the vc: namespace |
| Realtime | WebSockets via ws |
| Video | Zoom Meeting SDK 6.0.0 |
| Payments | Stripe |
| Validation | Zod |
| Workspace | pnpm |
The Expo platform intentionally uses Redis as its operational store. Its vc: namespace keeps event data separated and makes the event venue portable across environments.
- Node.js 20 or newer
- pnpm
- Redis 7 or newer
- Credentials for the services you want to enable
pnpm installCopy the example environment file and fill in only the services you plan to use:
cp .env.example .envNever commit .env. The example file documents the shape of the configuration without containing credentials.
From the repository root:
bash start-vibeconf.shOr run the deployable pieces separately:
pnpm --filter @workspace/api-server run dev
pnpm --filter @workspace/vibeconf run devpnpm --filter @workspace/vibecode-101 run devThe exact preview ports are assigned by the local environment. When running outside Replit, use the ports printed by the dev servers.
# Check the whole workspace
pnpm run typecheck
# Build all packages that expose a build script
pnpm run build
# Check one deployable frontend
pnpm --filter @workspace/vibeconf run typecheck
pnpm --filter @workspace/vibecode-101 run typecheck
# Build the shared API
pnpm --filter @workspace/api-server run buildThe root .env.example is the starting point for the Expo platform. Common integrations include:
REDIS_URLfor event stateSESSION_SECRETfor signed sessions- Zoom Meeting SDK credentials for embedded rooms
- Stripe credentials for checkout and webhooks
- AiAssist credentials for the AI Concierge
- SMTP credentials for transactional email
IMGBB_API_KEYfor image uploads when enabled
Keep secrets in your environment manager. Do not paste them into issues, commits, README files, or chat.
The shared API is organized around the event venue:
/api/auth— registration, login, logout, and onboarding/api/venue— rooms, lobby, participants, chat, and bookmarks/api/profile— attendee profiles/api/zoom— meeting signatures/api/invites— networking invites/api/admin— operations and sponsor analytics/api/discover— search and recommendations/api/feed— community posts and uploads
For backend-backed changes, update the OpenAPI contract first and regenerate the clients before wiring new UI.
- A venue, not a webinar. Presence, movement, and serendipity are first-class.
- Ship the useful path. The first click should lead somewhere real.
- Make room for people. Conversation, discovery, and contribution matter as much as content.
- Keep the surface alive. Motion, live status, and responsive feedback should communicate that other builders are here.
- Protect the trust boundary. Auth, payments, uploads, and room access must be backed by real server behavior.
The VibeCODE Expo code is licensed under the Business Source License 1.1 by Interchained LLC / AiAssist.net, with the change terms documented in the product license files. See the applicable LICENSE file in the product directory before using the code commercially.
VibeCODE 101 and other companion directories may carry their own license terms. Treat each product license as authoritative for that directory.
This repository started as an event page and grew into an event venue. The short version is in LORE.md.
If you are here because you want to build with us: welcome. The floor is open.