PaperPilot: Turning Messy GST Invoices into Clean Records with Gemma A developer built PaperPilot, an invoice and expense assistant for freelancers, consultants, and small agencies that extracts vendor, date, and total data from PDF invoices using Gemma, Google's open-weight model, called through the Gemini API. The tool targets Indian tax requirements specifically, parsing GSTIN numbers and CGST, SGST, and IGST splits that generic tools handle poorly, then deduplicating invoices and organizing results into searchable records and CSV exports. The stack combines Python, Streamlit, PyMuPDF, SQLite, and pandas. This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle https://dev.to/challenges/hacktoberfest-week2-2026-10-12 PaperPilot is an invoice and expense assistant for freelancers, consultants, and small agencies. Anyone who works for themselves ends up with a folder of PDF invoices and a dreaded tax season. Someone has to type every vendor, date, and total into a spreadsheet, spot the invoice that was uploaded twice, and remember who hasn't paid. In India there's an extra layer: GSTIN numbers and CGST, SGST, and IGST splits that generic tools handle poorly. With PaperPilot you upload a digital PDF invoice and the app: PaperPilot reads PDF invoices with Gemma, an open-weight AI model , checks the results and organises everything into searchable records and CSV exports Built for freelancers, consultants, and small agencies. The open model is Gemma. I use Gemma, Google's open-weight model, called through the Gemini API with a standard API key. Pipeline: Stack: Python, Streamlit, PyMuPDF, SQLite, pandas, and Gemma via the Gemini API.