Skip to content
All work
03In DevelopmentApplication Development

Range Clock

A front-desk application for a shooting range: recording attendance, managing members' range time and keeping time-based activity records.

Illustrative artwork · not a screenshot
Illustrative artwork representing the project — not a screenshot of the product.
Type
Application Development
Year
2026
Status
Under active development and testing.
Stack
C#, ASP.NET Core 8 MVC, Entity Framework Core…

The problem

A shooting range has to track who is on the range, for how long, against what prepaid time — alongside guests, indemnities and compliance. On paper or spreadsheets, that is slow and error-prone at a busy front desk.

Objectives

  • 01Fast, reliable check-in and check-out for members and guests
  • 02Accurate tracking of prepaid range time
  • 03Compliance records and reporting in one place
  • 04A member-facing app alongside the staff portal

Technology

  • C#
  • ASP.NET Core 8 MVC
  • Entity Framework Core
  • SQL Server
  • JavaScript
  • PWA
  • xUnit

Approach

A server-rendered ASP.NET Core MVC application on SQL Server through Entity Framework Core, with plain JavaScript on the front end and no front-end build step. Business rules such as time balances live in pure, separately tested logic, and integration tests run against the real application with a throwaway database.

Key features

  • Member check-in and check-out by staff, PIN or in-browser face recognition
  • Prepaid range time, packages and bookings
  • Walk-in guests with indemnities
  • Compliance forms and training records
  • Email and WhatsApp reminders
  • A member app (PWA), a TV board and lane screens
  • Reports

Challenges

Biometric data, handled carefully

Face sign-in runs in the browser, and the stored face templates are encrypted at rest — sensitive data deserves more than default storage.

Logic you can prove

Range-time balances and lane rules are easy to get subtly wrong, so they're isolated as pure logic with their own automated checks.

Lessons learned

  • “Separating pure business rules from the web layer makes them far easier to test and trust.”
  • “Security and privacy decisions are cheapest at the start of a project.”

Links & access

No public demo or repository — this work is private to the organisation or still in progress. I'm happy to talk through the engineering in more detail.

Next project

Laundromat Management System