AI-POWERED KNOWLEDGE MANAGEMENT SAAS
Personal Projects | Product Design & Dev | RAG Knowledge Mgmt | AI-Assisted Coding
Overview
As I was learning about AI, its underpinnings and applications, I challenged myself to put that knowledge into practice by building real AI-powered Knowledge Management SaaS products (or an MVP) to solve complex problems I am passionate about.
1. Links - Collect data that matters to you
Problem Space: As we are moving into an increasingly disconnected digital world, the valuable information we discover and want to save for future use is often found across multiple sources (blogs, forums, social media, Instagram, YouTube, etc.) and file types (documents, images, notes, etc.). This forces us to manage a bunch of bookmarks and save-for-later strategies, scattered across different devices. Which, over time, become difficult and frustrating to recall or retrieve.
Solution: An AI-powered SaaS for knowledge collection and retrieval that allows easy collection of digital data (bookmarks of any websites/app content, documents, images, Collections*, and notes) and enables users to intuitively find information they are looking for using natural language queries, tags, filters, and more from any logged-in device.
Live Demo of the MVP
Shows a first-time user bookmarking a weblink, and saving a couple other documents along with it.
Mockups I designed using Figma and Stitch
Home Page / Dashboard
Adding a single item to the Library
First-time Launch Screen
Creating a 'Collection' with multiple items
Flutter (IOS, Android, Web)
SLM - Phi4mini via Ollama
SLM Orchestration: Langchain
Python libraries: pypdf, yt-dlp, metadata_parser, mxbai_embeddings
Database: SQLite, PostgreSQL with vector-pg extension
Design: Figma, Stitch
IDE: Cursor
Current Status: Working MVP (IOS simulator and local Mac environment only)
Functional V4 that allows the user to add multiple data items (documents, images, web links, photos) at once and save to the PostgreSQL database.
The app fetches and displays metadata like Title, description, thumbnail, etc. for both web URLs (YouTube videos) and for most of the popular websites/social media/blogs, etc.)
For the documents and web URLs saved, the app creates SLM-powered summarization and keywords for a natural language search and retrieval by ingesting the metadata
Displays the saved data chronologically
Next Steps:
Develop keyword search, file name search, and data-type filters
Develop Semantic search functionality to process users’ natural language queries and retrieve relevant data built on the ingested metadata
Cloud-host the application (Postgresql → Supabase, Local Ollama: SLM → Hosted SLM (ex, DeepInfra) or Gemini/ChatGPT API calls, Local Embeddings model (Ollama) → server-side lightweight option)
User authentication and scaling
2. RAG-based Knowledge Assistant - MVP
Problem - Private organizations and even individuals have personal collections of disparate data, often in the form of documents they collect over time. But the data would not be insightful unless a human analyzed one or multiple related documents to make sense of them. People have traditionally spent several hours and dollars to make proprietary digital data knowledgeable.
But the limitation was the lack of affordable and reliable technology to even try to solve this problem, until generative AI and reasoning models came along and offered tools and means.
Solution - A knowledge Assistant that uses local SLMs to privately talk to your raw data documents (.docx, .pdf) and spreadsheets (.xlsx, .numbers) using natural language queries and returns context-aware responses true to the data source.
Why SLMs (Small Language Models)? - Unlike the frontier models like ChatGPT and Gemini Pro that can be used in such workflows via API calls at a cost, SLMs provide cost-free and almost equally intelligent responses. Running them locally also means that the proprietary data does not leave theuser/organisation’s network, thus ensuring privacy and compliance.
Current UI: CLI terminal command
Next Steps: - Create a ChatGPT-like UI using Streamlit
Auto determination of which code to use for documents vs spreadsheets
A context management feature that allows users to specify which documents to take into context
Library management that allows viewing, adding, removing, and updating documents under the app's purview
Automatic ingestion and chunking of any changes to the Library
- SLM used - Ollama: Phi4mini 4B
- Ollama embeddings
- LangChain family
- ChromaDB (to store vector embeddings)
- SLM used - Ollama: Phi4mini 4B
- Pandas dataframe (to stage spreadsheets for SQL-like querying. )
- LangChain Ollama
Advanced querying: Prompt injection techniques used to make the code mindful of missing or misleading column names. In this example, the phone number is stored in a column called ‘Bin’. But the code knows to be mindful of that and sample a few rows to identify the target data it is looking for (phone numbers, address, etc.)