Skip to content

Repository files navigation

Omni Assistant — Flagship AI Assistant Platform

Omni Assistant began as several separate AI coursework assignments (chat, voice, summarization, and data interaction). Instead of shipping isolated demos, it was redesigned into one cohesive, portfolio-grade assistant platform with a single backend, a single UI, and layered capabilities added deliberately.

This project prioritizes explicit user control, clear boundaries, and defensible engineering decisions over “magic” automation.


Architecture (Intentional Constraints)

  • One Flask backend
  • One UI
  • A single /chatbot route
  • Layered capabilities, added in a fixed order
  • Explicit activation (modes/commands), not background automation

Non-goals:

  • No agents
  • No web browsing
  • No background tasks
  • No hidden persistence (except Career Coach memory, explicitly disk-backed)
  • No job placement claims or automation

Capabilities by Layer

Layer 1 — Core Chatbot (v0.2) ✅

Baseline chat experience.

  • Flask backend with a single /chatbot POST route
  • Groq-hosted LLaMA model
  • In-memory conversation history (session-only)
  • Clean web UI

Layer 2 — Voice Assistant (v0.3) ✅

Frontend-only voice features using browser-native APIs.

Speech-to-Text (STT)

  • Web Speech API
  • Push-to-talk microphone
  • Voice fills the input; user manually submits
  • Safari timing guard fixed

Text-to-Speech (TTS)

  • Browser SpeechSynthesis API
  • Off by default
  • Toggleable per session
  • Cancels speech immediately on typing or mic input

Layer 3 — AI Meeting Companion (v0.4) ✅

A deterministic meeting summarizer triggered only by an explicit header.

Trigger:

  • Input must start with: MEETING TRANSCRIPT:

Outputs:

  • Meeting Summary
  • Action Items (explicit tasks only; no inferred work)
  • Key Decisions (only if explicitly present)
  • Open Questions / Risks (only if explicitly present)

Guardrails:

  • Temperature 0 for deterministic behavior
  • No invented owners, due dates, or decisions
  • No persistence or automation

Layer 4 — Chatbot for Your Data (RAG) (v0.5) ✅

Grounded, session-scoped Q&A from user-supplied data.

How it works:

  • Layer 4 activates only when context_items are explicitly provided
  • Without context, the system behaves like Layer 1
  • With context, answers are generated only from retrieved snippets

Retrieval approach:

  • Deterministic keyword-overlap scoring (no embeddings)
  • Paragraph-based chunking
  • Returns up to 3 top snippets

Grounding rules:

  • Answers only from retrieved snippets
  • Includes sources
  • If insufficient data: returns “Not enough information” and asks for the missing data

Non-goals:

  • No persistence
  • No vector database
  • No web browsing
  • No automation

Layer 5 — AI Career Coach (Capstone) (v0.6) ✅

A command-based job prep assistant with explicit, user-controlled memory.

Design intent
This layer is built for real job preparation and honest assistance. It avoids automation claims and documents the limits of narrative generation.

Persistence

  • Career Coach memory is disk-backed (explicitly stored on the local machine)

Commands

  • CAREER: SAVE RESUME | <text>
  • CAREER: SAVE JD | <text>
  • CAREER: SHOW MEMORY
  • CAREER: CLEAR MEMORY
  • CAREER: REVIEW RESUME
  • CAREER: REWRITE BULLETS | <target role>
  • CAREER: GENERATE COVER LETTER

Behavior guarantees (important)

  • Resume storage/review are grounded and transparent
  • Bullet rewriting is designed to be strictly grounded in provided resume content
  • Cover letter generation is assistive drafting:
    • Narrative writing can encourage embellishment in any LLM
    • Over-filtering attempts can become brittle
    • This project chooses an honest boundary: cover letters may require user review and editing
    • If the system cannot produce a result without unsupported details/placeholders, it will refuse and explain what information is missing

This tradeoff is deliberate and documented.


Run Locally

cd ~/Desktop/omni-assistant
source venv/bin/activate
pip install -r requirements.txt
python app.py

Open:


Tech Stack

  • Python + Flask
  • Groq API (LLM inference)
  • Browser Web Speech API (STT)
  • Browser SpeechSynthesis API (TTS)
  • Deterministic retrieval (keyword overlap) for RAG mode
  • Local disk-backed memory for Career Coach (explicit)

License

MIT License

About

Flagship AI assistant platform with layered capabilities (chat, voice, meetings, RAG, career coach)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages