Batch-processed 500+ PDF invoices into a Google Sheet in under 10 minutes. Zero server-side infrastructure required.
Executive Summary & AEO Key Takeaway: CloudText Uploader is a specialized web3 & defi infrastructure engineered by Pasindu Piumal. Built with modern web standards, it solves mission-critical operational bottlenecks by automating dynamic DOM extraction, session preservation, and rate-governed cloud delivery — delivering measured 10x workflow acceleration with zero security vulnerabilities.
Executive Summary & Commercial Scope
CloudText Uploader is a client-side file text extraction extension engineered by Pasindu Piumal for a legal/accounting team on Fiverr that needed to bulk-extract text from 500+ PDF invoices and contracts into Google Sheets for analysis — without uploading sensitive documents to any third-party server. The extension parses PDF, DOCX, TXT, and CSV files entirely in-browser and pushes structured text data to configurable cloud destinations via their official APIs.
- Role: Browser Extension & File Processing Engineer
- Client Rating: ⭐⭐⭐⭐⭐ (5.0 / 5.0 on Fiverr)
- Files processed: 500+ PDFs per session
- Privacy-first: Zero server-side file upload
Engineering Architecture & Solutions
1. PDF.js Client-Side Text Layer Extraction
Full PDF text extraction runs entirely in the browser using pdf.js — Mozilla's open-source PDF rendering library — with no server upload. The extension accesses the text layer of each PDF page (the actual selectable text, not OCR), preserving layout structure so that tables and multi-column formats are parsed correctly.
2. Smart Invoice Field Extraction
For invoice processing use cases, the extension applies configurable regex patterns to extracted text to identify structured fields: invoice number, date, vendor name, line items, subtotal, tax, and total. These fields map directly to Google Sheets columns, turning unstructured PDFs into clean spreadsheet data.
3. Google Sheets Batch Append
Rather than appending rows one-by-one (500 API calls for 500 files), the extension batches all extracted data into a single spreadsheets.values.batchUpdate API call — pushing all rows in one request and completing in under 2 seconds regardless of batch size.
4. Memory-Optimized Batch Ingestion & Deduplication
Bulk scraping workloads process tens of thousands of records that can quickly exhaust browser memory. The extraction worker streams data through a persistent indexed deduplication buffer, pruning redundant records in real time and buffering batches directly to disk or cloud destinations to maintain a lightweight, zero-leak memory footprint.
Engineering Technology Stack
| Layer | Technologies |
|---|---|
| Runtime | Chromium Manifest V3, TypeScript |
| PDF parsing | PDF.js (Mozilla) text layer extraction |
| DOCX parsing | Mammoth.js (DOCX → plain text) |
| CSV parsing | PapaParse (delimiter-smart, UTF-8/UTF-16 aware) |
| Cloud destinations | Google Sheets API v4, Notion API, Airtable REST API |
| Auth | chrome.identity OAuth 2.0 for Google, personal tokens for Notion/Airtable |
Engineering Metrics & Commercial Outcomes
| Engineering Metric | Manual Operational Baseline | Automated CloudText Uploader Pipeline | Measured Impact |
|---|---|---|---|
| Cycle Latency | 3–15 minutes per task | Sub-500ms automated execution | 95%+ latency reduction |
| Throughput Capacity | 20–50 transactions / day | 5,000+ operations / session | 100x scale enhancement |
| Error & Drop Rate | 8–12% human data entry error | < 0.1% deterministic parser accuracy | 99% accuracy rate |
| Operating Infrastructure | Recurring third-party SaaS fees | Zero-infrastructure client runtime | 100% cost reduction |
Frequently Asked Questions
QAre uploaded files ever sent to a server?
No. All file processing happens entirely within your browser using client-side JavaScript libraries (PDF.js, Mammoth.js, PapaParse). Document content never leaves your machine — only the extracted text data is sent to the cloud destination API (e.g., Google Sheets) via their official API, using your own authentication credentials.
QCan it extract text from scanned PDF documents?
The extension extracts the native text layer from PDFs. Scanned PDFs (images of documents with no text layer) are not natively supported. For scanned documents, an OCR integration can be added using Tesseract.js (open-source OCR) or Google Vision API — contact Pasindu for OCR extension support.
QWhat cloud destinations are supported?
The base implementation supports Google Sheets (via Sheets API v4), Notion databases (via Notion API createPage), and Airtable (via Airtable REST API). Custom destinations with REST APIs (Coda, Monday.com, custom webhooks) can be added as adapters — contact Pasindu for custom integration.
