Harvester is a receipt printing and order management platform built for franchise businesses. It automates the flow from incoming order emails to printed thermal receipts, with fleet management and billing built in.

Architecture

The system follows a cloud-edge architecture:

Communication Flow

  1. Customer places an order through Card My Yard
  2. Order confirmation email is forwarded to the system via Gmail forwarding
  3. AWS SES receives the email and triggers a Lambda function
  4. Lambda forwards the parsed email to the Railway cloud service webhook
  5. Cloud service processes the order and enqueues a print command
  6. Edge agent polls for commands and prints the receipt on the thermal printer

Key Technologies

ComponentTechnology
Cloud ServiceNode.js, Express, Railway
DatabaseAWS DynamoDB
Email ProcessingAWS SES, Lambda, SNS
Edge AgentPython, aiohttp
PrinterRP850A thermal printer via python-escpos
AuthenticationGoogle OAuth 2.0, JWT
BillingStripe
DeploymentGitHub Actions, Wrangler (websites)

Multi-Franchise Support

Each franchise operates in isolation with:

Edge Agent Connectivity

Edge agents use HTTP long polling to receive commands from the cloud service. This approach: