Skip to content

joshcoledesign/Commitra

Repository files navigation

Commitra AI

TL;DR: Commitra AI is a Next.js application that uses Genkit and Google's Gemini models to analyze meeting transcripts. It extracts structured data—commitments, requests, and decisions—to create auditable records and prevent scope creep. The application is built with a modern stack including Firebase for the backend and deploys seamlessly to Firebase App Hosting.


This is a Next.js front-end application for "Commitra AI", a tool to process meeting audio, generate transcripts, and extract key information like commitments, requests, and decisions.

App Overview

Commitra AI provides a robust interface to turn unstructured meeting conversations into structured, auditable data.

  • Dashboard: View, search, and sort all your meeting sessions.
  • New Session: Upload audio files or raw transcripts to initiate the AI pipeline.
  • Multi-Step Extraction: A real-time stepper shows the progress of a multi-step AI pipeline that transcribes audio, extracts ledger items (commitments, requests, decisions), analyzes sentiment, and generates a summary.
  • Results Page: A detailed report for each session, featuring an AI summary, sentiment analysis, a full data ledger, a list of next actions, and an interactive "Change Order Brief" to formalize scope changes.

Architecture & Technology Stack

This application is designed as a modern, server-centric web app, leveraging a powerful stack for both front-end and AI orchestration.

  • Framework: Next.js 14 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS
  • UI Components: shadcn/ui & Radix UI
  • Database: Firebase Firestore
  • Authentication: Firebase Authentication (Anonymous Sign-in)
  • AI Orchestration: Genkit
  • AI Models: Google AI (Gemini) for transcription, extraction, summarization, and sentiment analysis.
  • Deployment: Firebase App Hosting

Data & AI Flow

  1. Upload: Users can upload audio files (.mp3, .wav, etc.) or pre-written transcripts (.txt, .md).
  2. Transcription (if applicable): Audio files are sent to a Genkit flow that uses the Gemini model to generate a verbatim transcript with speaker timestamps.
  3. AI Extraction Pipeline: The core extraction process runs as a series of Genkit flows:
    • Ledger Extraction: Each transcript is analyzed by Gemini to extract structured data (commitments, requests, decisions, owners, due dates).
    • Sentiment Analysis: The transcript is analyzed for overall sentiment (Positive, Neutral, Negative) with a justification.
    • AI Summary: The combined transcripts are summarized by Gemini to provide a concise overview.
  4. Artifact Generation: The structured data is aggregated. A data-driven Change Order Brief is generated to formalize key outcomes.
  5. Persistence: The session data, including all transcripts and generated artifacts, is saved to a sessions collection in Firestore, scoped to the authenticated user.

Deployment with Firebase App Hosting

This project is configured for one-command deployment. Follow these steps to get your application live.

  1. Install Firebase CLI: If you haven't already, install the Firebase Command Line Interface.

    npm install -g firebase-tools
  2. Login to Firebase:

    firebase login
  3. Deploy the Application: Navigate to your project directory in the terminal and run the deployment command. You will be prompted to select the Firebase project you want to deploy to.

    firebase deploy --only apphosting

This command builds your Next.js application and deploys it. Once complete, you'll receive a public URL to share.

Project Migration & Development

For complete instructions on how to migrate this project to your local development environment, please see the MIGRATION_GUIDE.md file in the root of this project.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages