Local Network Automation

Local POS & Receipt Automation System

A locally hosted web application running on a Raspberry Pi that transformed an antique store's manual, error-prone workflow into a streamlined digital point-of-sale system.

Role

Solo Full-Stack Engineer

Environment

iPad & Local Pi Network

Tech Stack

SveltePythonFastAPIRaspberry PiGoogle Sheets APILinux CUPS / ESC/POS

Gallery

The Challenge

The client presented a barebones problem: they only had an iPad connected to Wi-Fi and a basic spreadsheet. They needed a robust, automated point-of-sale system, but with no existing infrastructure, every transaction was a slow, manual bottleneck:

Core Operational Friction:

  • Staff had to handwrite two separate physical receipts for every sale (one for the customer, one for store records).
  • Inventory numbers had to be manually tracked down and adjusted inside the shared spreadsheet app.

The Solution

I designed and deployed a custom, self-contained Point-of-Sale (POS) system that completely replaced the manual workflow without requiring the client to purchase expensive commercial POS software.

By installing a Raspberry Pi on their local network to act as a lightweight server, I created a seamless wireless bridge between their existing iPads, a physical thermal printer, and their cloud-based Google Sheets. Now, staff simply tap items on a clean Svelte UI from anywhere on the shop floor, and the system automatically prints a professional receipt while simultaneously updating the digital ledger in the background.


System Architecture

How the locally hosted POS system communicates across hardware and APIs.

01 Frontend Inventory Search & Basket Management

Built with Svelte, the client-side UI provides local iPad browsers with an instantaneous inventory search. Staff can pull up items instantly by SKU or product name, manage a multi-product checkout basket, and collect optional customer data without navigating cumbersome spreadsheet rows.

02 FastAPI Backend & Google Sheets Integration

Leveraging Python's FastAPI framework to cleanly organize endpoints, the backend bridges the local retail environment with the cloud. Upon a confirmed transaction, the API securely authenticates via service account tokens to map, format, and append structured transaction data into a centralized Google Sheet ledger—guaranteeing real-time digital auditing.

03 Low-Level Hardware Printing Pipeline

To maximize a standard USB receipt printer under strict network constraints, I configured Linux CUPS on the Raspberry Pi to process a high-resolution raster image of the company logo header. Immediately following the logo payload, the system bypasses standard drivers to send raw native ESC/POS commands to execute perfectly aligned text formatting and trigger the physical paper cut mechanism.

Hardware flow diagram
Hardware & Data Flow

Visualizing the network path: Staff iPad → Raspberry Pi (Svelte/Python) → Concurrent outputs to USB Receipt Printer (CUPS/ESC-POS) and Cloud Google Sheets API ledger.


Technical Hurdles

The 112mm Print Width Constraint: The client specifically requested a wide-format receipt with a print width of 112mm—significantly larger than standard POS printers. Finding compatible hardware that supported this width and could interface with my custom stack was incredibly difficult.

After extensive research, I sourced the Star Micronics TSP800II printer. Because the store operated purely on iPads, I couldn't rely on traditional desktop printer utilities. My solution was to wire the TSP800II directly to a Raspberry Pi acting as a local server node.

Balancing a heavy raster printing task via CUPS alongside direct ESC/POS terminal string parsing required meticulous endpoint construction and device stream handling within FastAPI. This ensured that API calls from the iPad processed smoothly over the local Wi-Fi, never hanging or dropping data mid-transaction.


Impact & Results

100% Digital

Completely eliminated physical handwriting of receipt duplicates for staff records.

High Reliability

Drastically improved readability and legal reliability of business ledger histories.

Optimized Flow

Streamlined checkout workflows, saving active floor hours and catching data-entry mismatches.


Skills Gained & Applied

Frontend Development Engineered a highly responsive web checkout UI utilizing Svelte reactive bindings.
Backend Engineering Designed structured Python APIs handling hardware streams and external integrations.
Hardware Systems Integration Combined CUPS raster imaging engines with raw ESC/POS formatting arrays for complete thermal control.
Workflow Automation Migrated fragmented manual updates into sequential, atomic digital automation chains.