LoadCell - Strength Machine Controller
A gym machine you own should take a plan you wrote. This app makes that happen, carefully.
Verified Packet Codec
Resistance Steps
Reference Exercises
Tech Stack
The problem
The machine's own app decides which exercises, modes and plans you can run. Someone who owns the hardware and wants their own programme, offline history and a stricter safety model has no supported way to get it.
The challenge
The BLE protocol was observed, not documented, so every command stays capability gated and the physical pedal remains the mechanical-stop confirmation. Resistance is clamped to a conservative 2.0 to 37.5 kg range in 0.5 kg steps. Rep detection reads position, velocity and measured resistance from the machine and has to be right without ever weakening the working-load limits. Android can kill the process mid-set, so set and rep persistence had to survive a restart.
System Design
Compose UI, ViewModels and domain services over a BLE device boundary, a foreground connection service and local SQLite, with optional cloud sync.
A modular, unidirectional Kotlin app: Compose screens send intents to ViewModels, which call domain use cases for the programme and workout engine, plan import (CSV, XLSX, DOCX, PDF), and the BLE device boundary. A verified CRC32 packet codec sits under BLE discovery, initialisation, notification and write paths. A foreground service owns the machine connection and a bounded minimum-load recovery request on restart. A Room database holds exercises, plans, sessions and per-rep metrics on the device as the source of truth, with an opt-in sync to self-hosted Supabase. An offline exercise reference catalogue of 302 records is vendored with attribution and licence notices.
Results
Custom exercises, standalone workouts, scheduled programmes, set and rep ranges, supersets, session history, PRs, backup and restore, and CSV/XLSX import are implemented and installed on a tablet. The app connects to the confirmed AroleapX and reads its identity over BLE; the software gate passed on 27 September 2026. Loaded use still waits on an attended hardware validation pass, and an iOS port has an approved PRD with the technical design under review.
More from Personal Project
Ummidvar - AI Job Application Agent
Autonomous, multi-profile job application agent: discovers roles across 7+ boards, ranks each 0-100 with a 5-component explainable scorer, generates hallucination-safe tailored applications via a Facts Graph, auto-submits through real ATS systems, tracks replies via Gmail, and flags visa-sponsorship signals across 5 countries - 286 tests, 11 modular packages, zero vendor lock-in.
Ummidvar - Autonomous Job Agent
Product vision and feature scoping for Ummidvar - an autonomous, multi-profile job application agent. Defined the 11-package modular architecture from a product perspective, prioritised the anti-hallucination Facts Graph as a non-negotiable product constraint, and scoped visa-sponsorship intelligence for 5 international markets.
Sylars Work Manager - Agent Operations Workspace
A self-hosted workspace for assigning repository work to AI agents with exact-SHA project context, isolated task environments, progress steering, and explicit human approval gates.
Watchdog - Multi-cloud Observability Control Plane
A privacy-minimised observability and safe-operations control plane spanning AWS, Azure, GCP, container hosts, registry storage, incidents, and exact human-approved cleanup plans.
RenderBoard AI - Interior Design Rendering Platform
An AI interior-design workspace: upload a floor plan, confirm rooms and scale, place furniture, approve each room, then render path-traced and diffusion images into a presentation board. Runs on Azure with scale-to-zero GPU workers.
BidWave - Freelance Opportunity Engine
A self-hosted pipeline that scrapes four freelance platforms, de-duplicates listings, ranks fit with a TF-IDF prefilter and an LLM rerank, drafts proposals, and holds every application in a human approval queue.
Swadhika Studios - Editorial Interior Portfolio
A calm, editorial website for an interior-design and turnkey-delivery studio, built around full-bleed project photography, deliberate typography, and unhurried motion.
BidWave - Freelance Opportunity Intelligence
A self-hosted opportunity engine that aggregates freelance listings, ranks fit in two stages, drafts tailored proposals, and keeps application decisions under human control.
Atelier CRM - Studio Readiness & Delivery
A status-first CRM for boutique interior-design studios, connecting client approvals, procurement readiness, installation milestones, and project delivery in one operating view.
Interested in this work?
I can walk through the architecture and code during an interview.