Skip to content
desktop desktop-application

KasirPintarAI — Desktop POS with AI Analytics

Offline-first Windows desktop POS system for retail shops, featuring product/inventory management, thermal receipt printing, and an AI natural-language assistant translating business questions into local SQL queries.

desktop │ source only · ai-integration· duckdb· flet· inventory-management
AI Integration DuckDB Flet Inventory Management Point of Sale Python

A desktop point-of-sale application for small Indonesian retailers, built in Python with an embedded analytical database and an AI assistant that answers business questions in plain language by writing the SQL itself.

Highlights

  • Offline-first, because a shop cannot stop when the internet does — transactions are written to a local DuckDB file, so selling, printing a receipt and adjusting stock never depend on a connection. Only the AI analytics path needs the network.
  • An analytical database under a transactional workload, on purpose — DuckDB is columnar, so "total sales this week grouped by category" runs over the same file the till writes to, with no separate reporting warehouse and no nightly export.
  • Ask in Indonesian, get a report — a question like "berapa total penjualan minggu ini per kategori?" is translated to SQL, executed, and rendered back as a result. The natural-language layer sits on top of real queries rather than on a fixed set of canned reports.
  • A Flutter-quality UI without leaving Python — Flet renders the interface through Flutter, which is what makes a Python desktop app look like a modern POS rather than a Tkinter form.
  • Ships as one Windows executable — PyInstaller bundles the interpreter, the UI and the database engine into a single .exe, so installing it on a shop counter does not mean installing Python first.
  • Built for the local market, not translated into it — Indonesian UI, Rupiah formatting, QRIS support and thermal receipt printing are baseline requirements here, not localisation added afterwards.

Key Features

  1. Multi-user authentication — bcrypt password hashing at 12 rounds, admin and cashier roles, session tracking with last_login, and clean logout.
  2. Sales transactions — cart, payment and change handling, with thermal receipt output.
  3. Inventory management — products with images, stock levels and category organisation.
  4. AI business analytics — natural-language questions answered from the live sales data via DeepSeek.
  5. Reporting and charts — pandas for aggregation and matplotlib for visual summaries.
  6. Single-file deployment — a bundled Windows executable with no runtime prerequisites, and no monthly fee.

Tech Stack

  • Python 3.11+
  • Flet ≥ 0.80 (Flutter-rendered desktop UI)
  • DuckDB ≥ 1.1 (embedded columnar database)
  • DeepSeek V3 through the OpenAI SDK ≥ 1.50
  • bcrypt ≥ 4.2 (password hashing)
  • pandas ≥ 2.2 + matplotlib ≥ 3.8 (analysis and charts)
  • Pillow ≥ 10 (product images) + python-dotenv
  • PyInstaller (single-file Windows build)

Status & Maturity

Active. Testing is narrow but pointed at the two places where a silent bug would be expensive and invisible: receipt rendering and product image handling — a wrong receipt is a customer dispute and a broken image is a wrong item sold. Everything else is verified by using the till. The application targets Windows, which is what the shops it is built for actually run.

Measured Metrics

Commits 8
Date Range 11 Feb 2026 – 24 May 2026
Lines of code 7,599
Tests 4 passing tests