← Back to Projects
Web2024–PresentProprietary

PrintCafe

Automated Print Management for Cybercafes

Founder & Full-Stack Developer·Solo-Founded·2024–Present (solo project)

This is a solo-founded project. No external client NDAs, but specific business metrics and detailed financial models are not publicly disclosed.

The Challenge

Nigerian cybercafes handle thousands of print jobs daily - students printing assignments, businesses printing invoices, job seekers printing CVs. The process is painfully manual: customer arrives with a USB drive or emails a file, explains print specifications to the operator, waits while the file is opened and configured, pays in cash, and comes back later if the printer is busy. This creates long queues, lost files, miscommunication on print specs, and zero visibility into job status.

Customer document upload interface with print configuration options
Customer document upload interface with print configuration options

The Approach

Built a web platform where customers upload documents, configure print settings through an intuitive UI (paper size, color/BW, single/double-sided, copies, binding type), and pay online. The cybercafe gets a real-time dashboard showing incoming jobs with all specifications pre-configured. WebSocket connections keep both sides updated on job status (received → printing → ready for pickup). The system also handles multi-cafe management for operators running multiple locations.

System Architecture

A dual-interface real-time platform: (1) The customer-facing web app handles document upload (with PDF page count extraction for accurate quoting), print configuration (paper size, color/BW, single/double-sided, copies, binding), and Paystack/Flutterwave payment processing. (2) The operator dashboard is a real-time job queue powered by WebSocket connections, showing incoming print jobs with all specs pre-configured. Both interfaces share a MySQL database via Prisma with tables for cafes, orders, payments, payouts, and refunds. A dynamic pricing engine calculates job costs based on per-page rates with modifiers for paper size, color, duplex, and binding type. Multi-location support allows operators to manage multiple cafes from a single dashboard. NextAuth handles authentication with support for SUPER_ADMIN and CAFE_OWNER roles.

System architecture overview

The operator's real-time job queue dashboard
The operator's real-time job queue dashboard

Built For

Two user groups: (1) Cybercafe customers - Nigerian university students printing assignments, job seekers printing CVs, and small business owners printing invoices, who are tired of USB drives, long queues, and miscommunicated print specs. (2) Cybercafe operators - business owners running 1-5 print locations who need streamlined job management, accurate pricing, and reduced customer wait times.

Design Decisions

Why a web-based upload instead of a mobile app?

Most cybercafe customers are students and small business owners who need to print from laptops, phones, or shared computers. A web app works everywhere without installation. PWA capabilities provide an app-like experience on mobile without the friction of app store downloads - critical for adoption in a market where storage space on phones is precious.

Alternatives considered:Native Android + iOS appsWhatsApp botEmail-based submission

Why WebSockets for printer communication?

Cybercafe operators need instant notification when a new print job arrives - polling introduces delays and wasted bandwidth. WebSockets give us real-time bidirectional communication: the customer sees their job status update live, and the operator gets instant alerts for new jobs. This is critical for the "drop off online, pick up in 10 minutes" experience.

Alternatives considered:HTTP pollingServer-Sent EventsPush notifications only

Why per-page pricing instead of flat-rate?

Nigerian cybercafe pricing is inherently per-page with different rates for color vs. B/W, A4 vs. A3, and single vs. double-sided. A flat-rate model would either overcharge small jobs or undercharge large ones. The dynamic pricing engine mirrors exactly how operators already think about pricing - it just automates the math.

Alternatives considered:Flat rate per documentSubscription modelCredit-based system

Tech Stack

Next.jsReactTypeScriptPrismaPostgreSQLTailwind CSSWebSocketsStripe/PaystackPDF ProcessingPrint API

Outcomes & Impact

  • End-to-end print job automation - upload → configure → pay → print → pickup
  • Real-time WebSocket dashboard for cybercafe operators
  • Dynamic per-page pricing engine supporting color/BW, multiple paper sizes, and binding
  • Multi-location management for operators running multiple cafes
  • PDF preview and page count extraction for accurate job quoting
Print job detail view showing specs, pricing breakdown, and status
Print job detail view showing specs, pricing breakdown, and status

💬 Behind the Scenes

The idea for PrintCafe came from sitting in a cybercafe queue for 40 minutes watching the operator struggle with a corrupted USB drive. I realized the entire workflow - file transfer, spec communication, payment - could be digitized. The hardest part wasn't the code, it was understanding the dozen edge cases in Nigerian printing culture: what happens when a document has mixed page orientations, how binding affects pricing, and why "just print it normal" means something different to every customer.