MyContextAI
Personal RAG Platform for Building AI Assistants from Online Presence
An AI-powered Retrieval-Augmented Generation platform that automatically indexes GitHub repositories, portfolios, resumes, blogs, and custom websites to build personalized AI assistants.
Overview
MyContextAI is a Dockerized Personal RAG platform that builds a knowledge base from a person's public online presence. It automatically ingests repositories, portfolio pages, resumes, blogs, and custom URLs; processes the collected documents; and stores their embeddings in persistent ChromaDB vector storage.
Through semantic search, a retriever selects relevant context for OpenRouter LLM responses. The result is a personalized AI assistant available through an interactive web UI or FastAPI REST API, with Docker deployment for repeatable production environments.
Technology Stack
Features
Extracts repository names, descriptions, and README files.
Crawls home, internal, project, and about pages from a portfolio website.
Processes public, GitHub-hosted, and direct resume PDF links.
Ingests articles from Medium, Hashnode, Dev.to, WordPress, and personal blogs.
Collects content from Devpost, project showcases, research pages, and hackathon submissions.
Prepares collected information as retrieval-ready document chunks.
Converts chunks into vector representations for semantic retrieval.
Selects relevant personal context for questions asked of the assistant.
Retains the vector database, embeddings, and metadata between restarts.
Provides an API endpoint for asking questions against the indexed knowledge base.
Packages the application and persistent data mounts for repeatable deployment.
Lets users interact with the generated assistant in the browser.
Architecture
The architecture transforms configured public information into an answerable personal knowledge base. Every card uses the portfolio's existing interactive card transitions and remains readable across screen sizes.
Data Sources
Repository names, repository descriptions, and README files.
Home, internal, project, and about page content.
Text from public, GitHub-hosted, or direct PDF resume links.
Published articles from supported blogging platforms and personal sites.
Project, research, product, Devpost, and hackathon page information.
Workflow
The first startup builds the vector database; later starts load ChromaDB and skip re-indexing before serving the API.
Folder Structure
MyContextAI ├── app │ ├── api │ ├── collectors │ ├── config │ ├── ingestion │ ├── llm │ ├── rag │ ├── vectordb │ ├── static │ ├── templates │ ├── startup.py │ └── main.py ├── data │ ├── cache │ └── chroma ├── requirements.txt ├── Dockerfile └── README.md
Example Questions
“Tell me about Musheer's education.”
“What projects has Musheer built?”
“Explain VectorForgeML.”
“Summarize Musheer's experience.”
“What technologies does Musheer use?”
“What is KnowledgeVault AI?”
Docker Deployment
Docker mounts the configuration file and data directory so the assistant can retain its indexed knowledge between container runs.
docker build -t mycontextai .
docker run `
-p 8000:8000 `
-v "${PWD}\app\info.json:/app/info.json" `
-v "${PWD}\data:/app/data" `
-e OPENROUTER_API_KEY="YOUR_API_KEY" `
mycontextaiPersistent storage: data/chroma holds the ChromaDB database, vector embeddings, and metadata, while data/cache stores temporary cache files and downloaded assets.
REST API
Ask a question of the assistant using the indexed personal knowledge base.
{
"question": "Tell me about Musheer's projects"
}{
"answer": "..."
}Performance
Collects context across configured public information sources.
Reuses existing ChromaDB on subsequent startups.
Uses embeddings to surface question-relevant information.
Offers a web UI, FastAPI API, and containerized deployment.
Packages the application with portable runtime configuration.
Exposes question answering through a focused HTTP interface.
Future Roadmap
- Authentication and multi-user support
- Streaming responses and conversation memory
- Hybrid search, reranking, and source citations
- Incremental indexing and background jobs
- Kubernetes deployment
Technologies
Project Highlights
Unifies public repositories, sites, PDFs, blogs, and custom pages.
Stores ChromaDB data and metadata across application starts.
Retrieves the context needed to answer personal knowledge questions.
Delivers answers through a concise FastAPI endpoint.
Supports repeatable local and production deployment.
Separates collection, ingestion, retrieval, vector storage, and LLM layers.