phcodesage
Established
Meet SwiftPOS: A Free, Self-Hosted POS System Built for Local Shops and Sari-Sari Stores! Hey everyone!

Running a small shop, market stall, or home business is hard enough without having to pay expensive monthly subscriptions for a Point-of-Sale (POS) system. I originally built SwiftPOS to solve
this exact problem for my own store. It has been running daily to track sales, manage inventory, and audit cashiers. Now, I’m open-sourcing the entire project for free!
Since it runs on a Flask (Python) + SQLite stack, you can host it locally on a laptop or deploy it to a free Vercel server in seconds. There are no ads, no subscriptions, and you own 100% of your
business data.
──────
Why makes SwiftPOS different?Unlike generic POS systems, SwiftPOS was designed with local Philippine retail workflows in mind. Here’s what makes it special:
Built-In Lending (Utang) LedgerIn small-scale retail, tracking credit is essential. SwiftPOS has a dedicated lending system:
• Add items to a custom checkout cart and assign them to a borrower.
• Track outstanding debt balances directly from a clean dashboard.
• Log partial or full payments, which automatically updates your daily cash flow.
• Stock is deducted immediately, but revenue is only counted once cash changes hands.
WordPress-Style Visual Media ManagerForget copy-pasting image URLs. We built a visual media catalog:
• Drag and drop product images straight from your device.
• Select, swap, and assign photos to products using a visual media grid.
• Manage and permanently delete unused files from a central dashboard.
Premium Cashier Experience• Web Audio Synthesizer: Enjoy lag-free audio feedback (clicks, cart additions, deletes, and checkouts) generated directly by the browser.
• Scroll Preservation: The product catalog grid never resets its scroll position when you select items, keeping cashier workflows incredibly fast.
• Flexible Units: Easily sell by pieces (pcs) or by weight (Kg) with quick fractional weight buttons (ex: 0.25kg, 0.50kg, 0.75kg).
• Responsive layouts: Includes a slide-out navigation menu for tablet views and a floating cash checkout bar for smartphones.
Performance Analytics & Neon Waveform Graph• Track Gross Income, Cost of Goods Sold, and Net Profits.
• Filter statistics by Today, Week, Month, or Year.
• View a gorgeous, glowing neon SVG waveform trendline graph of daily sales performance with interactive hover tooltips.
──────
The Tech Stack• Backend: Python 3.12+ (Flask, Flask-Login, Flask-SQLAlchemy)
• Frontend: Vanilla JS (ES6+), Jinja2 Templates, TailwindCSS, Lucide Icons
• Database: SQLite (Relational, self-healing database that auto-creates and seeds itself if missing)
• Deployment: Vercel (Production-ready serverless configuration included) or Offline Localhost.
──────
Quick Start & Installation1. Clone & Open:
git clone You do not have permission to view the full content of this post. Log in or register now.
cd Swift-Pos
2. Initialize Virtualenv & Install:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
3. Run Server:
python app.py
Open You do not have permission to view the full content of this post. Log in or register now. in your browser!
Default AccountsUsername | Password | Role | Access Level
------------------------------------------------|------------------------------------------------|------------------------------------------------|------------------------------------------------
admin | admin123 | Admin | Full system, database, and finance access
cashier | cashier123 | Cashier | Sales register, own shifts, and basic reports
Note: For account recovery, users can reset lost passwords directly from the login screen using the master Store Recovery PIN (default is 9999).
──────
Final WordsI built this because I wanted a POS that was fast, private, and tailored to local stores. If you have a small shop or want to customize your own system, feel free to clone it, modify the code,
and make it your own!
Let me know if you have any questions or feedback! Happy selling!
️












