Introduction | Installation | Future Plans | Contributions
Noteify is an intelligent note-taking platform that uses a browser extension and combines note taking with AI, enabling users to capture, enrich, and organize information from any webpage directly into Notion. Designed for learners, researchers, and knowledge workers, Noteify streamlines knowledge workflows with AI-powered features.
Noteify is a next-generation note-taking and knowledge management tool that bridges the gap between web content and your personal knowledge base in Notion (kinda your second brain). It empowers users to:
- Seamlessly capture highlights, text, code, and images from any webpage or PDF with a single click.
- Leverage AI enrichment to auto-categorize, summarize, and enhance notes using advanced LLMs and semantic search.
- Personalize learning by adapting to user feedback, learning from corrections, and suggesting new categories tailored to your interests.
- Integrate deeply with Notion, ensuring your notes are well-formatted, organized, and instantly accessible.
- Store and search embeddings for deduplication and smarter retrieval, powered by Cohere and Qdrant.
- Prioritize privacy and security by keeping sensitive data on your own infrastructure and using encrypted sessions.
Noteify is ideal for students, researchers, and professionals who want to supercharge their knowledge workflows, reduce manual organization, and unlock the power of AI for personal knowledge management.
- One-click note capture from any webpage or online PDFs
- Supports rich text, code blocks, and image capture
- Seamless OAuth2 integration with Notion
- Floating UI overlay with categorization suggestions
- PDF.js-based custom viewer for highlighting PDF content
- LLM-based auto-categorization of notes using RAG (Retrieval augmented generation)
- Embedding generation via Cohere and semantic search using Qdrant
- Content enrichment using prompt-based LLM responses
- Suggests new categories if none match confidently
- Notes are auto-uploaded to Notion with proper formatting.
- Image storage in Appwrite S3 and custom image viewer for CDN-safe viewer links.
- Markdown/HTML rendering for better Notion block formatting
- Learns from user-corrected categories
- Stores examples to improve classification accuracy per user
- Custom category creation with similarity normalization
- Dynamic few-shot context building from personal note history
Component | Description |
---|---|
Extension (Frontend) | Injects UI, handles highlight/capture actions, and communicates with the backend |
FastAPI Backend (MCP Server) | Manages auth, Notion communication, AI enrichment, user preferences |
PostgreSQL | Stores user data, note metadata, preferences, and interactions |
Qdrant Cloud | Stores embeddings for semantic deduplication & personalized few-shot learning |
Appwrite S3 | Object store for image uploads |
Notion API | Target platform for note storage |
Cohere and Groq | Used to generate embeddings and categorize notes |
Nginx | Set up a Reverse proxy server for load balancing and rate limiting |
Layer | Tech |
---|---|
Frontend | JavaScript, HTML/CSS, PDF.js |
Extension | Chrome MV3, Content Scripts, DOM Injection |
Backend | FastAPI, SQLAlchemy, Pydantic |
Database | PostgreSQL, Alembic |
Vector DB | Qdrant Cloud (Cohere embeddings) |
Storage | Appwrite S3 |
Auth | JWT (Cookie-based) + OAuth2 (Notion) |
LLM inference Model | Groq API / Cohere LLMs |
- Hosted on Ola Cloud Platform VM (Krutrim)
- Reverse proxy using Nginx on port
443
and80
- Clone the repository:
git clone https://github.com/Swam244/noteify.git cd noteify/extension
- Load into your browser:
- Go to
chrome://extensions/
(or your browser's extension page). - Enable "Developer mode".
- Click "Load unpacked" and select the
dist
orbuild
folder.
- Go to
The following instructions use uv
, a fast Python package installer and resolver. If you don't have it, you can install it following the official guide or use standard venv
and pip
.
- Navigate to the backend directory:
cd ../backend
- Create virtual environment:
uv .venv
creates the virtual environment.
uv venv source .venv/bin/activate
- Install dependencies:
Use
uv sync
to install dependencies frompyproject.toml
orrequirements.txt
. It's faster and ensures the environment matches the project's requirements.uv sync
- Set up environment variables:
- Create
.env
in the current directory and fill in your credentials (Notion, Qdrant, Appwrite, etc.)
- Create
- Run database migrations:
alembic upgrade head
- Start the server from the backend directory:
uvicorn app.main:app --reload
- Ensure PostgreSQL and Qdrant are running and accessible as per your
.env
configuration.
- Register your Notion integration and Appwrite project, and update the credentials in
.env
.
- User Dashboard : Tagging, editing, and export features for better note management.
- Note-based Quizzes : Generate quizzes from your captured notes to aid learning and retention.
- Advanced Tagging : User specific tagging and filters for improved organization .
- Extension UI : Need to improve and make it more responsive.
- Support for Audio notes : Add features for audio transcription and raw audio storage on notion.
- Offline notes : Add support for offline queuing and send on internet connection.
- OCR : OCR on images for extracting info for enhancement and summarization.
- Support Questions on knowledge base : Integrate a chatbot for answering questions on existing knowledge base.
This is currently a solo project but contributions, feedback, and ideas are welcome. Open an issue or email me directly at my mail if you're interested in collaborating.