KS Karan Sharma
Karan Sharma

Building
software that works for everyone.

Now
Staff Software Engineer · Sydney
Stack
Kotlin · Compose Multiplatform · Android · iOS · Ktor · Docker · AI tooling
Craft
KRAIL · Sumi · Huezoo, shipped & open source
Lives
Sydney, Australia · ex-Bangalore

The flagship / KRAIL

Open source. Accessible by design. Made with genuine care.

Live on iOS & Android

KRAIL: Sydney public
transport, made simple.

Sydney's public transport is complicated enough. KRAIL brings real-time trains, buses, ferries, metro, and light rail into one clean, accessible app. Kotlin Multiplatform, open source, live on both stores.

KRAIL: saved trips home screen
KRAIL: live departure board
KRAIL: dark mode home screen

Lately / in motion

A snapshot of what I'm building, shipping, and reading.

Working on

Secure mobile platforms

Leading mobile platform and AI tooling work across a large Android org: shared architecture, engineering standards, and internal agents and MCP servers.

staff engineer · since 2024
Shipping

KRAIL: Sydney transit

Open-source iOS + Android in Kotlin Multiplatform. Live on both stores. Presented at Google I/O Extended Brisbane 2025.

krail.app · maintainer
Latest post

Best practices for designing Jetpack Compose APIs

The patterns I wish I'd known three migrations ago.

aug 2025 · 9 min

Recent writing / 4 latest

Engineering posts on Kotlin, Compose, security, and accessibility.

Apps I've built and genuinely care about.

Consumer apps and open-source libraries in Kotlin Multiplatform. Started from real frustrations: transit apps that fail commuters who need accessibility, games that deserve better craft, tools that should just work.

KRAIL / flagship

Sydney public transport for iOS & Android.

Live on iOS & Android

Built for every commuter on the platform.

Sydney public transport shouldn't be stressful. KRAIL covers trains, buses, ferries, metro, and light rail: real-time, accessible, and open source. Kotlin Multiplatform, presented at Google I/O Extended Brisbane 2025.

KRAIL: saved trips home screen
KRAIL: live departure board
KRAIL: dark mode home screen

The lab / shipped

Small, finished apps. Each built in Kotlin Multiplatform for iOS and Android.

Live on iOS & Android

Sumi: Sudoku built around stillness.

A daily Sudoku that respects your attention. Ink on paper aesthetic, five difficulty levels, streak tracking. No noise, no ads, no dark patterns. Just the puzzle.

Sumi: home screen
Sumi: puzzle screen
Live on iOS & Android

Huezoo: train your eye to spot the difference.

A color-perception game built around Delta-E science. Identify the outlier from near-identical hues. Starts forgiving, gets quietly brutal. Ranked by accuracy, not just speed.

Huezoo: home screen
Huezoo: gameplay

Astraman soon

Something new, in the workshop. Kotlin Multiplatform, like the rest.

iOSAndroid
Coming soon

Open source / selected repos

Libraries and apps I maintain in the open. Everything else lives on GitHub.

A decade. Ten companies. One craft.

Staff Software Engineer at Commonwealth Bank, building the CommBiz business-banking app from the ground up and leading AI strategy for the Android org. Before this: Cash App, Afterpay, Telstra, Zip, and Qualcomm. I also build and maintain KRAIL, Sumi, and Huezoo. I write about Kotlin, Compose, and AI.

Years shipping

10+

Since 2015: Android, then iOS, now Kotlin Multiplatform everywhere.

Companies

10

Banks, fintechs, telcos, OEMs and healthcare startups. Two continents.

Apps shipped

3

KRAIL, Sumi, and Huezoo. Open source and actively maintained.

Experience / 2015 → now

Each row is a real engagement. Newest first.

2024 to now
Commonwealth Bank
Staff Software Engineer
Built the CommBiz mobile app from scratch. Defined the architecture, tech stack, and engineering standards for CBA's flagship business-banking app on Android.
Sydney
  • Built the CommBiz mobile app from scratch. Defined the architecture, tech stack, and engineering standards for CBA's flagship business-banking app on Android.
  • Lead AI strategy and AI readiness across the Android org. Built internal MCP servers, agents, and skills (including a design-system MCP) that automate Figma-to-code, UI generation, repetitive dev work, and end-to-end testing.
  • Designed and built foundational mobile infrastructure used across Android squads: session management, dependency injection, core networking, encrypted storage, performance monitoring, analytics, and end-to-end testing frameworks.
  • Developed core business-banking features end-to-end, such as account management and secure multi-step authorization flows for high-value payments, with push-notification based authentication.
  • Lead technical direction for the Android team across architecture, code review, and engineering practices. Recently started contributing to backend repositories to improve mobile and backend contracts.
  • Wrote a Jetpack Compose linting system that enforces architectural and design-system standards across teams, reducing review cycles.
  • Train engineers across the org on AI-assisted development. Contribute to the internal design system and accessibility tooling used by all Android teams.
