Range Clock
A front-desk application for a shooting range: recording attendance, managing members' range time and keeping time-based activity records.
- 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