Notes from building.

Design decisions, system boundaries, and things I learned by following a question.

AsterGive AI
a phone.

AI agents / Android / System design

Giving AI an Android phone

What building Aster taught me about connecting AI agents to Android: observation, actions, device permissions, and keeping control understandable.

UnfoldMyMacThe lid
is the input.

Interaction design / macOS / Motion

Designing interactions around a laptop hinge

Design notes from UnfoldMyMac: using lid movement as input, making effects feel connected to hardware, and considering motion as system behaviour.

Game development / Game design / Strategy games

Why Narrow Front’s battles are decided off screen

Why Narrow Front keeps the rules of a battle apart from the 3D view, and what that choice changed for fairness, replays, testing and two-phone play.

Android / MCP / AI agents

Three ways into one Android phone

Why Aster lets an AI agent reach an Android phone in three ways, who each one is for, and the safety rules that stay the same underneath all of them.

Consumer AI / Product design / Privacy

The rules I designed OpenAlly around

The product principles behind OpenAlly: one place where work happens, agents that own their choices, storage boundaries people can check, and a companion kept separate.

macOS / Interaction design / Product design

When a laptop lid becomes an input

What UnfoldMyMac taught me about physical input: hardware that may not answer, effects that follow your hand, and an app that stays out of the way of real work.

Puzzle design / Game design / Mobile games

Designing a puzzle where every jam has a way out

The design thinking behind Siren Jam’s 160 levels: why every jam must be solvable, how move limits stay fair, and what checking each level frees playtesting to do.

Android / Browsers / AI assistants

Building an AI browser for Android that asks first

The product decisions behind TaffyGo: starting from Chromium, keeping the assistant inside rules people can see, and letting each person bring their own AI provider.

AI agents / Tool calling / Product design

Designing tool calls for agents that act

Lessons from Aster and OpenAlly on tool descriptions, arguments, results, errors and approvals when an AI agent can change things on a real device.

Sim racing / Telemetry / Debugging

Getting Forza Horizon 6 telemetry to a MOZA wheel

Why MOZA Pit House ignored Forza Horizon 6, how a small open-source bridge filled the gap, and what debugging it taught me about checking assumptions.

Unity / Mobile performance / Android

Keeping a Unity game cool on a phone

Practical Unity mobile performance habits from shipping two games: measure on the device, pace frames, budget pixels, hide what nobody sees and never show a black screen.

Game design / Mobile ads / Monetisation

Rewarded ads a player can say no to

How Narrow Front and Siren Jam use optional rewarded ads: what Google’s rules require, why a watched video must always pay, designing the no-ad state, and consent first.

Web performance / Static sites / SEO

A static site that checks itself

Why satyajiit.dev treats its build as two halves, one that makes the pages and one that reads them back, and the quiet failures that approach catches.

Product engineering / Indie development / Lessons

What shipping small products keeps teaching me

Lessons from taking TaffyGo, Aster, UnfoldMyMac, ZyadaShop and two Matterward Labs games from an idea to a store listing or a public repository.

Google Play / Android / Publishing

Getting a new app through Google Play’s closed testing requirement

What Google Play asks of new personal developer accounts before production access: 12 testers, 14 days, and an application that rewards an honest test.

Privacy / Google Play / App Store

Filling in Google Play Data safety and Apple App Privacy for a small app

How to answer Google Play’s Data safety form and Apple’s App Privacy details honestly, including what ads SDKs collect and both stores’ account deletion rules.

Game design / Accessibility / Mobile games

Accessibility basics for small mobile games

Practical accessibility for small mobile games: readable text, contrast, cues beyond colour, touch target sizes, captions, motion, haptics and difficulty.

Android / Kotlin / Learning

Learning Android development in 2026: a practical path

A practical path into Android development in 2026: Kotlin, Jetpack Compose, Google’s Android Basics course, the architecture guide, testing and a first release.

A good project often starts here.

Leave me
a what if.

All the places to find me ↗
To Satyajit

There’s an app I wish existed.

Tell me who would use it and what they are trying to do. A rough sketch is plenty to start with.

Talk to me on LinkedInLet’s follow the question.