CYBEN / AI← All systemsStart a project ↗
CASE STUDY / 26PRODUCT SYSTEM

Easy PDF

A mobile PDF workspace for creating, editing, organizing, securing, and understanding documents with AI-assisted question answering.

  • AI
  • Mobile
  • Documents
Easy PDF case study cover
PROJECT VISUAL2026

Context

PDF work on mobile is usually split across separate scanning, editing, signing, compression, security, and AI tools. That fragmentation turns a simple document task into a chain of exports, uploads, and context switches.

Easy PDF brings the complete workflow into one Flutter application. It combines practical on-device document utilities with a FastAPI retrieval backend so users can both modify a PDF and ask grounded questions about its contents.

The problem

Mobile users need to do more than view PDFs. They need to create documents, reorder or split pages, merge files, add annotations and signatures, reduce file size, protect sensitive content, and share the result without moving between several apps.

AI document chat adds a second challenge: semantic similarity alone can miss exact terms, while keyword matching can miss meaning. The answer system therefore needs retrieval that handles both precise language and conceptual questions before sending evidence to the generation model.

Product strategy

The strategy was to make common PDF actions immediately accessible while treating AI as a focused document capability, not a separate destination. Local tools handle direct manipulation; the backend handles ingestion, hybrid retrieval, and grounded response generation.

  • One document workspace

    Keep creation, editing, organization, security, signing, sharing, and AI assistance inside one consistent mobile experience.

  • Task-first navigation

    Present common actions such as merge, split, compress, sign, and secure as clear workflows instead of exposing implementation details.

  • Ground answers in the document

    Retrieve relevant passages before generation so the assistant answers from the selected PDF rather than relying only on model memory.

AuraNode turns that strategy into one native workspace with a provider-neutral backend.

Create and capture

Create PDFs, import files and images, and scan physical pages into a mobile document workflow.

Edit and organize

Annotate, highlight, underline, add text or images, reorder pages, merge documents, and split files into useful outputs.

Sign, secure, and share

Add signatures or stamps, lock and unlock supported documents, compress files, and share completed PDFs from the app.

Ask your PDF

Upload a document, retrieve relevant passages with lexical and semantic search, and receive GPT-generated answers based on that evidence.

System architecture

A Flutter document workspace handles mobile PDF interactions while a FastAPI backend owns ingestion, hybrid retrieval, model credentials, and grounded answer generation.

Live request topologyPrompt travels right · tokens stream leftPrompt travels down · tokens stream up
State 01
Client / document workspace

Flutter mobile application

GetX coordinates navigation and feature state across PDF creation, editing, organization, security, signing, local file access, and document-aware chat.

  • Flutter
  • GetX
  • Mobile
State 02
Application API

FastAPI service

The Python API protects model credentials, accepts document and chat requests, coordinates ingestion, and controls the retrieval-to-generation pipeline.

  • FastAPI
  • Python
  • REST API
State 03
Retrieval

Hybrid search pipeline

BM25 ranks exact lexical matches while Qdrant returns semantically similar chunks produced with Gemini embeddings; the strongest evidence is fused and selected.

  • BM25
  • Semantic search
  • Result fusion
State 04
Generation

GPT answer generation

The GPT API receives the user question, conversation context, and retrieved document passages, then produces an answer grounded in the selected PDF.

  • GPT API
  • RAG
  • Document Q&A
Worker dependenciesState · data · commerce
Vector search

Qdrant

Stores dense representations of document chunks and performs similarity search against the embedded user question.

Keyword search

BM25 index

Scores chunks by exact term relevance so names, identifiers, and domain-specific phrases remain discoverable alongside semantic matches.

Embed chunks + query

Gemini embeddings

Transforms document chunks and questions into dense semantic vectors used by the Qdrant retrieval path.

Document ingestion

The Flutter application sends a selected PDF to the FastAPI service. The backend extracts and divides the document text into retrievable chunks, creates dense Gemini embeddings for the semantic path, and prepares the same content for BM25 keyword matching. Dense vectors are stored in Qdrant so future questions can be compared with the document collection.

Question lifecycle

When a user asks a question, FastAPI runs two complementary searches. BM25 finds passages containing exact words and phrases, while Qdrant finds passages that are close in meaning to the Gemini-embedded query. The backend combines and selects the strongest results, adds them to the prompt as evidence, and sends the grounded request to the GPT API. The answer returns to the active Flutter conversation.

Separation of concerns

Direct PDF operations remain in the mobile document experience, while AI credentials and retrieval logic stay on the server. Qdrant owns semantic vector search, BM25 owns lexical relevance, Gemini produces embeddings, and GPT handles response generation. This separation lets each part evolve without coupling the Flutter interface to a single retrieval or model implementation.

Key experiences

The interface keeps routine PDF work fast while giving document-based AI conversations a clear, focused flow.

01

Quick actions

A configurable home experience places the most-used PDF operations within immediate reach.

02

Visual document editing

Page previews and direct editing controls help users understand where annotations, images, text, and signatures will appear.

03

Guided file workflows

Selection, progress, validation, and output steps turn complex operations such as merging, splitting, and compression into approachable tasks.

04

Document-aware chat

Users choose a PDF, ask natural-language questions, and continue a conversation grounded in retrieved document content.

Engineering decisions

Flutter for a unified mobile codebase

A shared Flutter interface supports document-heavy interactions while keeping product behavior consistent across supported mobile platforms.

FastAPI as the AI service boundary

Document ingestion, retrieval, model credentials, and answer generation stay behind a controlled Python API rather than inside the mobile client.

Hybrid retrieval instead of one search mode

BM25 preserves exact keyword matches while Qdrant semantic search finds conceptually related passages; their results are combined before generation.

Gemini embeddings for semantic representation

Document chunks and user questions are converted into dense vectors for similarity search in Qdrant.

GPT for evidence-based generation

The generation model receives the strongest retrieved passages and conversation context to produce a useful answer grounded in the selected document.

Current status / active development

A complete PDF workflow with an AI layer.

Easy PDF currently combines a broad set of mobile document utilities with an AI question-answering workflow backed by FastAPI, Qdrant, BM25, Gemini embeddings, and GPT.

The project is presented without speculative adoption or accuracy claims. Its value is demonstrated through the implemented document workflows and the architecture connecting retrieval to grounded generation.

  • Flutter mobile application with end-to-end PDF utilities
  • Editing, signing, merging, splitting, compression, and security workflows
  • FastAPI backend for document ingestion and AI requests
  • BM25 and Qdrant semantic search combined for hybrid retrieval
  • Gemini embedding pipeline connected to GPT-based answer generation
Continue exploring