Varun Cumbamangalam
ProjectsAboutContact

Varun Cumbamangalam.

Senior IoT and Edge AI Engineer, AI Product Manager at OraLens Healthcare

ProjectsAboutContactPrivacy

© 2026 Varun Cumbamangalam. Built with Next.js and Tailwind CSS.

All Projects
LoadCell - Strength Machine Controller logo
MobileHardware

LoadCell - Strength Machine Controller

A gym machine you own should take a plan you wrote. This app makes that happen, carefully.

CRC32

Verified Packet Codec

0.5 kg

Resistance Steps

302

Reference Exercises

Tech Stack

KotlinJetpack ComposeBluetooth LERoomForeground ServiceSupabaseGradle

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.

Personal Project

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.

PythonFastAPIPlaywright

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.

PRD AuthoringFeature PrioritisationMulti-Persona Design

Sylars Work Manager - Agent Operations Workspace

End-to-end ownership

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.

TypeScriptNode.jsDocker Compose

Watchdog - Multi-cloud Observability Control Plane

End-to-end ownership

A privacy-minimised observability and safe-operations control plane spanning AWS, Azure, GCP, container hosts, registry storage, incidents, and exact human-approved cleanup plans.

TypeScriptNext.jsAWS Lambda

RenderBoard AI - Interior Design Rendering Platform

End-to-end ownership

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.

FastAPICeleryRedis

BidWave - Freelance Opportunity Engine

End-to-end ownership

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.

FastAPISQLAlchemySQLite

Swadhika Studios - Editorial Interior Portfolio

End-to-end ownership

A calm, editorial website for an interior-design and turnkey-delivery studio, built around full-bleed project photography, deliberate typography, and unhurried motion.

HTMLCSSJavaScript

BidWave - Freelance Opportunity Intelligence

Product Owner

A self-hosted opportunity engine that aggregates freelance listings, ranks fit in two stages, drafts tailored proposals, and keeps application decisions under human control.

Product DiscoveryPRD AuthoringRICE Prioritisation

Atelier CRM - Studio Readiness & Delivery

Product Owner

A status-first CRM for boutique interior-design studios, connecting client approvals, procurement readiness, installation milestones, and project delivery in one operating view.

Workflow ResearchStatus ModelPRD Authoring

Interested in this work?

I can walk through the architecture and code during an interview.

Get in Touch All Projects