Skip to content
Manoj Gavi
Live demoPortfolio project

PersonalOps AI

AI-powered personal information and productivity assistant

A personal AI assistant that reads your documents, pulls out the useful details, answers questions with evidence, and helps keep track of bills, subscriptions, warranties, and deadlines — but never changes anything without your approval.

Demo data only. The demo contains synthetic/example personal data. Do not upload sensitive personal information to the public demo.

Important personal information is scattered across receipts, bills, warranty cards, subscription emails, and insurance papers. Finding a renewal date or a warranty end date usually means opening file after file.

PersonalOps AI reads those documents, works out what kind of document each one is, and extracts the useful details into organised records: purchases, bills, subscriptions, warranties, and deadlines. You can then ask a plain question — “Which warranties expire this year?” — and get an answer that shows exactly which document it came from.

When the assistant spots something you should act on, like an upcoming renewal, it suggests a task or reminder. Nothing is created until you approve it.

At a glance

  1. Documents
  2. Extraction
  3. Database
  4. RAG
  5. AI Agent
  6. Suggested action
  7. Your approval
  • Document intelligence

    Reads PDFs, Word files, CSV, JSON and text; classifies and extracts key fields.

  • Organised records

    Purchases, bills, subscriptions, warranties, deadlines, tasks and reminders.

  • Evidence-based answers

    Every answer cites its sources and carries a confidence level.

  • Human approval

    Any change the AI proposes waits for an explicit approve click.

Live demo

Try it yourself

The application runs separately and opens in a new tab. Use the public demo account to sign in.

Once you're in, try this

  • Open the Assistant and ask: “Which warranties expire in the next six months?”
  • Ask: “What subscriptions renew this month?” — then approve or reject the suggested reminder.
  • Open Documents to see how each file was classified and what was extracted.
  • Open Agent Runs to see each step the assistant took.

Public demo account

Demo account — limited access.

Live demo
Username
demo@personalops.dev
Password
Demo-SoBas8Hd84

The free server sleeps when idle, so the first sign-in can take up to a minute. The demo resets to its sample data whenever the server restarts.

  1. 1. Copy the credentials
  2. 2. Open the live demo (new tab)
  3. 3. Sign in and explore

Demo data only. The demo contains synthetic/example personal data. Do not upload sensitive personal information to the public demo.

Use cases

What it's useful for

In plain language — no technical background needed.

  • Use case 01

    Ask questions about documents

    Upload a receipt, bill, or warranty and simply ask about it — “How much did I pay?” or “What does this warranty cover?”

  • Use case 02

    Find important dates

    The system spots renewal dates, warranty end dates, bill due dates, and return deadlines so they don't slip by.

  • Use case 03

    One search for everything

    Instead of opening several documents, ask one question and let the assistant search all your records and files at once.

  • Use case 04

    Turn deadlines into tasks

    When the assistant finds an important deadline, it can suggest a task or reminder for it.

  • Use case 05

    Answers you can check

    The assistant shows the document or record it used instead of just generating an answer — and says when it doesn't know.

  • Use case 06

    You stay in control

    The AI can suggest an action, but you approve it before anything is created or changed.

How it works

Step by step

Each step in one or two sentences. The grey lines underneath are for engineers who want the technical detail.

What goes in

  • Personal documents: receipts, bills, warranties, subscription confirmations, insurance and travel documents (PDF, Word, text, CSV, JSON)
  • A question in plain English, such as “When does my laptop warranty end?”

What happens

  • Each document is read, sorted into a category, and key details are pulled out
  • Those details become organised records — purchases, bills, subscriptions, warranties, deadlines
  • The assistant searches the records and documents and collects evidence
  • If action is needed, it drafts a task or reminder and waits for your approval

What comes out

  • An answer with the source documents and a confidence level
  • Upcoming bills, renewals, and expiring warranties in one place
  • Tasks and reminders — only the ones you approved
  1. 01

    Upload document

    You add a receipt, bill, warranty, or similar file. The file is checked for type and size before it's accepted.

    Technical implementation: Upload validation (type, 15 MB limit), local or S3 storage.

  2. 02

    Read document

    The system reads the text out of the file.

    Technical implementation: pypdf for PDF, python-docx for Word; CSV/JSON/TXT natively. Scanned images are flagged — OCR is not enabled.

  3. 03

    Extract information

    It works out what kind of document it is and pulls out details like merchant, amount, due date, or warranty end date.

    Technical implementation: Deterministic weighted-keyword classification (user can override) + label/regex field extraction.

  4. 04

    Store information

    Those details are saved as organised records, each linked back to the original document.

    Technical implementation: PostgreSQL tables for Purchase, Bill, Subscription, Warranty, Deadline — linked to their source Document.

  5. 05

    RAG search

    The document text is split into small passages and indexed so the assistant can find the right passage later.

    Technical implementation: Line-aware chunking (800 chars / 120 overlap), embeddings in pgvector, hybrid lexical + vector scoring.

  6. 06

    AI agent

    When you ask a question, the agent works out what you're asking about and which lookups it needs, then runs them.

    Technical implementation: LangGraph: intent detection → context detection → tool selection → run tools → RAG retrieval → evidence validation → answer → action detection.

  7. 07

    Evidence

    Every answer comes with the documents and records it relied on, plus a confidence level. If there's no evidence, the assistant says so instead of guessing.

    Technical implementation: Evidence items typed as extracted / database / user-provided / inference, scored high-medium-low; refusal when no evidence.

  8. 08

    Suggested action

    If it notices something important — say, a subscription renewing next week — it drafts a task or reminder.

    Technical implementation: Mutating tools (create_task, update_task, create_reminder) only create pending ActionProposal rows.

  9. 09

    Your approval

    You review the suggestion and approve or reject it. Nothing changes until you click approve.

    Technical implementation: Run ends in awaiting_approval; the action executes only through the explicit approve endpoint.

  10. 10

    Task / reminder

    Approved suggestions become tasks or reminders, and upcoming ones appear on your dashboard.

    Technical implementation: Background worker marks reminders as due on a polling interval.

