betterbrain-all-in-summit
README.md
<div align="center">
<a href="https://all-in-summit-search.vercel.app/?utm_source=github&utm_medium=referral&utm_campaign=betterbrain_all_in_summit_2026&utm_content=readme_banner"><img src="docs/assets/banner.png" alt="BetterBrain × All-In Summit — Make more of the All-In Summit 2026" width="100%" /></a>
# BetterBrain × All-In Summit
**Find your people. Plan your time. Bring your AI.**
An All-In Summit companion with attendee search, a live agenda, and an authenticated MCP server for Claude, ChatGPT, and Codex.
[](https://nextjs.org)
[](docs/mcp-capabilities.md)
[](https://www.typescriptlang.org)
[](https://all-in-summit-search.vercel.app)
[**Try the app ↗**](https://all-in-summit-search.vercel.app/?utm_source=github&utm_medium=referral&utm_campaign=betterbrain_all_in_summit_2026&utm_content=readme_demo) · [**Connect your AI ↗**](https://all-in-summit-search.vercel.app/connect?utm_source=github&utm_medium=referral&utm_campaign=betterbrain_all_in_summit_2026&utm_content=readme_mcp) · [**Build your own ↗**](https://all-in-summit-search.vercel.app/diy?utm_source=github&utm_medium=referral&utm_campaign=betterbrain_all_in_summit_2026&utm_content=readme_diy)
</div>
---
## Your Summit, with a little more context
Find people by what they do and what they want to learn. Explore sessions, put together an itinerary, and request a connection when you find someone worth meeting—all through the web app or your preferred AI client.
| | What you can do |
| :--- | :--- |
| **Discover people** | Search names, companies, titles, interests, and bios with profile evidence and dataset freshness. |
| **Plan your day** | Search the live agenda, check your sessions and meetings, detect scheduling conflicts, and export a calendar. |
| **Make connections** | Prepare connection requests and other supported account actions, review the exact target, then confirm in your browser. |
| **Use your own AI** | Connect Claude, ChatGPT, or Codex through OAuth and a remote MCP server with 22 tools. |
| **Share the useful stuff** | Branded link previews, editable sharing messages, and tracked links for the app and guides. |
## Connect in a minute
Open the [MCP setup guide](https://all-in-summit-search.vercel.app/connect) for client-specific instructions. Use your own Accelevents account to authorize event access.
```text
https://all-in-summit-search.vercel.app/api/mcp
```
**Codex**
```sh
codex mcp add betterbrain-all-in-summit --url https://all-in-summit-search.vercel.app/api/mcp
codex mcp login betterbrain-all-in-summit --scopes event:access
```
**Claude Code**
```sh
claude mcp add --transport http --scope user betterbrain-all-in-summit https://all-in-summit-search.vercel.app/api/mcp
```
Then run `/mcp` in Claude Code and authenticate. For Claude and ChatGPT web, use the hosted guide to add the remote connector with OAuth.
Try: **“Find five attendees working on AI and healthcare. Explain each match and suggest a conversation starter.”**
Account-changing tools return a review link. Preparation is not submission; the user must confirm before the event API is called. [Full capability map →](docs/mcp-capabilities.md)
## Run locally
Requires **Node.js 22**, **pnpm 10**, and your own service credentials. Python 3 is only needed for the optional crawler.
```sh
git clone https://github.com/adityamookerjee/all-in-summit.git
cd all-in-summit
pnpm install --frozen-lockfile
cp .env.example .env.local
pnpm dev
```
Visit `http://localhost:3000`. The landing pages render without credentials. Protected event features still require a valid event account; local chat also needs a model provider.
| Variable | Purpose |
| :--- | :--- |
| `NEXT_PUBLIC_APP_VARIANT` | `partnership` (default) or `portfolio`. |
| `OPENAI_API_KEY` | Direct OpenAI access for chat. Without it, the app uses Vercel AI Gateway. The configured model must be available to your account. |
| `KV_REST_API_URL` | Your Upstash Redis REST URL for OAuth, reviewed actions, and directory refresh. |
| `KV_REST_API_TOKEN` | Your Upstash Redis REST token. Keep this server-side. |
| `CRON_SECRET` | A random secret authenticating the scheduled refresh endpoint. |
### Bring your own data
**The public repository contains an empty starter snapshot, not the attendee directory.** The hosted app keeps its current directory in private Redis storage. Unit tests use synthetic profiles.
Use your own authorized event access to obtain data. The built-in refresh runs every three hours on Vercel when configured and when an attendee has opted in to contribute their token. It publishes only a complete snapshot and stops on upstream rate limits.
For a local snapshot, put your own event token in `scripts/accelevents-data/token.txt` (Git-ignored, permissions `0600`), then run:
```sh
pnpm refresh-data
```
This uses the standard-library Python crawler and normalizes the result into `data/attendees.json`. **Keep any populated snapshot private; never commit it to this public repo.** The public snapshot check deliberately fails if the bundled file contains real records.
## Architecture
```mermaid
flowchart LR
A[Web app] --> S[Shared search and event tools]
B[Claude / ChatGPT / Codex] --> M[MCP + OAuth]
M --> S
S --> D[(Private directory snapshot)]
S --> E[Accelevents API]
M --> R[(Upstash Redis)]
C[Vercel Cron] --> D
S --> V[Browser review]
V --> E
```
- **Next.js App Router + React** for the interface and server routes.
- **Vercel AI SDK + AI Elements** for chat, streaming, and tool presentation.
- **MCP + OAuth authorization code / PKCE** for client connections.
- **Upstash Redis** for short-lived credentials, action state, rate limiting, and complete directory snapshots.
- **Shared Zod schemas and lexical search** for consistent results across chat, MCP, and the directory.
### Deploy your own instance
Import the repo into Vercel, configure the environment variables, and choose a plan that supports the three-hour schedule in `vercel.json`. Keep private environment values out of Git.
This source retains the hosted application's URL so its public links work out of the box. **Before enabling OAuth on another deployment**, set the issuer in `lib/oauth.ts` and public origin in `lib/sharing.ts` to your own HTTPS domain, and update hosted setup links in `components/mcp-setup.tsx` and `lib/diy.ts`. OAuth issuer and resource URLs must match your deployment. Use a separate Redis database for each independent instance.
## Checks
```sh
pnpm test
pnpm typecheck
pnpm build
python3 -B -m unittest discover -s scripts -p 'test_refresh_accelevents.py'
```
The tests cover search, pagination, API sanitization, authorization, reviewed actions, refresh behavior, calendar output, and sharing metadata. No real connection requests or messages are sent by the unit tests.
The optional `scripts/verify_oauth.ts` requires your own configured Redis and event token. It exercises real read endpoints and mocks the mutation transport; do not run it casually against someone else's environment.
## Built at BetterBrain
**A sharper mind today. Brain health for life.**
[BetterBrain](https://www.betterbrain.com/?utm_source=github&utm_medium=referral&utm_campaign=betterbrain_all_in_summit_2026&utm_content=readme_betterbrain) combines brain health assessments, personalized plans, and dedicated coaching to support cognitive performance and dementia risk reduction. Coaching is often $0 with employer-sponsored insurance; coverage depends on your plan.
Built by **Aditya Mookerjee, CTO at BetterBrain**, to help attendees get more out of All-In Summit.
[Explore BetterBrain ↗](https://www.betterbrain.com/?utm_source=github&utm_medium=referral&utm_campaign=betterbrain_all_in_summit_2026&utm_content=readme_footer) · [LinkedIn ↗](https://www.linkedin.com/in/aditya-mookerjee-8803b432/) · [Text Aditya ↗](sms:+16194026839)
---
<sub>These are observed application APIs, not a guaranteed stable public API. Event access is required. Passwords are not stored or sent to the model. Logos and other brand assets belong to their respective owners. No additional license grant is made for third-party assets.</sub>
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues