Auggie's Joint POS v2.0.0
🎨 Display Theme
Changes both this app and the customer kiosk simultaneously.
⚙ Feature Toggles
Inventory Tracking
Show the Inventory tab. Track stock counts, low-stock alerts & blast notifications.
Auto-86 on Empty Stock
Automatically mark menu items sold out when their linked ingredient hits zero.
Kitchen Low-Stock Alerts
Flash a banner on the kitchen screen when an ingredient goes below threshold.
Default Low-Stock Alert Threshold
5
Applied to new inventory items. Existing items keep their own threshold.
Pickup Display Board
Show the Pickup Board tab for a second screen at the counter.
Combo Upsell — Cheesesteaks
Prompt combo upgrade after every Cheesesteak tap.
Combo Upsell — Burgers
Prompt combo upgrade after every Burger tap.
Combo Upsell — Hot Dogs
Prompt combo upgrade after every Hot Dog tap.
Combo Upsell — Specials
Prompt combo upgrade on Daily Specials.
Combo Upsell — Tater Tots
Show full combo prompt on Tater Tot orders. Off = soda upsell only.
Combo Upsell — Walking Crunch
Show full combo prompt on Walking Crunch orders. Off = soda upsell only.
Special Instructions Field
Show the free-text instructions box in the toppings modal.
📊 Stats Banner
Show Orders / Revenue / Queue Banner
Display the stat cards at the top of the Kiosk screen. Turn off for a cleaner look or to keep sales private.
Custom Trackables
Add extra stat cards to the banner — e.g. Tips, Cash Paid, Comps, Waste. Use ± buttons on the card to adjust the value during the day.
Label
Type
👤 Staff Accounts
Managers have full access. Staff cannot access Menu Manager, Toppings, Inventory, or Settings.
👤 Customer Accounts
Enable Customer Sign-In
Prompt customers to sign in or continue as guest. Enables order history, smart recommendations, and member-only rewards.
Member-Only Reward
Shown to customers during sign-up and when they hit the threshold. Edit anytime.
Orders to Earn Member Reward
5
🌭 Loyalty Surprise Program
Enable Loyalty Surprises
Randomly award customers Auggie's branded merch. Toggle off for family hours.
Reward Frequency
1 in 1
Higher = rarer rewards. Lower = more frequent.
Reward Types
🏛️ York PA Facts Library
Facts are shown as surprise pop-ups during the loyalty reward. You start with 20 built-in facts — add your own by typing or searching the web.
🤫 Secret Menu
Hide 🤫 Secret Button on Kiosk Screen
Forces staff to use the tap shortcut instead. Keeps the button invisible to customers who might be watching.
Secret Menu Tap Count
How many taps on Specials (POS & customer kiosk) triggers the secret menu. Also controls logo taps on the customer kiosk to cycle themes.
7 taps
🎨 Custom Theme Editor
Build up to 5 named custom themes. Each theme can be pushed to both this app and the customer kiosk instantly.
🎄 Holiday & Seasonal Presets
Tap to apply. Double-tap to open in editor and customise.
💾 Saved Custom Themes
📖 How to Use This App
🔐 Staff Login
Logging in each day
The POS shows a full-screen login modal on every page load. Enter your username and PIN, then tap Sign In → or press Enter. Nothing else is accessible until a valid account is entered.
💡
Default accounts to get started: username auggie / PIN 1234 (Manager) and staff1 / PIN 0000 (Staff). Change these in Settings → Staff Accounts.
Manager vs Staff role
Manager — full access to all tabs: Kiosk Order, Kitchen, Pickup Board, Order History, Inventory, Toppings, Menu Manager, and Settings.

Staff — restricted to Kiosk Order, Kitchen, Pickup Board, and Order History. Menu Manager, Toppings, Inventory, and Settings are hidden from the nav bar entirely.
Managing staff accounts
Go to Settings → ⚙ Settings → Staff Accounts (manager login required). Fill in the display name, username, PIN, and role, then tap + Add Account. Tap Remove on any account to delete it — you cannot remove your own currently active account. All accounts persist across restarts.
Staff name on orders
Every order placed is automatically stamped with the logged-in staff member's name. It appears on the kitchen ticket next to the time and total, and shows as a purple badge in the Order History tab — so you always know who rang what.
Signing out
Tap the Sign Out button in the nav bar (to the right of the staff name badge). The login screen re-appears immediately. The next person logs in with their own credentials.
🚀 Daily Setup
Starting up every day
  1. Put index.html, pos.html, and customer.html in the same folder.
  2. Open a terminal in that folder and run: python3 -m http.server 8080 — leave it running all day.
  3. Open Chrome and go to localhost:8080 — wait for the green ✓ Both Apps Connected status.
  4. Tap ▶ Open Both Apps Now.
  5. On the Staff POS tab: tap any category once — this triggers the first save and links both apps.
💡
If the customer app shows a blank screen or the launcher shows yellow, tap Reset & Reconnect on the launcher page, then hard-reload both tabs (hold the reload button in Chrome).
What syncs from POS to customer app
Changes appear on the customer app instantly via BroadcastChannel or within 15 seconds via the poll:
  • Menu edits — item name, price, description update immediately
  • Photos — appear on customer item cards within a few seconds of saving
  • 86'd items — grey out instantly on the customer menu
  • Topping bundles — new bundles appear in customer toppings screen
  • Queue closed — red banner appears on customer app instantly
  • Feature toggles — combo, special instructions, sign-in respond within 15s
📊 Order History
Reviewing today's orders
The Order History tab shows every order placed this session — walk-up and online — sorted newest first. The summary row shows total orders, total revenue, and the walk-up vs online breakdown. Use the filter buttons to view All, Walk-up only, Online only, Completed, or Still active orders.
Revenue breakdown
Below the main stats on the Kiosk screen, a breakdown line shows walk-up and online order counts and revenue separately — e.g. 8 walk-up ($142) · 3 online ($54). Revenue from customer kiosk orders is now counted alongside walk-up orders as soon as they arrive in the kitchen.
CSV export
Tap ⬇ Export CSV in the Order History tab to download a spreadsheet of all orders. Each row includes order number, time, source (walk-up/online), status, customer name, total, and item list. Use it for end-of-day reconciliation or records.
Edit on Kiosk — send order back from kitchen
Pending and held kitchen tickets have a ✏ Edit on Kiosk button (also available in the Order History tab). Tapping it: removes the ticket from the kitchen queue, loads all the items into the kiosk cart, and navigates to the Order screen. Make any changes — add items, adjust toppings via ✏ Edit on any cart line, remove items — then tap Place Order to re-send to the kitchen with the updated items and a fresh order number.
💡
If the original order came from the customer kiosk app, it is also removed from the customer's queue so they don't receive a "ready" notification for the old version.
Step-by-step ordering flow
  1. Tap a category tab (Specials, Cheesesteaks, Burgers, Hot Dogs, etc.).
  2. Tap an item. If it has options, the Customize screen appears — choose protein, size, and/or bun, then tap Next →.
  3. For Cheesesteaks, Burgers, Hot Dogs, and Specials: the Combo screen appears. Tap Standard Combo ($3.50) or an upgraded tot, then Add Combo ✓. Tap No combo to skip.
  4. For Tater Tots and Walking Crunch: a Drink? prompt appears first. Tap any drink to add it as a separate cart item, or No thanks to skip to toppings.
  5. The Toppings screen opens. Standard toppings are pre-selected green — tap any to remove (free). Tap grey toppings to add ($0.25 or $1.00). Use Special Instructions for allergies or preferences.
  6. Tap Add to Order. The item appears in the order panel on the right.
  7. Tap Place Order to send to the kitchen queue.
💡
Tap ✏ Edit on any cart item to reopen its full ordering flow — choices, combo, and toppings are pre-populated. Changes update in place without losing the quantity.
Sold-out items & suggestions
86'd items show a red badge and can't be tapped. Tapping one opens a suggestions screen with similar available alternatives sorted by matching toppings. To un-86, use the 86 toggle in Menu Manager or adjust count in Inventory.
Context help — the ? button
Every dialog box has a ? button in the title bar — tap for step-by-step help specific to that screen. Tap ← Back to return. ? buttons also appear on Kitchen, Inventory, Topping Manager, Menu Manager, and Settings screen headers.
🌭 Taking an Order
Step-by-step ordering flow
  1. Tap a category tab (Specials, Cheesesteaks, Burgers, Hot Dogs, etc.).
  2. Tap an item. If it has options, the Customize screen appears — choose protein, size, and/or bun, then tap Next →.
  3. For Cheesesteaks, Burgers, Hot Dogs, and Specials: the Combo screen appears. Tap Standard Combo ($3.50) or an upgraded tot, then Add Combo ✓. Tap No combo to skip.
  4. For Tater Tots and Walking Crunch: a Drink? prompt appears first.
  5. The Toppings screen opens. Standard toppings are pre-selected green — tap any to remove (free). Tap grey toppings to add ($0.25 or $1.00). Use Special Instructions for allergies or preferences.
  6. Tap Add to Order, then Place Order to send to the kitchen.
💡
Tap ✏ Edit on any cart item to reopen its full ordering flow — choices, combo, and toppings are pre-populated. Changes update in place.
Standard toppings vs extras
Standard toppings (shown in green, labelled "std") are included in the item price — removing them is free. Extra toppings (grey until tapped) add $0.25 or $1.00. The running cost at the bottom of the toppings screen shows extras only. Bundle buttons (Everything, custom bundles) also show the extra cost above standards.
📊 Stats Banner & Custom Trackers
Showing and hiding the stats banner
The Orders / Revenue / In Queue stat cards at the top of the Kiosk screen can be toggled on or off in Settings → ⚙ Settings → Stats Banner → Show Orders / Revenue / Queue Banner. Turn it off for a cleaner look or to keep sales figures private from customers who can see the screen.
Adding custom trackable stats
Under Custom Trackables in Settings, type a label (e.g. Tips, Cash Paid, Comps, Waste) and choose Count (±1) or Currency (±$0.25). Tap + Add Tracker and a new card appears in a second row below the main stats. Use the − and + buttons on the card to adjust the value throughout the day. Values save automatically and persist across reloads. Remove any tracker from Settings.
🤫 Super Secret Menu
Marking an item as secret
In Menu Manager, tap Edit on any item and check the 🤫 Super Secret Menu Item box. Secret items are hidden from the normal kiosk entirely — they only appear through the secret access points on both apps. You can set a price, description, photo, and time window just like any other item.

A demo secret item is already loaded: Ryan's Super Secret Lasagna Burrgerr! ($15) in the Burgers category — thin layers of pasta, tomato sauce, ground beef, mozzarella, ricotta, parmesan & fresh basil. Delete it anytime in Menu Manager.
Staff access — POS Kiosk screen
A 🤫 Secret button sits to the right of the category tabs on the Kiosk Order screen. Tap it to open a staff panel listing all secret items with photos, descriptions, prices, and availability status. Tap any available item to launch the normal ordering flow — choices, combo, toppings, then Place Order. The kitchen sees it as a regular ticket.

Alternatively, tap the Specials tab 7 times within 2 seconds to toggle the panel open.
💡
Use the POS secret panel to enter walk-up orders for local regulars who know about the secret menu but aren't using the customer kiosk app.
Customer access — kiosk app
On the customer kiosk, tap the Specials tab 7 times in a row within 2 seconds. A full-screen carnival overlay rises up with the secret items. Tapping any available item closes the overlay and starts the normal ordering flow. Tell regulars verbally — "tap Specials seven times." The tap counter resets after 2 seconds of inactivity.
Hiding the 🤫 Secret button from view
In Settings → ⚙ Settings → Secret Menu, toggle Hide 🤫 Secret Button on Kiosk Screen. This removes the button from the category tab row — staff must use the tap shortcut instead. The setting persists across restarts.
Configuring the tap count
The Secret Menu Tap Count slider (3–15) in Settings → 🤫 Secret Menu controls three secret gestures simultaneously:

• Tapping Specials on the POS → opens secret menu panel
• Tapping Specials on the customer kiosk → opens carnival secret overlay
• Tapping the AUGGIE'S JOINT logo on the customer kiosk → cycles theme

Syncs to the customer kiosk automatically. Default is 7.
💡
Set lower (3–4) for quick staff access. Set higher (10+) to make accidental triggers nearly impossible.
⏰ Time-Restricted Items
Setting available hours
In Menu Manager, tap Edit on any item. Set Available From and Available To in 24-hour format (e.g. 07:00 to 10:30 for breakfast). Outside that window, the item shows a grey ⏰ badge and cannot be ordered on either app. Leave both blank for all-day items. Works on secret items too — they grey out in the overlay when unavailable.
💡
Time checks happen in real time — items unlock themselves automatically when the clock enters their window. No reload needed.
👨‍🍳 Kitchen Queue
Managing the queue
  • Mark Ready — marks one ticket ready and notifies the customer instantly.
  • ✓ Clear — Order Picked Up — removes from kitchen and pickup board.
  • Hold — pauses a ticket (amber). Tap Release to Kitchen to resume.
  • Fire Now — sends a scheduled ticket immediately.
  • Mark All Ready / Clear Ready — bulk actions for rush periods.
  • 📱 Sync Online — pulls customer kiosk orders immediately without waiting for the auto-poll.
Reading kitchen tickets
Each ticket line is colour-coded: white = item name · yellow no indent = protein/size choice · grey indented · = standard toppings included · yellow indented + = extras added · yellow with red ★ − = standard topping removed (pay attention — this is what the customer took off) · yellow with red ★ = special instruction. The red ★ marks anything that needs active attention.
Online orders & delay controls
Customer kiosk orders appear tagged with a 📱 blue badge. When you mark them ready, the customer's screen turns green within 3 seconds. Use delay buttons to hold incoming orders, or Close Queue to stop all orders — a red notice appears on the customer kiosk immediately.
🔢 Pickup Board
Using the pickup display
Shows all ready order numbers. Run it on a second monitor or tablet at the counter. Tap any number to clear when picked up. Online orders are also removed from the customer's screen when cleared here.
📦 Inventory
Tracking stock
  • Edit counts inline with + / or type directly in the field.
  • When count hits threshold, the item turns yellow and a Last Call! alert fires on the kitchen screen.
  • When count hits 0, linked menu items are automatically 86'd (if Auto-86 is on) and shown as LIMITED on the customer app.
💡
Tap Blast All Low-Stock Alerts to fire notifications for every ingredient at or below threshold at once.
📋 Menu Manager
Editing the menu
  • Edit — change name, description, price(s), category, and photo. Changes are live on both kiosks immediately.
  • 86 It — instantly marks sold out. Tap again to restore.
  • → History — archives out of active service. Restore any time from the History tab.
  • Delete — permanently removes the item.
  • + New Item — add a new item with full pricing and photo support.
📷
Five items ship with demo photos already loaded: Auggie's Doggy, Mc Patty Burger, Hot Cheeto Dog, Pretzel Dog, and Ryan's Super Secret Lasagna Burrgerr!. To replace or add a photo: tap Edit on any item, then Upload / Change Photo. On a phone or tablet, Take Photo also appears. Photos sync to the customer app within a few seconds — stored separately from menu data to avoid storage limits.
Editing standard toppings per item
Tap Edit on any item and scroll to 🧀 Standard Toppings. A checkbox grid shows all enabled toppings — checked ones come on this item by default (included in price, shown green in the toppings modal). Uncheck any to remove it from the default build. Check any to add it as a new standard. These override the built-in defaults for this item only. Tap Save and the change takes effect immediately on both kiosks.
💡
Standard toppings are free — they're included in the item price. Only toppings the customer adds beyond the standard set incur extra charges.
🧀 Toppings & Bundles
Managing toppings
Toggle toppings on/off globally (All tab) or per-category. Add new toppings with a custom price. The Bundles sub-tab lets you create named bundles — choose toppings, optionally set a flat price. Bundles under All appear in every category's toppings screen. Built-in: Everything (all enabled toppings) and Sensical (menu-accurate defaults per category).
👤 Customer Accounts
Sign-in & accounts
Customers are prompted to sign in or continue as guest. Accounts looked up by email, then phone, then name. Members get ⭐ Favorites, 📋 Order History with one-tap Reorder, and a reward popup at the order threshold. Toggle Enable Customer Sign-In in Settings to control this on both apps simultaneously.
Editing the member reward
Scroll to Customer Accounts below. Edit the reward text and set the Orders to Earn slider. Changes sync to the customer app within 15 seconds — no restart needed.
🌭 Loyalty Surprise Program
How it works
When enabled, a random reward popup fires after orders. The Reward Frequency slider sets how often — 1 in 1 = every order, 1 in 8 = roughly once in eight. Crude Roast Jokes are commentary only — no freebies, just Auggie's-branded humor. Toggle off for family-friendly hours.
🏛️ York PA Facts reward
When Cool York PA Facts is checked in reward types, a random York PA history or culture fact appears in the popup with a 🏛️ DID YOU KNOW? header. 20 built-in facts are included covering Central Market, the Articles of Confederation, York Peppermint Patties, Harley-Davidson, York Barbell, Utz chips, covered bridges, the Underground Railroad, and more.

To manage facts: go to Settings → ⚙ Settings → Loyalty → York PA Facts Library. Built-in facts are marked 📌. Type a new fact and tap + Add (or press Enter). Tap 🔍 Search Google for a York PA Fact to open a Google search in a new tab — find a fact, copy it, and paste it into the field above. User-added facts (✏️) can be removed individually. All facts sync to the customer kiosk automatically.
💡
The York facts reward fires alongside other enabled types — all enabled reward types go into a pool and one is picked at random. To show only York facts, uncheck all other reward types.
🎨 Custom Theme Editor
Opening the editor
Tap ⚙ in the nav bar → 🎨 Themes tab in the right-side rail. Two sections: Holiday & Seasonal Presets, and Saved Custom Themes.
Holiday & seasonal presets
10 one-tap themes: Christmas, Halloween, 4th of July, St. Patrick's Day, Thanksgiving, Valentine's Day, Summer, Winter, Spring, and Fall. Tap the name to apply to both apps instantly. Tap to open that preset in the editor with all colors, fonts, and styles pre-filled — then tweak and save as your own custom theme.
💡
Holiday presets push to the customer kiosk automatically when applied — no separate Push step needed.
Building a custom theme — what you can control
🏷️ Logo & Branding — logo text, tagline, show/hide the SVG badge
🎨 Colors — background (primary, panel, dark, card), text, muted text, both accent colors, border
🖋️ Typography — display font (Bebas Neue, Special Elite, Oswald, Permanent Marker, Impact, Anton, Playfair Display), body font (DM Sans, Nunito, Lato, Roboto), letter spacing slider, font scale slider (85–120%)
🧱 UI Style — button style (filled/outlined/gradient), card style (flat/bordered/elevated), tab style (pill/square/underline)
🗺️ Nav Bar — background and border colors
🎫 Kitchen Ticket — category label color, red star (★) color
Live preview
A preview panel at the bottom of the editor updates in real time as you adjust any setting — shows your logo text, a sample menu card with your colors and card style, and the Place Order button with your chosen button style and colors.
Saving, applying, and pushing to kiosk
💾 Save Theme — saves to the list (up to 5 slots), persists across reloads.
▶ Apply Now — saves and applies to the POS, then pushes to the customer kiosk instantly.
📡 Push to Kiosk — sends CSS, logo text, and tagline to the kiosk only — POS theme unchanged.
💡
From the saved themes list: ▶ Apply (POS + kiosk), 📡 Push (kiosk only), (edit), (delete).
📱 Customer Kiosk App
Two-app setup
The file customer.html is the customer-facing kiosk — open it on a tablet or second screen pointed at the customer. It reads menu, inventory, and settings from this app automatically. All changes appear on the customer app within a few seconds via BroadcastChannel or within 15 seconds via the localStorage poll.
🎨 Customer kiosk themes
The customer kiosk supports all three themes — Clean, Grunge, and Branded. It syncs automatically from whatever theme is set on the POS.

Staff can also change the theme directly on the kiosk by tapping the AUGGIE'S JOINT logo the secret number of times (default: 7) within 2 seconds. The logo briefly flashes on each tap so you can count. After the last tap the theme cycles Clean → Grunge → Branded → Clean and a toast confirms. The local choice persists on that device between reloads.
💡
The logo tap count matches the Secret Menu Tap Count setting. Change it in Settings → 🤫 Secret Menu.
Full order round-trip
Customer places order → appears in Kitchen tab instantly → staff marks ready → customer's screen turns green within 3 seconds → staff clears from Pickup Board → removed from customer's screen. Entirely automatic.
Troubleshooting sync
  • Customer app blank — hard reload both tabs. Make sure you downloaded the latest files.
  • Menu not updating — tap any category on the Staff POS to trigger a fresh save, wait 15 seconds.
  • Photos disappearing — fixed in v1.4.0. If it persists, use Reset & Reconnect on the launcher page.
  • Orders not in kitchen — tap 📱 Sync Online, or wait up to 10 seconds for the auto-poll.
  • Everything broken — go to localhost:8080, tap Reset & Reconnect, reopen both apps.
