Here is a project story for your hackathon submission, drafted from the provided README.md content and formatted in Markdown.


## Inspiration

We were inspired by the fragmentation of the current AI landscape. Users constantly have to switch between different AI services—like ChatGPT for creativity, Grok for real-time insights, or specialized models for specific tasks. This "context switching" is inefficient. We wanted to build a single, unified, and intelligent platform that eliminates this problem and acts as a true virtual assistant, capable of leveraging the best model for any given query.

## What it does

AssistMe is a next-generation, scalable AI platform built on a "Three-Pillar Architecture":

  1. Elite AI Foundation: It integrates directly with premier models like ChatGPT and Grok for high-quality reasoning and real-time insights.
  2. Universal Model Orchestration: Using the OpenRouter API, it intelligently selects from over 100+ different AI models, automatically routing a user's query to the best and most cost-effective model for the job.
  3. Intelligent Knowledge Synthesis: It features a proprietary RAG (Retrieval-Augmented Generation) system, "Grokipedia," built on a PostgreSQL vector database. This allows it to learn from conversations and build a persistent, context-aware knowledge base for truly adaptive responses.

It provides a single, real-time streaming interface (using WebSockets and SSE) for all these capabilities and can even perform autonomous, multi-step tasks using an agentic engine.

## How we built it

We built a robust, high-performance backend using a modern Python stack, designed for asynchronous operations and scalability.

  • Backend: A lightning-fast FastAPI server handles all API requests, data validation (with Pydantic v2), and asynchronous tasks.
  • AI/Agent Layer: We used LangChain as the core framework to build our agentic capabilities, manage the RAG pipeline, and orchestrate calls to different models.
  • Data & Knowledge: PostgreSQL 15 with vector extensions serves as our primary database for sessions and user data, while ChromaDB is used for vector storage and similarity search in our RAG system.
  • Caching & Sessions: Redis 7+ is used for high-speed caching and managing user sessions.
  • Model Access: We integrated the OpenRouter SDK for universal model access and the MiniMax M2 model for specialized agentic reasoning.
  • Frontend: A clean, responsive Vanilla JavaScript/HTML/CSS frontend that communicates with the backend via WebSockets and Server-Sent Events (SSE) for a real-time, streaming chat experience.
  • Deployment: The entire application is containerized using Docker Compose for easy, one-command deployment and scalability.

Here is a simple overview of the architecture:

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Frontend UI   │    │   FastAPI API    │    │  External APIs  │
│  (Vanilla JS)   │◄──►│   Gateway        │◄──►│  (AI Services)  │
│                 │    │                 │    │                 │
│ • Streaming UI  │    │ • Agent Engine  │    │ • ChatGPT/Grok  │
│ • Real-time     │    │ • Auth Service  │    │ • OpenRouter    │
│ • Responsive    │    │ • RAG System    │    │ • GitHub API    │
└─────────────────┘    └─────────────────┘    └─────────────────┘
                              │
                              ▼
                ┌─────────────────┐    ┌─────────────────┐
                │   PostgreSQL    │    │     Redis       │
                │   Vector DB     │    │   Cache &       │
                │   Sessions      │    │   Sessions      │
                └─────────────────┘    └─────────────────┘

## Challenges we ran into

  • Model Orchestration: Intelligently and quickly routing a query to the "best" model among 100+ options (balancing cost, speed, and capability) was a significant engineering challenge.
  • Real-time Streaming: Managing multiple concurrent, long-running WebSocket and SSE connections from various external APIs and streaming them all back to a single user interface without latency was complex.
  • Dependency Management: The system relies on the availability of multiple external APIs (OpenAI, Grok, OpenRouter). Building resilient error handling and fallback logic was crucial to ensure a smooth user experience.
  • Agentic Reasoning: Configuring the LangChain agent to perform multi-step tasks reliably, without hallucinating or getting stuck in loops, required extensive prompt engineering and careful state management.

## Accomplishments that we're proud of

  • The Three-Pillar Architecture: We successfully integrated three distinct AI philosophies (premium models, universal orchestration, and internal RAG) into one cohesive, high-performance system.
  • Ultra-Low Latency Streaming: We achieved an initial response latency of <50ms for streaming, making the assistant feel incredibly responsive and "live."
  • True Scalability: The system is fully containerized and designed to be stateless, supporting over 10,000 concurrent users with horizontal scaling.
  • Context Compression Pipeline: We built a novel utility that compresses large text contexts into compact PNG images using Pillow. This allows us to bypass token limits by feeding these images to vision-enabled models (VLMs), a powerful technique for handling massive inputs.

## What we learned

We learned that the future of AI isn't just about building a single, bigger model. The real power lies in intelligent orchestration—using a network of specialized models and a robust RAG system to produce a result that is greater than the sum of its parts. We also gained a deep appreciation for the asynchronous capabilities of FastAPI and SQLAlchemy 2.0, which made building a high-throughput, real-time system entirely possible in Python.

## What's next for AssistMe-VirtualAssistant

Our roadmap is focused on expanding intelligence and enterprise-readiness.

  • Enhanced Intelligence (Q4 2025): We plan to integrate multi-modal input (text, voice, and images) and build more advanced reasoning chains for complex tool composition.
  • Enterprise Features (Q1 2026): We will add advanced analytics, custom model fine-tuning capabilities, and Enterprise SSO/directory integration.
  • Long-term Vision: Our ultimate goal is to evolve AssistMe into a platform for distributed AI agent networks, capable of autonomous task execution and cross-platform AI orchestration.

Built With

Share this project:

Updates

Submission history