Skip to content
Mohamad Nour. home
ProfessionalClubnetic · 2024 – present

Golf-fleet operations platform

Two React and TypeScript apps for running golf-cart fleets: live maps, telemetry, geofenced zones, scorecards and marshal messaging, plus an Android shell that talks to the vehicle.

React apps architected
2
UI languages (EN, RU, TT)
3
Tablet support via Workbox
Offline

The problem

Course operators need to see every cart, draw restricted zones and message marshals in real time, while players use tablets mounted in carts that regularly lose connectivity on the course.

My role

Frontend architect for both web applications and author of the Android WebView shell and its JavaScript bridge.

Main workflows

  • Live Leaflet map with vehicle positions and telemetry
  • Zone drawing for restricted areas and speed limits
  • Digital scorecards and marshal messaging
  • In-cart tablet experience in English, Russian and Tatar

Technical decisions

  • Generated typed API clients and TanStack Query hooks from the OpenAPI spec with Orval, so backend changes surface as type errors instead of runtime bugs.
  • Validated data at the edges with Zod and kept shared client state in Valtio modules reused by both apps.
  • Used Workbox for offline tablet support instead of a native rewrite.
  • Wrapped the web app in a Kotlin WebView shell with a bidirectional bridge for GPS, battery, telemetry and speed limits, fed by decoded CAN/LIN messages.

Results

  • Two production applications sharing typed API and state modules.
  • Vehicle telemetry, GPS and speed limits available to the web layer through one bridge.
  • A Python utility decodes battery and motor-controller messages from a YAML signal map.
  • In production at Ak Bars Golf Club (Kazan) and Skolkovo Golf Club (Moscow).

Stack

  • React
  • TypeScript
  • TanStack Query
  • Orval
  • Zod
  • Valtio
  • Leaflet
  • Workbox
  • Kotlin

Limits & context

Employer product: no source code or screenshots are published. The cover image is illustrative.

“Having mentored him through several complex engineering projects over the years, I have witnessed his growth into an exceptional programmer with a broad technical profile and a strong aptitude for research. One of his most significant contributions was in the field of cybersecurity, where he designed and deployed multi-agent systems based on the Wazuh platform.”

Ruslan DamindarovHead of Robotics & AI Department, Rubetek RUSAll recommendations