📋 Release Notes
Auggie's Joint POS
v2.2.0
Released
April 2026
v2.2.0 — Seeded Demo Photos & Ryan's Super Secret Lasagna Burrgerr!
Demo photos seeded at startup — five menu item photos are now baked into the app and automatically populate on first load (without overwriting any photos you've already set manually). Seeded items: Auggie's Doggy, Mc Patty Burger, Hot Cheeto Dog, Pretzel Dog, and Ryan's Super Secret Lasagna Burrgerr!. Photos are compressed to ≤75KB each and stored in the existing auggies_pos_v1_photos localStorage key via a seedDemoPhotos() function that runs before loadState().
Ryan's Super Secret Lasagna Burrgerr! — a new item added to the Burgers category, marked 🤫 Super Secret Menu Item. $15. Description: thin layers of pasta, tomato sauce, ground beef, mozzarella, ricotta, parmesan & fresh basil. Visible only through the secret access points on both apps — not shown on the normal customer menu. Full ordering flow (combo, toppings, cart, kitchen ticket) same as all other items.
POS photo display fix — seeded photos were visible on the customer kiosk but not the Staff POS. Root cause: loadState() returned early when no saved state existed (first load), so the photo-restore block never ran. Fixed by moving photo restore to run unconditionally before the early-return guard, with a second pass after menu restore to handle the case where saved menu items have photo stripped out.
v2.2.0 — Staff Login & Role-Based Access
Staff login modal — full-screen login gate on every page load. Username and PIN/password required before anything is accessible. Enter key submits. Wrong credentials show an error and clear the PIN field. Two roles: Manager and Staff — Managers have full access to all tabs including Menu Manager, Toppings, Inventory, and Settings. Staff role restricts to Kiosk Order, Kitchen, Pickup Board, and Order History only. Hidden tabs vanish from the nav bar automatically. Staff badge in nav bar — logged-in name displayed with a color-coded MGR or STAFF badge. Sign Out button re-presents the login screen. Staff name stamped on orders — every order placed shows which staff member rang it. Appears on kitchen tickets (next to time/total) and in Order History as a purple badge. Staff Accounts editor in Settings — Managers can add new accounts (display name, username, PIN, role), remove accounts, and see all current accounts. Data persists in localStorage. Cannot remove your own currently logged-in account. Default accounts: username auggie / PIN 1234 (Manager) and staff1 / PIN 0000 (Staff). Change or remove these in Settings → Staff Accounts. Customer accounts preserved — the existing customer sign-in modal still works at order time. Staff tap the 👤 Sign In button on the kiosk screen to look up a customer account and attach it to an order.
v2.0.1 — Inventory Auto-Deduct, Topping 86, Inventory Links & About
Inventory auto-decrements on order — when an order is placed, stock counts for all linked ingredients automatically deduct. Double Meat selections deduct 2× from the protein inventory. Counts floor at zero and trigger low-stock alerts and auto-86 immediately. 86 a topping — new 86 button in the Toppings tab. Marks the topping out and cascades to auto-86 every menu item that has it as a standard topping. Un-86 restores the topping and all affected items. State persists across reloads. Inventory links in Menu Manager — a new 📦 Linked Inventory section in every item's Edit modal. Checkboxes for all inventory items — pre-checked based on current links. Save updates the links live. No more hand-editing code to link a new Special to its ingredients. About section expanded — detailed feature descriptions for all 10 major feature areas added to the ℹ About tab. Build date updated to April 18, 2026.
v2.0.0 — Custom Theme Editor, Holiday Themes & Push to Kiosk
Custom Theme Editor — a full theme design studio under the new 🎨 Themes tab in Settings. Build up to 5 named custom themes with complete control: background colors, text colors, accent colors, border radius, display font, body font, letter spacing, font scale, button style (filled/outlined/gradient), card style (flat/bordered/elevated), tab style (pill/square/underline), nav bar colors, and kitchen ticket accent colors. Live preview — the editor shows a real-time preview panel that updates instantly as you adjust any color, font, or style setting. 10 holiday & seasonal presets — Christmas, Halloween, 4th of July, St. Patrick's Day, Thanksgiving, Valentine's Day, Summer, Winter, Spring, and Fall. Tap to apply. Tap ✏ to open in editor with all fields pre-filled. Push to both apps▶ Apply Now applies to POS and pushes to kiosk. 📡 Push to Kiosk sends to kiosk only. Works instantly via BroadcastChannel. Customer kiosk expanded — all holiday themes and 5 custom theme slots added to the customer app. Theme push bug fixed (was using undefined BC variable instead of _bc).
v1.9.1 — Customer App Theme & Tap Count Fixes
secretTaps default added to customer FEATURES — the customer app's FEATURES object was missing secretTaps: 7, so the configured tap count from the POS wasn't reliably applied between syncs. Now declared with the correct default. applyTheme uses classList — the customer app's theme switcher was using body.className = theme which wiped all other body classes. Fixed to use classList.remove() per theme then classList.add(theme). Body class detection fixed — theme cycling detected the current theme via body.className exact match, which broke if any other class was present. Fixed to classList.contains(). Logo tap flash feedback — each tap on the customer kiosk logo now briefly flashes (80ms opacity dip) so staff can count taps without staring.
v1.9.0 — Customer Themes, Vertical Settings & Configurable Taps
Customer kiosk themes — the customer kiosk now supports all three themes: Clean, Grunge, and Branded. Theme syncs automatically from the POS and also persists locally on the kiosk device. Logo tap to cycle theme — tap the AUGGIE'S JOINT logo on the customer kiosk the secret number of times within 2 seconds to cycle Clean → Grunge → Branded → Clean. A toast confirms the change. Fun hidden feature for staff to personalise the kiosk during setup. Configurable secret tap count — Settings → 🤫 Secret Menu now has a Secret Menu Tap Count slider (3–15). Controls three gestures: Specials tap on the POS, Specials tap on the customer kiosk, and logo tap on the customer kiosk. Syncs automatically. Default is 7. Settings panel vertical tab rail — the four tabs (⚙ Settings, 📖 How-To, 📋 Releases, ℹ About) now live in a fixed vertical rail on the right side of the panel, always visible while scrolling. No more hunting for a tab that scrolled off screen. Settings section reorder — inside ⚙ Settings, sub-sections are now in a more logical flow: Theme → Feature Toggles → 📊 Stats Banner → 👤 Customer Accounts → 🌭 Loyalty → 🤫 Secret Menu.
v1.8.0 — York PA Facts, Settings Fixes & Loyalty Overhaul
🏛️ Cool York PA Facts loyalty reward — a new reward type added to the Loyalty Surprise program. When triggered, customers see a fun York PA history or culture fact as a popup. 20 built-in facts covering Central Market, the Articles of Confederation, York Peppermint Patties, Harley-Davidson, York Barbell, Utz, the Underground Railroad, covered bridges, and more. Add facts from the web or manually — in Settings → Loyalty → York PA Facts Library, tap 🔍 Search Google for a York PA Fact to open Google in a new tab — find a fact, copy it, and paste it in. Or type any fact and tap + Add. User-added facts appear alongside the built-ins and sync to the customer kiosk. Remove any user-added fact individually. Loyalty reward checkboxes now save reliably — hardcoded HTML checked attributes removed from reward type checkboxes; state is now fully controlled by JavaScript from FEATURES. Both change and click events are handled for mobile reliability. Settings panel re-syncs checkboxes from live FEATURES every time it opens. Customer kiosk crude joke fallback removed — the kiosk previously showed crude jokes even when disabled, due to a fallback condition that fired when no reward types were recognised. Now matches POS behavior exactly: each reward type only fires when explicitly enabled. Settings panel HTML fixed — recurring broken-tag bug where a <div opening was stripped from the v1.6.0 release note entry causing raw HTML attribute text to render visibly on screen. Also fixed a missing </div> closing the sbox wrapper in the Releases tab. Structural audit now verifies zero rogue attributes and balanced div counts before every delivery.
v1.7.0 — Tickets, Toppings & Settings Overhaul
Settings panel redesigned — four tabbed sections: ⚙ Settings (theme, feature toggles, loyalty, accounts), 📖 How-To guide, 📋 Release Notes, ℹ About. Browseable without scrolling one long page. Stats banner control — toggle Orders / Revenue / In Queue cards on or off. Hide for a cleaner kiosk view or to keep sales figures private. Custom trackable stats — add your own stat cards (Tips, Cash, Comps, Waste) with ± buttons. Count or Currency type. Values persist across sessions. Hide 🤫 Secret button — Settings toggle forces staff to use the 7-tap Specials shortcut rather than the visible button. Kitchen tickets show category — every ticket opens with a blue station label (CHEESESTEAKS, BURGERS, etc.) so kitchen knows which station builds the item. Kitchen tickets show full standard toppings — grey standard toppings now appear on every ticket alongside yellow extras and red ★ removals. Kitchen sees the complete build. Standard toppings no extra charge — bundle cost displays now correctly exclude standard toppings from the shown price. They were always free in the total but the display was misleading. Standard toppings editable per item — tap Edit on any item in Menu Manager to see the full topping list with checkboxes. Set exactly what comes standard on that item, overriding built-in defaults. Sensical bundle removed — replaced by the per-item standard toppings editor, which gives precise control rather than a category-level approximation. Revenue fix for edit-from-kitchen — when a kitchen order is sent back to the kiosk for editing, the original total is now subtracted from revenue before the edited version is re-placed, preventing double-counting.
v1.6.0 — Super Secret Menu & Time-Restricted Items
Super Secret Menu — customer kiosk — tap the Specials button 7 times within 2 seconds on the customer kiosk to reveal a hidden menu with full carnival animations: curtain-rise entrance, shimmering gradient title, pulsing glowing borders, flicker effects, floating stars. Secret items never appear in the normal menu. Super Secret Menu — staff POS — a 🤫 Secret button sits beside the category tabs on the Kiosk Order screen. Tapping it opens a staff-facing panel listing all secret items with photos, descriptions, prices, time-window status, and sold-out state. Tap any available item to launch the normal choice → combo → toppings → cart flow. Also triggerable by tapping Specials 7 times. Lets staff enter orders for special local customers who aren't using the kiosk app. Time-restricted items — set Available From / Available To times on any item in Menu Manager. Items outside their window show a grey ⏰ badge and cannot be ordered. Works on both kiosks and inside the secret menu. Secret items managed in Menu Manager — 🤫 Super Secret Menu Item checkbox on any item. Sets the item hidden from normal menus and visible only through the secret access points.
v1.5.0 — Order History, Revenue Tracking & Kitchen Edit
Order History tab — full session log of every order (walk-up and online) with summary stats, filter buttons (All / Walk-up only / Online only / Completed / Active), and ⬇ CSV export for end-of-day records. Revenue breakdown — stats row now shows walk-up vs online order counts and revenue separately below the main totals. Online revenue fixed — customer kiosk orders now correctly add to the revenue counter and order count when they arrive in the kitchen. Edit on Kiosk — pending and held kitchen tickets now have a ✏ Edit on Kiosk button. Tapping it removes the ticket from the kitchen queue, loads all items into the kiosk cart, and navigates to the Order screen so changes can be made and the order re-placed. Also available from the Order History tab. Reorder from history — completed (cleared) orders in the Order History tab have a ↩ Reorder button that loads all items back into the cart.
v1.4.0 — Sync Engine Overhaul & Photo Persistence
Photos now sync reliably to the customer app and stay visible — photos are stored in a separate localStorage key to avoid the 5MB quota limit that was silently killing all saves. Debounced autosave — rapid successive saves (e.g. menu manager render + explicit save) now collapse into one broadcast, eliminating the double-message race that caused photos to flash and disappear. Photo preservation in applyStaffState — customer app no longer wipes in-memory photos when state syncs; existing photos are carried forward when items are updated. Deferred render with localStorage fallback — customer app waits for photo broadcast before rendering; if the broadcast is missed, falls back to reading photos from localStorage directly. Startup crash protection — INIT wrapped in try/catch; any startup error shows a visible red message instead of a blank screen. Dummy-proof launcher (index.html) — live connection status (green/yellow/red), 4-second auto-refresh, Reset & Reconnect button, step-by-step setup guide, file:// detection. ? buttons baked into modal HTML — no longer injected at runtime, eliminating the overlap-with-✕ bug and the startup crash when old JS met new HTML. Short filenames: pos.html, customer.html, index.html.
v1.3.1 — Bridge & Kitchen Fixes
saveState hoisting bugs fixedsaveState, applyTheme, markReady, renderMenuManagerPanel, and renderInventory all had duplicate function declarations causing infinite recursion and silent crashes; consolidated to single declarations throughout. Individual Mark Ready working — single consolidated markReady() that sets status, renders, logs, syncs localStorage, and broadcasts in one call. Kitchen tickets show full build — standard toppings now listed in grey (·), extras in yellow (+), removals in yellow with red ★ prefix, special instructions with red ★. Red star signals the kitchen to anything that needs active attention. Customer order sync fixed — BroadcastChannel + localStorage both operational; orders from customer kiosk appear in staff kitchen instantly. Queue-closed flag syncs instantly in both directions. Setup warning improved — detects file:// vs HTTP, shows appropriate message, auto-dismisses when staff app connects.
v1.3.0 — Help System
Context-sensitive ? help buttons on every dialog in both apps — staff and customer versions use different language and tone. Covers all 13 staff dialogs and 7 customer dialogs. Full ← Back navigation from any help screen.
v1.2.0 — Customer Kiosk & Two-App Bridge
Separate customer-facing kiosk app — full branded ordering experience, sign-in, favorites, order history, soda upsell, toppings with bundles, combo upsell, sold-out suggestions, loyalty popup, and order-ready polling. Shared localStorage + BroadcastChannel bridge. FEATURES object mirrors staff settings in real time.
v1.1.0 — Persistence, Bundles & Cart Re-Edit
Full localStorage persistence across all app state. All-category bundles. Cart item re-edit with ✏ button. Soda upsell for Tots and Walking Crunch. Autosave wired to all mutation points.
v1.0.0 — First Release (April 2026)
Full kiosk ordering · Kitchen queue with delay & scheduling · Pickup board · Inventory with auto-86 & alerts · Topping & bundle manager · Menu manager with photo support & History archive · Per-category combo upsell · Smart suggestion engine · Customer accounts · Loyalty Surprise program · Three themes · All features toggleable.
ℹ About
v2.2.0
Auggie's Joint POS
Built for Auggie's Joint · Central Market · York, PA
RAM Common Logic LLC
April 2026
Our Wieners Are Hard to Beat
Three apps: pos.html · customer.html · index.html
Run with: python3 -m http.server 8080
Build: v2.2.0-20260419
WHAT THIS APP DOES
A fully custom, two-screen point-of-sale system built specifically for Auggie's Joint at Central Market, York PA. No subscription, no cloud dependency, no internet required — runs entirely on your local network from a single folder.
🔐 Staff Login & Role-Based Access
Full-screen login modal on every load — username and PIN required. Two roles: Manager (full access) and Staff (Kiosk, Kitchen, Pickup, Order History only). Logged-in name stamped on every order and visible on kitchen tickets and Order History. Staff accounts managed in Settings — add, remove, and assign roles. Persists in localStorage.
🌭 Staff Kiosk Order Screen
Full menu browsing across all categories — Specials, Cheesesteaks, Burgers, Hot Dogs, Tater Tots, Walking Crunch, and Drinks. Multi-step ordering: protein/size choice → combo upsell (standard or upgraded tots) → toppings with standard pre-selection → Special Instructions. Per-item edit from the cart. Swipe or tap to collapse/expand the order panel.
👨‍🍳 Kitchen Queue
Live ticket board showing every active order. Color-coded status: pending, held, scheduled, ready. Full build printed on each ticket — protein choice, combo, standard toppings, extras added, toppings removed (★), special instructions. Mark Ready notifies the customer instantly. Bulk Mark All Ready / Clear Ready for rush. Delay incoming orders 3–30 min or close the queue entirely. Edit any live ticket back to the kiosk cart.
📦 Inventory Tracking
Track ingredient counts with per-item low-stock thresholds. Inventory auto-decrements when orders are placed — including 2× deduction for Double Meat selections. Ingredients linked to menu items via the Menu Manager edit modal. When count hits threshold: LIMITED badge + Last Call alert on kitchen screen. When count hits zero: items auto-86'd if Auto-86 is enabled. Manual ± editing, category organization, and blast alerts.
📋 Menu Manager
Full CRUD on every menu item: name, description, price(s) with labels, category, photo (upload or camera), Today's Special badge, drink flag, time restrictions (available from/to), secret menu flag, standard toppings per item, and linked inventory ingredients. 86 toggle per item. Archive to History and restore. Drag-free reordering. Five items ship with seeded demo photos (Auggie's Doggy, Mc Patty Burger, Hot Cheeto Dog, Pretzel Dog, Ryan's Super Secret Lasagna Burrgerr!) — replace any time via Edit → Upload Photo.
🧀 Toppings & Bundles
Master topping list with per-category enable/disable. $0.25 standard and $1.00 premium tiers plus custom pricing. 86 a topping directly — cascades to auto-86 any menu item with that topping as a standard. Custom bundles with optional flat price. Everything bundle built-in. Standard toppings editable per item in Menu Manager.
🎨 Custom Theme Editor
10 holiday/seasonal one-tap presets (Christmas, Halloween, 4th of July, St. Patrick's, Thanksgiving, Valentine's, Summer, Winter, Spring, Fall). Full custom theme builder: 9 color pickers, border radius, 2 font selectors, letter spacing, font scale, button/card/tab style, nav colors, kitchen ticket colors. Live preview. Save up to 5 named themes. Push to customer kiosk instantly via BroadcastChannel.
🤫 Super Secret Menu
Hidden items invisible on the normal menu. Staff access via 🤫 Secret button or tap-Specials shortcut (configurable 3–15 taps). Customer access via tap-Specials on the kiosk — full carnival overlay animation. Time-restricted availability. Full ordering flow same as regular items. Demo item: Ryan's Super Secret Lasagna Burrgerr! ($15) — thin layers of pasta, tomato sauce, ground beef, mozzarella, ricotta, parmesan & fresh basil.
👤 Customer Accounts & Loyalty
Optional sign-in by email, phone, or name. Order history, smart favorites, one-tap Reorder, member reward at configurable threshold. Loyalty Surprise Program: random reward popup (merch, discount, free item, free drink, VIP card, crude roast jokes, York PA facts). 20 built-in York PA history facts, add your own or search Google.
📱 Customer Kiosk App
Separate customer-facing screen (customer.html). Full branded ordering experience with sign-in, favorites, order history, secret menu, loyalty popup, and live order status. Syncs menu, inventory, settings, and theme from the POS instantly via BroadcastChannel + localStorage polling. Order-ready notification turns screen green. Mobile-optimized with slide-in order panel.
📊 Stats & History
Live orders/revenue/queue banner. Walk-up vs online revenue split. Custom trackable stat cards (Tips, Cash, Comps, Waste) with ± buttons. Full Order History with filters, CSV export, and Reorder. Pickup Board for counter display.
Technical: Single-file HTML/JS/CSS — no framework, no build step, no internet. Runs on any device with Chrome via python3 -m http.server 8080. Real-time sync via BroadcastChannel API + localStorage polling. All data stays on the local device. Three files: pos.html · customer.html · index.html.
AUGGIE'S
JOINT
Auggie's Joint
Central Market · York, PA
OUR WIENERS ARE HARD TO BEAT! AUGGIE'S JOINT CENTRAL MARKET YORK PA
Our Wieners Are Hard to BeatCentral Market · York, PA
0
orders today
$0
revenue
0
in queue
0 walk-up ($0) · 0 online ($0)
MEMBER Guest
Order
Tap items to add them
Kitchen Queue
Queue Open
Hold new orders
Future orders until
No active orders.
Ready for Pickup
Now Serving
No orders ready yet
Notification Log
Notifications appear here when orders are marked ready.
Order History — Today's Session
0
total orders
$0
total revenue
0
walk-up
0
online (kiosk)
Inventory & Stock Control

Track stock counts and low-stock thresholds. Edit inline. Add or remove items. Blast alerts notify regulars when something is nearly gone.

Item Count Alert at Category Status
Add Inventory Item
Topping Manager

Toggle which toppings are available for the selected category. Changes apply instantly to the kiosk.

Add New Topping to Master List
Menu Manager
🌭
HOLY WIENER!
You win an Auggie's shirt!