A production-oriented prototype of an AI meeting assistant inspired by Fathom. It focuses on turning recorded meetings into searchable transcripts, summaries, decisions, highlights, and action items.
- Google Auth: Secure authentication and identity provisioning.
- Calendar: Read-only integration to pull upcoming events.
- Meeting Capture: Autonomous recording layer (simulated for assessment).
- Transcript: Speaker diarization and timestamped transcription.
- Gemini: Generative AI processing of the raw transcript via
@google/genai. - Structured Intelligence: Extraction of action items, executive summaries, and key decisions using JSON schemas.
- Searchable Workspace: A clean, light-themed responsive dashboard to review past meetings and search transcripts.
The meeting-capture layer is simulated for this submission, per the challenge allowance. The post-meeting intelligence workflow is implemented natively in the application.
After signing in, the workspace is automatically provisioned with representative meeting data. Clicking "Join" on an upcoming meeting on the dashboard triggers a real-time simulation that injects a mocked transcript and routes you to the meeting intelligence view.
The codebase follows a service-layer architecture with feature-oriented UI organization:
- Services (Model):
src/services/(Prisma DB operations and Gemini logic) - Controllers: Thin
/api/routes that delegate business logic to services. - Views: Server Components that fetch data and orchestrate pure Feature Slices (
src/features/).
Tech Stack:
- Framework: Next.js 16 (App Router, Server Components)
- Database: PostgreSQL / Prisma ORM
- Authentication: NextAuth.js (Google)
- Styling: Light Theme via Tailwind CSS
- State Management: Zustand
- AI Models: Google Gemini 2.5 Flash
-
Clone the repository
git clone https://github.com/Reh1t/fathom-ai-clone.git cd fathom-ai-clone -
Install dependencies
npm install
-
Environment Variables Create a
.envfile in the root directory:DATABASE_URL="postgresql://..." DIRECT_URL="postgresql://..." NEXTAUTH_URL="http://localhost:3000" NEXTAUTH_SECRET="..." GOOGLE_CLIENT_ID="..." GOOGLE_CLIENT_SECRET="..." GEMINI_API_KEY="..."
-
Database Setup
npx prisma db push npx prisma generate
-
Start the development server
npm run dev
- Agent capture verification is documented in
CAPTURE-TEST.md. - Original agent transcripts are preserved in
.agent-logs/.