What is Sightscreen?
Sightscreen is a real-time cricket live-scoring platform. It pulls fixture and scoring data from external APIs, processes it into a clean display state, and pushes updates to users via an iOS app with Live Activities and push notifications. The platform has three main surfaces:- iOS App — SwiftUI app with Live Activities (ActivityKit) for ball-by-ball match tracking
- Backend API — Express/TypeScript service running on Node.js, responsible for data ingestion, processing, and push delivery
- Admin Panel — Vue.js web app for managing fixtures, leagues, and monitoring system health
Tech stack
| Layer | Technology |
|---|---|
| iOS | Swift, SwiftUI, ActivityKit, WidgetKit |
| Backend | Node.js, Express, TypeScript |
| Admin | Vue.js |
| Database | AWS DynamoDB |
| Auth | AWS Cognito (JWT) |
| External data | SportMonks Cricket API |
| Push | Apple APNs (notifications + Live Activities) |
What this docs site is for
This is an internal living architecture map. It exists so any developer working on Sightscreen can:- Quickly understand how the system fits together
- Find which service owns a given responsibility
- Trace data flow from external APIs to the user’s screen
- Debug production issues without reading every source file first
This is not public documentation. It is a working reference that should be updated as the system evolves.