Skip to content

codeprakhar25/omi-meeting-intelligence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OMI Meeting Intelligence Suite

Three AI agents in one OMI app: Active Listening Coach, Commitment Tracker, and Fact Checker, to make you better in meetings and conversations.

What It Does

Agent Trigger Action
Active Listening Coach Real-time transcript Sends proactive nudges when you talk too much or don't ask questions
Commitment Tracker Memory created (meeting ended) Sends a summary of commitments you made
Fact Checker Real-time transcript + memory Sends a direct notification when someone makes a verifiable claim (also runs on full transcript when memory is created)

Notes: OMI normalizes transcripts (e.g. filler words like "um", "ah" may be omitted). Fact-check runs both in real time and when a memory is created, so you can get a fact-check notification after the meeting if a claim was made.

Prerequisites

Quick Start

1. Install dependencies

cd D:\omi\omi-hackathon
pip install -r requirements.txt

2. Environment variables

Create a .env file in the project root:

GEMINI_API_KEY=your_gemini_api_key_here
OMI_APP_ID=your_omi_app_id
OMI_APP_SECRET=your_omi_app_secret

Optional:

PERPLEXITY_API_KEY=your_perplexity_api_key

3. Run the server

uvicorn server:app --reload --port 8000

4. Expose with ngrok (for OMI to reach your machine)

ngrok http 8000

Copy the https://xxxxx.ngrok.io URL.


Setting Up in the OMI App

Step 1: Enable Developer Mode

  1. Open the OMI app on your phone.
  2. Go to Settings (gear icon).
  3. Scroll down and turn on Developer Mode.
  4. Tap Developer Settings.

Step 2: Create your app

  1. Go to the Explore tab (or find Create an App in Developer Settings).
  2. Tap Create an App.
  3. Fill in:
    • Name: Meeting Intelligence Suite
    • Description: Real-time coaching, commitment tracking, and fact-checking for better meetings.
    • Category: Productivity (or similar).

Step 3: Configure capabilities

External integration (real-time transcript)

  • Enable External Integration.
  • Set trigger to transcript_processed (real-time transcript).
  • Webhook URL: https://your-ngrok-url.ngrok.io/webhook/realtime

Proactive notification

  • Enable Proactive Notification.
  • Request scopes: user_name, user_facts, user_context.

Memory creation (commitment tracker)

  • In Developer Settings, find Memory Creation Webhook.
  • Set URL: https://your-ngrok-url.ngrok.io/webhook/memory

Step 4: Install and grant permissions

  • Install your app on your account.
  • Grant the requested permissions when prompted.

Demo transcript

A full meeting simulation script that triggers all three agents (false claim, commitments, listening) is in docs/DEMO_TRANSCRIPT.md. It includes an optional Listening Coach–focused block so you can reliably test that agent. Use it to test end-to-end.

Viewing notifications in the OMI app

We send notification content only: for direct notifications we send message, and for proactive ones we return a prompt template so Omi can generate the text. The OMI notification API does not expose a parameter for a custom URL, deep link, or “open in app to full view.”

So:

  • What we control: The text (direct) or the prompt (proactive).
  • What the OMI app controls: Whether tapping a notification opens the app, shows a full view, or only a preview. That’s client behavior.

To see notifications in full when you tap them:

  1. Check Omi app → Settings (or notification settings) for options like “Open in app” or “Expand in app.”
  2. Check the Omi developer docs for any “notification tap action” or “deep link” support in newer API versions.
  3. If you need a dedicated “open in app to full notification” flow, ask Omi support or their developer channel; they may offer it on the client or via a future API.

Testing Each Agent

Listening Coach

  • Have a conversation where you talk a lot and avoid asking questions.
  • You should get a proactive nudge like: “Consider asking what they think about…”

Fact Checker

  • Say something like: “Studies show that 90% of startups fail in the first year.”
  • You should get a direct notification with a short fact-check.

Commitment Tracker

  • Say things like: “I’ll send you the report by Friday” or “Let me get back to you by tomorrow.”
  • End the conversation (so a memory is created).
  • You should get a notification listing your commitments.

Project layout

omi-hackathon/
├── server.py           # FastAPI app and webhook routes
├── config.py            # Settings and env vars
├── models.py            # Pydantic models
├── agents/
│   ├── listening_coach.py
│   ├── commitment.py
│   └── fact_checker.py
├── llm/
│   ├── gemini.py        # Gemini API
│   └── perplexity.py    # Optional Perplexity API
├── requirements.txt
├── app.py               # CLI for direct notifications
└── README.md

API endpoints

Method Path Purpose
POST /webhook/realtime OMI real-time transcript → Listening Coach + Fact Checker
POST /webhook/memory OMI memory created → Commitment Tracker
GET /health Health check

Rate limiting

OMI allows one proactive notification per user per app every 30 seconds. The server enforces this and prioritizes: Fact Check → Listening Coach.

License

Use and modify as needed for the hackathon.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages