Android Engineer ยท AI-Assisted Development ยท Building at Scale
๐ค Claude Code + Android = Ship FasterI'm Ritesh Bhatia, a Senior Android Engineer at Slack based in Toronto with 15 years of experience building mobile applications at scale. I've led teams of Staff and Senior Engineers delivering enterprise-grade features, architected migrations from legacy systems to modern Kotlin/Compose/Circuit patterns, and mentored engineers from intern to senior level. I care deeply about clean architecture, code quality, and building engineering cultures that scale alongside the codebase.
My approach sits at the intersection of technical excellence and leadership. I've driven cross-platform initiatives, established testing practices that achieved 95% coverage on critical paths, and run architecture reviews, lunch-and-learns, and office hours to share knowledge across teams. I believe in craftsmanship over perfection, knowledge empowerment over control, and ownership without territory.
Over the past year, AI has become a core part of how I work. I pioneered AI-assisted development practices on our Android team, engineering task-specific Claude agents and skills that align with our coding standards. This site documents that journey: the tools I use, the skills I've built, and the philosophy behind working with AI as a coding partner, not a replacement.
Thoughts on AI-assisted development, Android engineering, and building tools that make teams better. Follow on LinkedIn โ
MCP (Model Context Protocol) lets AI tools connect directly to the services I use. Instead of copy-pasting context between apps, my AI assistant can read tickets, pull designs, and query dashboards natively. Learn more about MCP โ
Read channels, search threads, create canvases, write tech specs and documentation directly in my AI workflow.
Read designs, extract layout data, generate code from components, and map UI components in my codebase to Figma components matching styles and formatting.
Search issues with JQL, pull ticket details, understand requirements without switching tabs while coding.
Review PRs, check CI status, manage repos, analyze security findings, and monitor Actions workflows from within the editor.
Query dashboards, check alerts, pull metrics from Prometheus or Loki. Essential when debugging production issues alongside code.
Skills are reusable prompts that activate when you type specific phrases. Built using Anthropic's SKILL.md architecture with YAML frontmatter, argument handling, and allowed-tools configuration. Browse the skill files to use them yourself.
| Skill | Command | Category | What it does |
|---|---|---|---|
| Compose Screen | /compose-screen |
Android | Scaffolds a new Compose screen with Circuit or ViewModel pattern, state, events, and preview |
| Gradle Module | /gradle-module |
Android | Creates a new Gradle module with proper build config and placement in the module hierarchy |
| Daily Standup | /daily-standup |
Productivity | Generates a standup update from recent git commits, open PRs, and current branch status |
| Changelog | /changelog |
Productivity | Generates a structured changelog from commits between two git references with categorization |
| CLAUDE.md Generator | /claude-md-generator |
AI Workflow | Analyzes any project and generates a tailored CLAUDE.md configuration file |
| MCP Setup | /mcp-setup |
AI Workflow | Interactive guide to set up MCP servers for Claude Code or Cursor with verification steps |
Principles I follow when working with AI as a coding partner.
The stricter your codebase patterns, the better AI output. Good architecture is a force multiplier for both humans and AI.
Use AI to catch mechanical stuff. Human judgment, context awareness, and team knowledge remain essential.
The real value of building AI tools isn't the tool itself. It's the conversations it starts with your team.
If you're writing the same prompt twice, package it into a skill with the right context baked in.
AI-generated tests should follow your team's actual testing conventions. In our case: fakes only, no mocks.
MCP servers let AI understand your full context: tickets, designs, dashboards, conversations. Not just the code.
Want to set up a similar workflow? Here's how to get started with MCP servers in Claude Code and Cursor.
The technologies I work with daily that shape how I use AI tools.
Circuit (UDF), Jetpack Compose, modular architecture with strict dependency hierarchy
Fakes (never mocks), Turbine for Flows, Truth assertions, Roborazzi snapshots
Kotlin, Dagger, SQLDelight, Coroutines & Flow, Gradle version catalogs