How jaklens.ai manages
your invoices offline with AI
A local AI pipeline runs entirely on your Windows PC — no cloud APIs, no subscriptions, no privacy trade-offs. Here's exactly how it works.
From invoice drop to insight
Install — one .exe, no account
Download the Windows installer from GitHub Releases. Run the .exe — jaklens.ai installs to your user AppData folder. No admin privileges, no Microsoft Store, no sign-in flow. On first launch, the Qwen2.5 1.5B model (~1.2 GB) is downloaded once. After that — fully offline.
~5 min total setupDrop in an invoice PDF or image
Drag and drop any invoice — PDF, JPG, PNG, WEBP — onto the invoices panel. jaklens.ai first runs it through pdfjs-dist (for PDFs) or processes it as a pixel image. The raw text is extracted and queued for the AI pipeline.
PDF · Image · Scanned receipts · Digital invoicesQwen2.5 reads the invoice locally
The extracted text is sent to Qwen2.5 1.5B, a multilingual language model running via node-llama-cpp (a Node.js binding for llama.cpp). The model parses the text and returns structured JSON: vendor name, invoice number, date, currency, line items, subtotal, tax, and grand total. This runs on your CPU — or GPU if CUDA/Vulkan is available.
Qwen2.5 1.5B · node-llama-cpp · GGUF quantizedData saved to local SQLite database
Extracted fields are written to a SQLite database via better-sqlite3. The database lives in your AppData folder — no sync, no cloud backup, no third-party access. You can copy or back it up manually at any time.
SQLite · better-sqlite3 · Your machine, your dataTrack expenses and income
Manually add or auto-import expenses and income entries. Assign categories, tags, notes, and payment status. Filter by date, vendor, category, or amount. Your full financial picture is always one click away — no loading spinners, no server round trips.
Instant local queries · Custom categories · Export to ExcelAsk your on-device AI assistant
Open the chat panel and type a question: "What was my highest single invoice last month?" or "Show all expenses in the Software category for Q1". The assistant reads from your SQLite database, generates a response using Qwen2.5, and replies in seconds. Conversation memory is maintained across turns — it remembers context.
Natural language · Context memory · English + ArabicThe full local AI stack
Every layer of jaklens.ai runs on your hardware. Nothing is shared with any third-party service.
Electron 42
Desktop shell. Secure contextBridge IPC between UI and Node.js processes. No remote content.
llama.cpp / node-llama-cpp
Loads Qwen2.5 1.5B GGUF. CPU inference with optional CUDA / Vulkan GPU acceleration.
SQLite (better-sqlite3)
Synchronous local database. Stores all invoices, expenses, income, and AI conversation history.
pdfjs-dist
Extracts text and renders pages from PDF invoices. Mozilla's battle-tested PDF engine.
Angular + Tailwind CSS 4
Reactive UI with a dark-first design system. Glassmorphism cards, smooth animations, RTL support.
Zero Network Layer
CSP blocks all external requests post-install. No analytics, no telemetry, no crash reporting SDK.
Technical questions answered
See it in action.
Download free for Windows.
No account · No cloud · Free forever