ADR 0001: Native Java client and ASP.NET Core API¶
- Status: Accepted
- Date: 2026-09-27
Context¶
The target is a Moto X XT1058 running Android 5.1 with a locked bootloader. The device should operate as a bedside display and DRM-free music player. Modern calendar, weather, sports, news, and photograph integrations will evolve more quickly than the device software.
Decision¶
Build a native Java Android application using platform Views with
minSdk = 22. Build the server as a .NET 10 / C# 14 ASP.NET Core Minimal API.
Exchange versioned JSON manifests and bounded image assets. Keep external OAuth
credentials and content-selection logic on the server.
Do not use a WebView or a JavaScript application on the phone. Defer an administration website until the device/API contract is established.
Consequences¶
- The phone remains small, deterministic, and testable on its old runtime.
- The server can use current integrations and image-processing libraries.
- Compatibility work is concentrated in one JSON/media boundary.
- Native Android lifecycle, caching, playback, and burn-in behavior must be implemented explicitly.
- A later administration client can reuse server-side application services.