Tanya Kasir

Halaman Login Berhasil
Dashboard Utama Tanya Kasir
Keranjang Belanja POS
Metode Pembayaran Online
Struk Pembayaran Digital
AI Agent AIRIN Chat
User Guide Interaktif
Analisis Laporan Bulanan

Project Information

  • Category: Android Native POS App
  • Client: UMKM & Retail Business
  • Project Date: 2026
  • My Role: Android & AI Developer
  • Project Status: Production / Live
  • Technology Stack:
    Java Kotlin Android SDK LLM (OpenRouter) Bluetooth ESC/POS MySQL

Project Overview

Tanya Kasir adalah aplikasi Point of Sale (POS) modern yang dirancang khusus untuk UMKM dan bisnis retail. Sistem ini memadukan proses transaksi yang cepat dengan AI Agent AIRIN, scanner barcode multi-item, manajemen stok, laporan penjualan, hingga pencetakan struk thermal. Dengan dukungan role management dan keamanan perangkat, Tanya Kasir membantu pelaku usaha mengelola bisnis secara lebih efisien.

Key Features

AI Agent AIRIN

Asisten AI cerdas yang membantu pengguna memahami fitur aplikasi, memberikan panduan operasional toko, serta menjawab pertanyaan bisnis lainnya.

Smart POS & Barcode Scanner

Proses transaksi cepat menggunakan barcode scanner kamera dengan dukungan manajemen harga eceran maupun grosir otomatis.

Thermal Receipt Printing

Mendukung pencetakan bukti struk secara instan melalui koneksi printer thermal Bluetooth maupun kabel USB.

Device Security

Fitur Device Lock memastikan lisensi aplikasi hanya dapat diakses pada perangkat yang telah terdaftar resmi secara hardware.

Challenges & Solutions

Kecepatan Respon AI Agent (AIRIN)

Tantangan: Pengguna kasir membutuhkan jawaban cepat. Menunggu model LLM menyelesaikan seluruh paragraf jawaban via koneksi API REST biasa membutuhkan waktu 5-10 detik, yang mana terlalu lama untuk operasional toko.

Solusi: Mengimplementasikan koneksi streaming (Server-Sent Events) ke OpenRouter API menggunakan library `OkHttp EventSource`. Jawaban AI di-render token-demi-token secara real-time pada komponen UI Android (TextView), memberikan persepsi respon yang instan di bawah 1 detik.

Kestabilan Bluetooth Printer Thermal

Tantangan: Sinyal Bluetooth printer portabel sering terputus di tengah antrian kasir yang sibuk, menyebabkan struk tidak tercetak utuh atau data corrupt.

Solusi: Membangun `BluetoothConnectionManager` di Kotlin yang mengimplementasikan mekanisme queueing data byte pencetakan. Modul ini dilengkapi dengan deteksi status heartbeat koneksi dan fitur auto-reconnect asinkron sebelum ByteCode ESC/POS dikirim ke printer target.