An AI-powered motorcycle service manual search tool. Parses chunked service manual data and expands part-name aliases to instantly surface torque specs, procedures, and references from motorcycle pdf service manuals.
Project Type: tech / PDF-to-Vector Search System
Role: Full-Stack Developer
Tech Stack (AI) v1: llama3.2:3b (LLM), pdfplumber & PyMuPDF (Extractor), Custom Chunker, all-MiniLM-L6-v2 (Embeddings), Qdrant (Vector DB), Python, Custom Keyword Scoring Engine, Synonym Expansion Library, Results Ranking, & Review Backend
Tech Stack (AI) v2: qwen3-30b-a3b-2507 (LLM), Docling (Extractor), bge-large-en-v1.5 (Embeddings), Qdrant (Vector DB), bge-reranker-v2-m3 (Re-ranker), Python, Custom Keyword Scoring Engine, Synonym Expansion Library, Results Ranking, & Review Backend
Tech Stack (Web): Next.js, TypeScript, TailwindCSS, Supabase, Vercel
Status: Deployed, 2026. Continuous WIP.
Live Demo: moto-ref
A service manual is the original RAG problem. Unfortunately, the industry-standard format, the PDF, is actively hostile to retrieval. Searching through 500+ page manuals is painful, and users have to remember manufacturer-specific synonyms for part names. The information they need most, such as torque values, clearances, and procedures, is buried inside un-linked tables, diagrams, and layouts that off-the-shelf parsers often destroy. The hard part is not just the retrieval layer. It is the authoring pipeline: turning a cursed, print-centric format into structured, typed, citation-grounded chunks that a vector store can serve quickly and reliably.
Off-pipeline, low-confidence, and ambiguous extractions are routed into a review queue prioritized by a composite risk score combining retrieval confidence and keyword-match rank. Usage patterns and reviewer decisions, including validations, rejections, edits, parse corrections, and synonym updates, are persisted as structured, versioned ground-truth data for reproducible A/B evaluation across models, embeddings, and extractors, while building a labeled corpus for downstream fine-tuning.
To solve the trust problem in AI systems, every answer is source-linked. This is inspired by my work building AI tools for cancer diagnosis: turning long, structured, technical documents written for experts into fast, navigable, accountable references for clinicians who need answers in context. The patterns transfer: provenance, confidence, fallback, and structure. The domain is different. The problem shape is the same.

Off-pipeline, low-confidence, and ambiguous extractions are routed into a review queue where changes are parsed into a structured format and fed back into the system to continuously improve the model's accuracy.
Architecure diagram