printf - android based printing utility
printf is a remote print-shop platform that lets users upload documents from a web or mobile app, configure print settings (color, sides, copies, paper size, page ranges), pay per page online, and pick up their prints at a physical kiosk.
the system is split across four services: a web app and mobile app where customers upload files, pay via razorpay, and track order status. a backend service that computes per-page pricing, stores orders in a database, and pushes paid jobs onto a redis queue on payment webhook and printfd, a rust desktop client that runs at the print shop, pulling jobs off the queue, routing them to the correct color or monochrome printer, and notifying the customer via firebase push once printing completes.
tech stack
- web: next.js, firebase auth (google), firebase cloud messaging
- mobile: react native
- backend: hono, cloudflare workers, drizzle orm
- desktop client: rust, tauri, ipp (cups), redis queue
- payments: razorpay
- languages: typescript, rust
links
- website
- android release
- youtube demo
- github: server, website, android, rust client
note: this project is being used as a service at st. francis institue of technology.