← Back
🏀SwiftUI · iOS · REST API

Lakers Tactics

A native iOS app for the LA Lakers ecosystem — live game scores, season-average stat cards with animated bar charts pulled from a REST API, and an interactive half-court tactics board for diagramming plays.

SwiftSwiftUIasync/awaitMVVMREST APIUIKit bridgeCombine

Roster Season Averages

LeBron James

Forward

71 GP

PTS

25.7

REB

7.3

AST

8.3

Anthony Davis

Center

76 GP

PTS

24.7

REB

12.6

AST

3.5

Austin Reaves

Guard

79 GP

PTS

15.9

REB

4.4

AST

5.5

D'Angelo Russell

Guard

68 GP

PTS

14.3

REB

3.1

AST

6.0

Rui Hachimura

Forward

74 GP

PTS

13.7

REB

4.7

AST

1.4

Max Christie

Guard

62 GP

PTS

10.2

REB

3.3

AST

1.8

Gabe Vincent

Guard

58 GP

PTS

8.4

REB

2.1

AST

2.9

Live data via balldontlie.io API · averaged client-side per season

Tactics Board

12345

In the app: tap to place player markers · drag to draw motion paths · shake or tap Clear to reset

Architecture

Service Layer

Protocol-driven services (LakersStatsService, PlayerStatsService) with live balldontlie.io implementations and offline mocks for testing.

MVVM ViewModels

ObservableObject + @Published state machines (idle → loading → loaded/failed) driving pure SwiftUI views.

Data Processing

Client-side aggregation of per-game stat entries into season averages — grouped by player, filtered for meaningful sample sizes.

UIKit Bridge

UIViewRepresentable for precise tap-location capture on the tactics board, where SwiftUI TapGesture lacks coordinate data.

View source on GitHub