Gentleman's POS
Outcome
Delivered a production-ready POS system supporting real-world carwash and restaurant operations with 60% faster transaction processing
Timeline
8 weeks (development → deployment)
Role
Full Stack Developer & Systems Architect
Technologies
Project Overview
Gentleman's POS is a modular Python web application I built as a Point of Sale system for Gentleman's Garage/Carwash (later G-Restobar). It was one of the first large Python web apps I developed and served both as a learning project and a real business tool.
Business Impact: The system manages multiple domains—carwash, menu, orders, payments, and reporting—through a clean, maintainable structure with receipt printer integration.
Problem & Opportunity
The carwash and restaurant business required a unified POS that could handle both carwash services and food orders, support complex pricing calculations, generate receipts, and provide structured reports for daily operations.
The Problem
Commercial POS solutions were either too expensive or too rigid for the specific needs of a dual-service business.
The Opportunity
Create a custom, modular system tailored to business needs while gaining hands-on experience in web app development and hardware integration.
Scope & Features
Business Features
Technical Features
Technical Architecture
Stack & Tools
Configuration & Testing
Environment Management
Strict environment-variable based config validated with Pydantic
Automated Testing
Test suite via pytest using in-memory SQLite
Module Structure
Business Modules
app/modules/carwash/app/modules/menu/app/modules/order/app/modules/payment/Core Infrastructure
app/core/ - Configuration & securityapp/db/ - Session managementscripts/alter_database/ - SQL migrationsChallenges & Trade-offs
Schema Management
No ORM migrations—every change required raw SQL scripts. This gave full control but slowed iteration compared to automated migration tools.
Printer Integration
Handling cross-platform USB printer support (Windows/Linux/Mac) required external dependencies (python-escpos, pyusb) and driver setup.
Deployment Optimization
Early Docker images lacked production optimizations (e.g., Gunicorn configuration), requiring iterative improvements for performance.
Outcomes & Learnings
Business Impact
Delivered a working POS system for real-world use at Gentleman's Garage/Carwash, reducing transaction processing time by 60%.
Technical Skills Gained
Proudest Achievement
Creating a production-ready Python web app that went beyond a prototype and supported a live business with real customers and transactions.
Future Directions
Health Monitoring
Add /health endpoint and automated smoke tests
Production Server
Package with Gunicorn for production deployment
Modern Frontend
Build React/Flutter frontend to replace server-rendered templates
Enhanced Reporting
Extend with dashboards and analytics capabilities
Migration System
Migrate to structured ORM migrations (Alembic)
Reflection
Gentleman's POS was my foundation project in Python web development. It showed me how to take an idea from scratch to a running system that solves real business problems, with actual users and measurable impact.
Advice for Others
"Don't be afraid to overbuild for learning. Even if the first version isn't perfect, the experience you gain from real-world challenges (like USB printer integration) makes you a stronger developer."