Know what to read, who to talk to, and what to avoid — on day one.
Opticat builds a living onboarding brief from your repo's Git history. Engineers sign in with GitHub, pick a repo, and get three things:
- A three-act onboarding brief — the story of your codebase through its commits and PRs
- A guided interactive code tour — walks through recent history with AI explanations, diffs, and inline chat
- A narrated slideshow — animated presenter gives a 5-minute codebase overview with voice narration
Every insight is anchored to real Git evidence: commits, PRs, blame, and CI status.
- Node.js 18+
- A GitHub OAuth app (for authentication)
- A Supabase project
- A Google Gemini API key
- Clone the repo and install dependencies:
git clone https://github.com/Jeremyliu-621/onboarding.git
cd onboarding
npm install- Create
.env.localwith the following variables:
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=<generate-a-secret>
GITHUB_CLIENT_ID=<your-github-oauth-client-id>
GITHUB_CLIENT_SECRET=<your-github-oauth-client-secret>
GEMINI_API_KEY=<your-gemini-api-key>
NEXT_PUBLIC_SUPABASE_URL=<your-supabase-url>
NEXT_PUBLIC_SUPABASE_ANON_KEY=<your-supabase-anon-key>
SUPABASE_SERVICE_ROLE_KEY=<your-supabase-service-role-key>
- Run the development server:
npm run devOpen http://localhost:3000 to see the app.
- Next.js 15 (App Router) + TypeScript strict mode
- Tailwind CSS for styling
- NextAuth.js with GitHub OAuth
- Octokit for GitHub REST API (PRs, commits, blame, CI, diffs)
- Supabase for data persistence
- Google Gemini (
gemini-2.5-flash) for AI generation - shiki for syntax highlighting
- Web Speech API for slideshow narration
npm run dev # Start dev server
npm run build # Production build
npm run typecheck # TypeScript check
npm run lint # ESLint- User signs in via GitHub OAuth and picks a repo
- Octokit fetches open PRs, merged PRs, commits, reviews, blame, CI runs, and file tree
- Gemini generates a three-act brief + ordered tour steps anchored to Git history
- Brief and tour are saved to Supabase with a shareable link
- Tour view fetches file contents, diffs, and blame on demand per step
- Slideshow generation creates 8–14 slides with speaker notes from the brief
- Shared links open Brief, Tour, or Slideshow without authentication