{"id":50855849,"url":"https://github.com/oscarrc/ai-notes-rag","last_synced_at":"2026-06-14T18:04:00.461Z","repository":{"id":276367642,"uuid":"929029753","full_name":"oscarrc/ai-notes-rag","owner":"oscarrc","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-31T21:37:12.000Z","size":493,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-31T21:38:51.802Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oscarrc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-07T17:18:20.000Z","updated_at":"2025-03-29T18:16:31.000Z","dependencies_parsed_at":"2025-03-31T21:47:12.899Z","dependency_job_id":null,"html_url":"https://github.com/oscarrc/ai-notes-rag","commit_stats":null,"previous_names":["oscarrc/ai-notes-rag"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/oscarrc/ai-notes-rag","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarrc%2Fai-notes-rag","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarrc%2Fai-notes-rag/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarrc%2Fai-notes-rag/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarrc%2Fai-notes-rag/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oscarrc","download_url":"https://codeload.github.com/oscarrc/ai-notes-rag/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarrc%2Fai-notes-rag/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34331836,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-14T02:00:07.365Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-14T18:03:56.080Z","updated_at":"2026-06-14T18:04:00.456Z","avatar_url":"https://github.com/oscarrc.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Notes: A RAG-Driven AI-Powered Personal Knowledge Base\n\n[![Tests](https://github.com/oscarrc/ai-notes-rag/actions/workflows/test.yml/badge.svg)](https://github.com/oscarrc/ai-notes-rag/actions/workflows/test.yml)\n[![Build](https://github.com/oscarrc/ai-notes-rag/actions/workflows/build.yml/badge.svg)](https://github.com/oscarrc/ai-notes-rag/actions/workflows/build.yml)\n\n## Overview\n\n**AI Notes** is a self-hostable, markdown-based note-taking web application designed to provide users with a privacy-focused, AI-powered knowledge management system. The application integrates **Retrieval-Augmented Generation (RAG)** and **semantic search** capabilities, allowing users to interact with their notes using an AI chatbot that generates responses based on stored content. The system is optimized for in-browser execution using **Small Language Models (SLMs)** and lightweight vector databases, ensuring efficient and secure knowledge retrieval without relying on cloud-based services.\n\n## Key Features\n\n- **Markdown-Based Note-Taking**: Create, edit, and organize notes using markdown syntax.\n- **Semantic Search**: Efficiently search through notes using vector-based semantic search.\n- **AI-Powered Querying**: Interact with your notes using an AI chatbot powered by Retrieval-Augmented Generation (RAG).\n- **In-Browser Execution**: AI models run directly in the browser using **ONNX Runtime**, ensuring privacy and reducing reliance on external servers.\n- **Self-Hostable**: Deploy the application on your own infrastructure using **Docker**.\n- **Lightweight Vector Database**: Utilizes **LanceDB** for efficient storage and retrieval of embeddings.\n- **Cross-Platform Accessibility**: Built as a **Progressive Web App (PWA)**, ensuring a responsive and lightweight user experience across devices.\n\n## Technologies Used\n\n- **Frontend**: Next.js\n- **Backend**: Next.js API routes\n- **AI Models**: Small Language Models (SLMs) optimized via distillation and quantization\n- **Vector Database**: LanceDB\n- **In-Browser Inference**: ONNX Runtime / Transformers.js\n- **Containerization**: Docker\n- **Version Control**: Git (GitHub)\n\n## Installation\n\n### Prerequisites\n\n- Node.js (v16 or higher)\n- Docker (optional, for self-hosting)\n- Git\n\n### Steps\n\n1. **Clone the Repository**:\n\n   ```bash\n   git clone https://github.com/your-username/ai-notes.git\n   cd ai-notes\n   ```\n\n2. **Install Dependencies**:\n\n   ```bash\n   npm install\n   ```\n\n3. **Run the Application Locally**:\n\n   ```bash\n   npm run dev\n   ```\n\n   The application will be available at `http://localhost:3000`.\n\n4. **Self-Hosting with Docker**:\n   - Build the Docker image:\n     ```bash\n     docker build -t ai-notes .\n     ```\n   - Run the Docker container:\n     ```bash\n     docker run -p 3000:3000 ai-notes\n     ```\n     The application will be available at `http://localhost:3000`.\n\n## Usage\n\n1. **Create Notes**: Use the markdown editor to create and edit notes.\n2. **Semantic Search**: Use the search bar to find relevant notes based on semantic similarity.\n3. **AI Chatbot**: Interact with the AI chatbot to query your notes. The chatbot will generate responses based on the content of your notes using RAG.\n\n## Project Structure\n\n```\nai-notes/\n├── public/              # Static assets\n├── app/                 # Source code\n│   ├── _components/     # Shared React components\n│   ├── _hooks/          # Custom React hooks\n│   ├── _providers/      # Context providers (e.g., AI, Toast, Query)\n│   ├── _store/          # Zustand stores for state management\n│   ├── _utils/          # Utility functions\n│   ├── _workers/        # Web workers for AI tasks\n│   ├── api/             # API routes for backend logic\n│   ├── chat/            # Chat-related components and pages\n│   ├── graph/           # Graph visualization components\n│   ├── vault/           # Note management components\n│   └── layout.tsx       # Application layout\n├── Dockerfile           # Docker configuration\n├── next.config.js       # Next.js configuration\n├── package.json         # Node.js dependencies and scripts\n└── README.md            # Project documentation\n```\n\n## Contributing\n\nContributions are welcome! If you'd like to contribute, please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch for your feature or bugfix.\n3. Commit your changes and push to your branch.\n4. Submit a pull request with a detailed description of your changes.\n\n## Contact\n\nFor any questions or feedback, please contact:\n\n- **Oscar Rey Castro**  \n  Email: or24aab@herts.ac.uk  \n  GitHub: [oscarrc](https://github.com/oscarr)\n\n---\n\n**AI Notes** is a project developed as part of the BSc Computer Science program at the University of Hertfordshire.  \nSupervisor: **Dr. Iain Werry**  \nAcademic Year: 2024/25\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foscarrc%2Fai-notes-rag","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foscarrc%2Fai-notes-rag","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foscarrc%2Fai-notes-rag/lists"}