Key ideas

The important parts, explained

The AI agent

The assistant works through a fixed set of steps: understand the question, decide which records or documents to check, look them up, check the evidence, then answer. You can see every step afterwards.

Technical implementation: LangGraph StateGraph; rule-based, inspectable tool selection; per-node timings recorded.

Document intelligence

Each uploaded file is read, sorted into a category (receipt, bill, warranty, subscription, insurance, travel…), and useful details like amounts and dates are pulled out. You can correct the category if it's wrong.

Technical implementation: pypdf / python-docx text extraction, weighted keyword classification, label/regex field extraction. No OCR — scanned images are flagged.

RAG — look it up, then answer

Before answering, the assistant searches your documents for the most relevant passages and answers from those. If nothing relevant is found, it tells you rather than guessing.

Technical implementation: Hybrid retrieval: 0.7 lexical coverage + 0.3 cosine similarity over pgvector, with evidence gating.

Human approval

The AI can suggest creating a task or reminder, but it can't create one on its own. Suggestions wait in a queue until you approve or reject them.

Technical implementation: Mutating tools write ActionProposal rows only; execution via explicit approve endpoint.

What do these words mean?A short glossary of the terms used on this page.
LangGraph
Runs the AI agent as a clear, step-by-step workflow.
RAG
The AI searches your documents first, then answers using what it found.
Document extraction
Reading text and key details out of PDFs, Word files, and more.
Tool calling
The agent uses small, well-defined functions to look things up.
PostgreSQL
The database where your organised records are stored.
Vector search
Searching by meaning, not only exact words.
FastAPI
The framework the backend API is built with.
Next.js
The framework the web interface is built with.
Human-in-the-loop
The AI suggests; you approve before anything changes.

Architecture

Under the hood

The short version is the flow above. Open the panel below for the engineering detail.

  1. Documents
  2. Extraction
  3. Database
  4. RAG
  5. AI Agent
  6. Suggested action
  7. Your approval
Technical architectureComponents, data layer, agent graph, tools, and security.
Document pipeline
Upload → text extraction → classification → field extraction → record creation → chunk + embed for search.backend/app/documents/pipeline.pydocuments/extraction.pydocuments/classification.pyrag/indexer.py
Data layer
PostgreSQL 16 with pgvector. Tables for documents and chunks, purchases, bills, subscriptions, warranties, deadlines, tasks, reminders, action proposals, agent runs, tool calls, and an audit log.
Agent (LangGraph)
StateGraph with intent detection, context detection, tool selection, tool execution, optional RAG retrieval, evidence validation, answer generation, and action detection. Tool selection is rule-based and inspectable.backend/app/agents/graph.pyagents/runner.pyservices/evidence.py
Tool registry
20 tools with typed arguments and a `mutates` flag. Read-only tools run immediately; mutating tools only create proposals. Every call is logged.
Human-in-the-loop
Proposals move through pending → approved / rejected → executed / failed. Execution happens only via the approve endpoint.
LLM providers (optional)
None (extractive, default), Anthropic, OpenAI, or AWS Bedrock.
Security & privacy
bcrypt passwords, JWT auth, self-registration off by default, login rate limiting, security headers, upload validation, per-account data isolation, redacted logs.
Frontend & deployment
Next.js (App Router) + React + TypeScript UI. Docker Compose with Postgres, API, background worker, and frontend.

Technology

Built with

Backend

  • Python 3.12
  • FastAPI
  • SQLAlchemy 2
  • Alembic
  • Pydantic v2

Data

  • PostgreSQL 16
  • pgvector

AI

  • LangGraph
  • Hybrid RAG
  • Tool registry
  • Anthropic / OpenAI / Bedrock (optional)

Documents

  • pypdf
  • python-docx

Frontend

  • Next.js 15
  • React 19
  • TypeScript
  • Tailwind CSS

Delivery

  • Docker
  • Docker Compose
  • S3 storage (optional)

Safety

Privacy

  • Demo data only. The public demo contains synthetic/example documents — do not upload sensitive personal information to it.
  • Each account can only see its own documents and records.
  • Logs never include document text or secrets.
  • No answer without evidence, and no changes without your approval.
  • If an AI model is configured, it receives only your question and the matched passages.
  • The assistant does not move money, make financial or investment decisions, or give legal or medical advice.