Skip to main content

System Overview

Linkr is built as a three-tier distributed system connecting users, the central network, and community-operated hotspots. This document describes the high-level architecture and how the components interact.

The Three-Lane Architecture

┌─────────────────────────────────────────────────────────────────────────────┐
│                              USER LANE                                       │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐                       │
│  │  Mobile App  │  │   Web App    │  │  Third-party │                       │
│  │  (iOS/And)   │  │  (Browser)   │  │    Clients   │                       │
│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘                       │
│         │                 │                 │                                │
└─────────┼─────────────────┼─────────────────┼────────────────────────────────┘
          │                 │                 │
          ▼                 ▼                 ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                           LINKR NETWORK LANE                                 │
│  ┌─────────────────────────────────────────────────────────────────────┐    │
│  │                         API Gateway                                  │    │
│  │            (Authentication, Rate Limiting, Routing)                  │    │
│  └─────────────────────────────────────────────────────────────────────┘    │
│         │              │              │              │                       │
│         ▼              ▼              ▼              ▼                       │
│  ┌───────────┐  ┌───────────┐  ┌───────────┐  ┌───────────┐                 │
│  │  Hotspot  │  │  Coverage │  │  Rewards  │  │  Session  │                 │
│  │  Registry │  │   Engine  │  │   Engine  │  │  Manager  │                 │
│  └───────────┘  └───────────┘  └───────────┘  └───────────┘                 │
│         │              │              │              │                       │
│         └──────────────┴──────────────┴──────────────┘                       │
│                                │                                             │
│                                ▼                                             │
│                    ┌────────────────────┐                                   │
│                    │ Telemetry Processor│                                   │
│                    │   (Background)     │                                   │
│                    └────────────────────┘                                   │
└─────────────────────────────────────────────────────────────────────────────┘
          │                                              │
          ▼                                              ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                            HOTSPOT LANE                                      │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐                       │
│  │   Hotspot A  │  │   Hotspot B  │  │   Hotspot N  │                       │
│  │  (Home)      │  │  (Business)  │  │  (Outdoor)   │                       │
│  └──────────────┘  └──────────────┘  └──────────────┘                       │
└─────────────────────────────────────────────────────────────────────────────┘

Component Details

User Lane

The user lane encompasses all client applications that interact with the Linkr Network.

Mobile Applications

Native iOS and Android apps provide the primary interface for both users and operators:
  • Discovery: Browse the coverage map, search for hotspots
  • Connection: Authenticate and connect to hotspots
  • Operator Dashboard: Manage hotspots, view metrics, track rewards
  • Account Management: Profile, settings, notifications

Web Application

Browser-based access to core functionality:
  • Coverage Map: Full-featured map with filtering and search
  • Dashboard: Detailed analytics for operators
  • Account Settings: Profile and configuration management
  • Admin Tools: For internal operations (not public)

Third-party Clients

External applications built on the Linkr API:
  • Coverage data integrations
  • Automated hotspot management
  • Analytics and monitoring tools

Linkr Network Lane

The central coordination layer that processes all requests and maintains system state.

API Gateway

All client requests pass through the API Gateway:
FunctionDescription
AuthenticationValidates JWT tokens, API keys
Rate LimitingPrevents abuse, ensures fair access
Request RoutingDirects requests to appropriate services
Response CachingCaches frequently-requested data
LoggingRecords all requests for audit and debugging

Hotspot Registry

Maintains the authoritative record of all hotspots:
  • Registration and verification workflow
  • Hotspot metadata (location, configuration, status)
  • Operator associations and permissions
  • Device linking and management

Coverage Engine

Computes and maintains the global coverage map:
  • Aggregates location data from all hotspots
  • Calculates coverage estimates based on device specs and telemetry
  • Generates map tiles for client rendering
  • Updates coverage data in near-real-time

Rewards Engine

Handles all rewards-related logic:
  • Issues proof-of-availability challenges
  • Validates challenge responses
  • Calculates rewards based on performance metrics
  • Maintains reward balances and settlement records

Session Manager

