Detailed case study · Automation · POS integration
Instaprint receipt printing
I built Instaprint as a small Kotlin Android bridge between a web point-of-sale app and a thermal receipt printer. The POS can launch the app directly for printing, with a manual fallback when needed.
01 / The problem
Browser printing added steps at checkout
Printing a receipt from the web POS involved repeated browser confirmation prompts and additional printing applications. Those extra handoffs interrupted the checkout flow.
The requirement was specific: make the Android device respond to a print action from the POS and send that receipt to the connected thermal printer. This was a focused integration, not a replacement POS or a universal print service.
02 / The approach
Use an Android intent to hand off the receipt
I connected the POS print buttons to an Android scheme URI. Selecting print opens Instaprint, which receives the request and passes the receipt to the printer using an ESC/POS thermal-printing library.
The app screenshots show both the printing state and the minimal manual-print screen.
03 / The solution
Automatic printing with a manual fallback
After the POS launches it, Instaprint sends the receipt to the thermal printer and exits when printing is complete. A staff member can also open the app from the device menu and enter text for manual printing.
That keeps the normal path tied to the POS button while retaining the app’s optional standalone print path.
04 / What changed
Receipt printing starts from the POS workflow
The delivered Android app removes the need to move through the documented browser confirmations and separate printing apps during the standard POS print path. It also provides a manual fallback.
The app’s printing and manual-print screens show the two supported paths; the project write-up documents the URI handoff and ESC/POS integration.
Project evidence
Interfaces and workflows from the work.
Selected project screens and diagrams support the details in this account.