Software Built Around Your Business

Rhino LED Lights

A Desktop Ordering Tool for Dealers Who Live on One Machine

Dealer staff work from one computer all day and reorder constantly. Rather than send them back to a browser each time, dealer ordering was given its own application - installed on the machine, opened like any other tool, and connected to the same catalog, pricing and order history as the website.

The Problem

Rhino's dealers are shops, and shop staff do not live in a browser. They work from one machine at the counter, with a handful of programs open, and they reorder constantly. Ordering through a website means finding the tab, signing in again, and working through a store designed for consumers who visit once.

For someone placing orders every week that friction adds up: the same products looked up the same way, the same login, the same navigation - and a phone call to the office whenever something does not behave as expected.

What dealer staff wanted was ordering that behaves like a tool they own: installed on their machine, open when they need it, remembering who they are - while still running against the same catalog, the same pricing and the same order history as everything else.

What We Built

A desktop application for Windows, macOS and Linux, installed like any other program
Sign-in that persists, so staff are not starting each day at a login screen
The product catalog at that dealer's own pricing, with search, filters and favorites
A cart and checkout with live shipping rates and saved payment methods
Order history and status, so staff can check an order without calling anyone
An account view showing dealer details, pricing settings and payment methods
Connection status handling for shops where the internet is not reliable

What Changed

  • Dealer staff order from a tool that is already open rather than hunting for a browser tab.
  • They stay signed in, so a repeat order does not start with a login screen.
  • Favorites and search make reordering the same products quick instead of repetitive.
  • The prices on screen are that dealer's prices, so nothing needs checking with the office first.
  • Order status is something staff look up themselves rather than phone about.
  • The app runs against the same platform as the website, so orders and history stay in one place.
  • When the shop network drops, the app says so plainly instead of failing quietly.

What This Could Do in Your Business

Giving people who use your system every day a tool built for that, rather than a site built for occasional visitors.
One application covering Windows, macOS and Linux from a single codebase.
A signed, installable application you can hand to customers, dealers or staff.
Reusing the API behind your website, so a second interface does not become a second system.
Software that behaves sensibly when the connection is unreliable.
Ordering, account management and history placed where the work actually happens.

Why a Desktop App and Not Just the Website

The case for building a second front door
The Machine Is the Workplace

Dealer staff spend the day on one computer. Anything they use often needs to be there with everything else they use often - not behind a browser, a bookmark and a login prompt.

Reordering Is Not Shopping

A consumer store is built for someone deciding what to buy. A dealer already knows. Favorites, search and order history are the whole job, so the interface is built around finding known products fast and getting them ordered.

Whatever They Already Run

Dealers run Windows, Macs and the occasional Linux machine. One codebase covers all three, so which computer sits on the counter never became a question anyone had to ask.

The Same System Underneath

The app is a different front door to the same platform: the same catalog, the same dealer pricing rules and the same orders as the main e-commerce system. There is no second set of data to keep in step.

Do your customers or staff live in one tool all day?

If people use your system every day, the way they reach it matters. Tell us who uses yours, how often, and what they are doing when they get stuck.

Under the Hood

For the technical evaluators: how this was actually built.
Rhino LED Lights 2025 In Production

Application Capabilities

What ships in the desktop client
Authentication

API key authentication with credential storage handled by the operating system, plus auto-login and "Remember Me" so dealer staff stay signed in between sessions.

API Key Auth Secure Storage Auto-Login
Product Catalog

Catalog browsing with real-time search, category filtering, pagination, a favorites system and dealer-specific pricing applied server-side.

Real-time Search Category Filters Favorites
Cart & Checkout

Cart with quantity management, shipping rate calculation, payment method integration and order confirmation, all driven through the platform API.

Cart Management Shipping Rates Payment Integration
Order Management

Order history with status monitoring, detailed order views and integration with backend payment processing, so the app shows the same order state as the web platform.

Order History Status Tracking Order Details
Network Status Monitoring

Connectivity detection with automatic retry, offline handling and clear status indicators, so a dropped shop connection is visible rather than silent.

Real-time Detection Auto Retry Offline Handling
Environment Configuration

API endpoint management with environment detection and configurable endpoints, so the same build can be pointed at development or production without a separate release.

Auto Detection Configurable Environment Aware
Account Management

Account dashboard showing dealer information, pricing settings, payment methods and account preferences, pulled from the same records the web portal uses.

User Profile Settings Payment Methods
Interface

Responsive interface built with Bootstrap 5 and CSS variables for theming, with sidebar navigation, loading states and progress indicators throughout.

Bootstrap 5 Responsive Theming
Packaging & Distribution

Application packaging with code signing support for Windows, DMG creation for macOS and AppImage for Linux, built through automated scripts.

Code Signing Multi-Platform Auto Build

How It Was Built

Implementation approach
Cross-Platform Desktop
  • Electron Framework: One codebase producing native desktop builds for Windows, macOS and Linux
  • IPC Communication: Inter-Process Communication between main and renderer processes over defined channels
  • Context Isolation: Context isolation and preload scripts rather than direct Node access in the renderer
  • Application Packaging: electron-builder configured for multi-platform distribution with code signing
Front End
  • Vanilla JavaScript: Application logic written without framework dependencies, keeping the bundle small
  • Bootstrap 5: Responsive UI built from Bootstrap components and utilities
  • CSS Architecture: CSS variables for theming and maintainable styling
  • State Management: Custom state management for catalog, cart and account data
API Integration
  • RESTful APIs: Integrated with the Laravel platform API used by the dealer portal
  • Authentication: Bearer token authentication with credentials held in OS-level secure storage
  • Error Handling: Error handling that surfaces plain-language messages instead of raw failures
  • Network Management: Network status monitoring and retry logic for unreliable connections
Security
  • Secure Storage: Credentials stored using operating system APIs rather than app-level files
  • HTTPS Communication: Enforced HTTPS for all backend communication
  • Code Signing: Code signing configured for Windows executables
  • Security Headers: Content Security Policy and web security defaults applied in the renderer

Implementation Highlights

Decisions worth calling out
Performance
  • Pagination for large product catalogs
  • Debounced search input to limit API calls
  • Lazy loading and on-demand data fetching
  • State management tuned to minimize re-renders
Maintainability
  • Environment-aware API endpoint configuration
  • Error handling and logging throughout
  • Modular code architecture
  • Automated build scripts for all platforms
Day-to-Day Use
  • Sidebar navigation between catalog, cart, orders and account
  • Network status indicators
  • Loading states and progress indicators
  • Favorites for quick access to repeat products
System Integration
  • Runs against the Laravel platform backend
  • Payment processing via the platform's Stripe integration
  • External links opened in the system browser
  • Application menu with platform-specific behavior

Architecture & Design Patterns

How the application is organized
Separation of Concerns

Clear separation between the main process (Node.js) and the renderer process (web technologies), communicating over defined IPC channels.

Modular Architecture

Distinct modules for authentication, product management, cart operations and order processing, so each area can change independently.

Security First

Context isolation, credential storage through OS APIs, enforced HTTPS and Content Security Policy headers in the renderer.

Technical Stack

What the application is built with
Electron Framework Vanilla JavaScript (ES6+) Bootstrap 5 CSS3 & CSS Variables HTML5 Node.js electron-builder RESTful API Integration

The Capability Behind This Project

If any of that sounded like your business, this is the service it falls under.

Is your software in the wrong place for the people using it?

Sometimes the answer is a desktop app, sometimes it is a phone, sometimes it is removing a step nobody needed. Show us how the work happens today and we will tell you which one it is.