Skip to content

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.