Open-source codebase for outname, a Next.js application for running personal AI agents with persistent memory, scheduled work, sandboxed execution, tool attachments, and Slack routing.
- creates authenticated personal agents with configurable models and tools;
- stores chat, scheduling, and agent state in Neon Postgres;
- executes agent work as event-driven Vercel Workflow runs;
- keeps agent files in persistent Vercel Sandboxes;
- supports browser chat, Slack ingress, waitlist capture, and scheduled loops.
- Next.js 16 + React 19
- Better Auth for authentication and access control
- Neon Postgres + Drizzle ORM for persistent data
- Vercel Workflow + Vercel Sandbox for agent execution
- Upstash Redis for cache and coordination
- Slack Chat SDK for channel integrations
- Resend for waitlist emails
docs/ARCHITECTURE.md- current system architecture and runtime boundariesCONTRIBUTING.md- contributor workflow and quality checksSECURITY.md- vulnerability disclosure processCODE_OF_CONDUCT.md- community expectationsLICENSE- MIT license.env.example- local and deployment environment template
- Fork this repository and create a new Vercel project from the fork.
- Set the project runtime to Node.js 22 or newer.
- Add the environment variables from
.env.example. - Set
BETTER_AUTH_URLto the production application URL. - Use
pnpm build:vercelas the build command so database migrations run before the Next.js build. - Deploy the project.
vercel.jsonalready provisions the scheduler cron for/api/cron/liveness.
DATABASE_URL=
BETTER_AUTH_SECRET=
BETTER_AUTH_URL=
CONNECTION_ENCRYPTION_KEY=
AI_GATEWAY_API_KEY=
RESEND_API_KEY=
AUTH_FROM_EMAIL=
AUTH_REPLY_TO=- Slack:
SLACK_CLIENT_ID,SLACK_CLIENT_SECRET,SLACK_SIGNING_SECRET - Redis (Upstash via Vercel KV):
KV_REST_API_URL,KV_REST_API_TOKEN - Auth email:
RESEND_API_KEY,AUTH_FROM_EMAIL,AUTH_REPLY_TO - Waitlist email:
WAITLIST_FROM_EMAIL,WAITLIST_REPLY_TO,WAITLIST_ADMIN_EMAIL - Cron hardening:
CRON_SECRET
- Node.js 22 or newer
- pnpm
- Access to the shared database and application secrets
pnpm install
cp .env.example .env.localFill in .env.local, then start the app:
pnpm devOpen http://localhost:3000.
- This is a single Next.js application, not a monorepo.
- The only required local service is the Next.js dev server.
- The database is remote; no local Postgres setup is required.
- Sign-up stays disabled; accounts are provisioned from the waitlist and sign-in happens with one-time codes sent by email.
- Use
TEST_USER_EMAILfor a provisioned dev account when available, then request an OTP from the login page. - Local development is enough for day-to-day product work; use Vercel when you want to exercise cron-driven flows or hosted integrations end-to-end.
pnpm dev
pnpm build
pnpm build:vercel
pnpm start
pnpm check
pnpm fix
pnpm db:generate
pnpm db:migrate
pnpm db:push
pnpm db:studioPlease read CONTRIBUTING.md before opening a pull request. For substantive
changes, update user-facing documentation together with the code so the
open-source repository stays self-serve.