Tracks user connections to hotspots:
  • Issues session tokens for authenticated connections
  • Monitors active sessions
  • Records session metrics (duration, bandwidth)
  • Handles session termination and cleanup

Telemetry Processor

Background service that ingests and processes data from hotspots:
  • Receives heartbeats and telemetry reports
  • Validates and normalizes incoming data
  • Updates hotspot status based on telemetry
  • Feeds data to other services (Coverage, Rewards)

Hotspot Lane

The distributed network of community-operated hotspots. Each hotspot runs lightweight software (or uses standard protocols) to:
  • Respond to health checks and challenges
  • Report telemetry data periodically
  • Authenticate connecting users
  • Apply access policies (bandwidth limits, session duration)
Hotspots communicate with the Linkr Network over HTTPS. No special protocols or ports are required.

Core Flows

Hotspot Registration Flow

Operator                    Linkr Network                   Hotspot
   │                              │                            │
   │ 1. Create hotspot entry      │                            │
   ├─────────────────────────────►│                            │
   │                              │                            │
   │ 2. Verify location (GPS)     │                            │
   ├─────────────────────────────►│                            │
   │                              │                            │
   │ 3. Link device               │                            │
   ├─────────────────────────────►│                            │
   │                              │ 4. Test connectivity       │
   │                              ├───────────────────────────►│
   │                              │                            │
   │                              │ 5. Confirm linkage         │
   │                              │◄───────────────────────────┤
   │ 6. Registration complete     │                            │
   │◄─────────────────────────────┤                            │
   │                              │                            │
   │                              │ 7. Begin telemetry         │
   │                              │◄───────────────────────────┤

User Connection Flow

User                        Linkr Network                   Hotspot
  │                              │                            │
  │ 1. Request nearby hotspots   │                            │
  ├─────────────────────────────►│                            │
  │                              │                            │
  │ 2. Return hotspot list       │                            │
  │◄─────────────────────────────┤                            │
  │                              │                            │
  │ 3. Request connection token  │                            │
  ├─────────────────────────────►│                            │
  │                              │                            │
  │ 4. Issue session token       │                            │
  │◄─────────────────────────────┤                            │
  │                              │ 5. Notify of session       │
  │                              ├───────────────────────────►│
  │                              │                            │
  │ 6. Connect with token        │                            │
  ├───────────────────────────────────────────────────────────►│
  │                              │                            │
  │ 7. Authenticate & allow      │                            │
  │◄───────────────────────────────────────────────────────────┤
  │                              │                            │
  │              ◄─── Active Session ───►                     │

Rewards Loop

Linkr Network                                              Hotspot
     │                                                        │
     │ 1. Send challenge                                      │
     ├───────────────────────────────────────────────────────►│
     │                                                        │
     │ 2. Return signed response                              │
     │◄───────────────────────────────────────────────────────┤
     │                                                        │
     │ 3. Verify response                                     │
     │ (internal)                                             │
     │                                                        │
     │ 4. Record availability proof                           │
     │ (internal)                                             │
     │                                                        │
     │         ... repeat every challenge interval ...        │
     │                                                        │
     │ 5. Calculate period rewards                            │
     │ (internal, based on all proofs + performance)          │
     │                                                        │
     │ 6. Credit operator account                             │
     │ (internal)                                             │

Infrastructure

Deployment

The Linkr Network runs on cloud infrastructure with:
  • Multiple regions: Services deployed across geographic regions for latency and redundancy
  • Auto-scaling: Capacity adjusts based on load
  • Database replication: Primary-replica setup for critical data stores
  • CDN: Static assets and map tiles served from edge locations

Data Stores

StorePurposeType
Primary DBHotspots, users, sessionsPostgreSQL
Time-series DBTelemetry, metricsTimescaleDB
CacheSessions, rate limits, hot dataRedis
Object StorageMap tiles, static assetsS3-compatible
SearchHotspot discovery, geospatialElasticsearch

Reliability

  • Health monitoring: All services report health status
  • Alerting: Automated alerts for anomalies and failures
  • Incident response: On-call rotation for critical issues
  • Disaster recovery: Regular backups, tested restore procedures

Security Model

See Security and Privacy for detailed security architecture.

Next Steps