On Google Play
2022 to 2024
Block · Cash App
Senior Software Engineer
Led end-to-end delivery of the Cross-Border Payments feature, using server-driven UI with Kotlin and Jetpack Compose, working closely with design and product on complex payments flows.
Sydney
  • Led end-to-end delivery of the Cross-Border Payments feature, using server-driven UI with Kotlin and Jetpack Compose, working closely with design and product on complex payments flows.
  • Built accessible, WCAG 2.1-compliant design systems, driving the migration from legacy view-based UI to Jetpack Compose (toolbars, buttons, and custom layouts like the keypad and amount views).
  • Proposed and built a Storybook demo app for the design system, as a single source of truth.
  • Helped grow accessibility culture with a11y tooling, documentation, and testing frameworks used by teams across the org.
  • Contributed to hiring and team culture through interviews, talks, and events, and represented the team at the Mobile Summit in San Francisco.
On Google Play
2021 to 2022
Afterpay
Senior Software Engineer
Built the app onboarding and KYC navigation framework.
Sydney
  • Built the app onboarding and KYC navigation framework.
  • Built the design system and UI components with the design team, including adaptive layouts for small and large screens.
  • Built reusable, complex UI elements in Jetpack Compose: parallax effects, calendars, and overflow layouts.
  • Set up networking and state management with Kotlin Flows and Coroutines.
2020 to 2021
Telstra
Senior Android Developer
Rebuilt the Payments tab and improved its load performance by refactoring and building UI frameworks for the team.
Sydney
  • Rebuilt the Payments tab and improved its load performance by refactoring and building UI frameworks for the team.
  • Led the migration from deprecated Kotlin synthetics to Jetpack View Binding.
  • Contributed to the design system and mentored the team on building reusable components.
  • Presented on Jetpack Compose and Coroutines in team huddles.
  • Built accessible custom views (Talkback, Voice Control, Keyboard Control) and helped reach an AA rating, working toward AAA per WCAG 2.1.
On Google Play
2020
Qantas
Android Engineer
Built the native chat feature using MVP architecture, RxJava, and WebSockets for real-time communication.
Sydney
  • Built the native chat feature using MVP architecture, RxJava, and WebSockets for real-time communication.
  • Contributed reusable components to the design-system library for the chat app's UI.
On Google Play
2019 to 2020
Zip
Android Developer
Built the in-store payments feature using Kotlin and RxJava.
Sydney
  • Built the in-store payments feature using Kotlin and RxJava.
  • Built the UI with the Anko declarative framework.
  • Worked with design and product to deliver feature work.
On Google Play
2019
myBeepr
Android Engineer, Healthcare
Worked on the myBeepr clinical communications app for healthcare teams on Android.
Sydney
  • Worked on the myBeepr clinical communications app for healthcare teams on Android.
On Google Play
2018 to 2019
Qualcomm
Software Engineer
Developed and tested OTA upgrades for Qualcomm chipset devices (msm8909, msm8916, sdm660, msm8998, sdm835, sdm845, msm8953, msm8937).
Bangalore
  • Developed and tested OTA upgrades for Qualcomm chipset devices (msm8909, msm8916, sdm660, msm8998, sdm835, sdm845, msm8953, msm8937).
  • Worked with clients such as Razer, Square, and Reliance to launch phones with the latest Android OS.
2017
Micromax
Android Engineer
Built Android system apps for entry-level handsets.
Bangalore
  • Built Android system apps for entry-level handsets.
2015 to 2017
Portea Medical
Android Developer
Built the app from scratch: social login, multiple-account linking, and account switching.
Bangalore
  • Built the app from scratch: social login, multiple-account linking, and account switching.
  • Built the patient booking and medicine-ordering flow, using Google Location libraries to show assigned clinicians on a map in real time. Built the UI with Material Design.
  • Tracked clinician location and abnormal device activity.
  • Created a Maven repository and published the library as an AAR.
On Google Play

Mentoring & speaking / lifting teams

Sharing what I learn, and helping the engineers and teams around me grow.

Compose Multiplatform to the City

Google I/O Extended · Brisbane · Jun 2025

AI-assisted development

Mentoring & talks for engineering teams

Notes from the work. Mostly Kotlin.

Engineering posts on Kotlin, Compose, security, accessibility, and the parts of the job nobody schedules.

Featured / recent pick

The one I'd hand a new engineer joining a Compose codebase.

Jetpack Compose
Featured · Aug 2025

Best practices for designing Jetpack Compose APIs

What I wish I'd known three migrations ago: modifier hygiene, slot APIs that age well, and designing for the engineers who'll inherit your code two years from now.

9 min read Kotlin · Compose Read post →

All posts / 9 total

Newest first.

Frames from
here and there.

A few photos from places I've wandered through.

Travel photograph
Travel photograph
Travel photograph
Travel photograph
Travel photograph