Darshan
Sonawane

Available for work · 2026

Backend & Android engineer

Darshan Sonawane

I build backends that stay correct when twenty people click at once, and Android apps that handle money the way a payments team would.

Tests across repos
0
Oversold units
0
Double charges
0
Best line coverage
0

(01) — Principle

Pick the one guarantee that matters. Write the test that would catch its failure. Build until it's green. Keep it green.

No oversold unit. No double charge. No unbalanced journal. The numbers on this page are copied from each repository's own README.

(02) — Work

Eight repositories, ranked.

Position by line coverage. Purple is the session best. Open a row for the design decisions.

    (03) — Race control

    Three incidents. Try to cause them.

    Working models of real failures from the repositories. Break one, then switch on the fix. The simulation logic is unit-tested in this site's repo.

    Incident 01Ready

    20 buyers. 5 units. One second.

    Same product, same moment. How many orders does the shop accept?

    Strategy
    GridUnitsOversold
    Orders
    0
    Stock
    5

      From ecommerce-backend; an integration test on every commit.
      Incident 02Ready

      Pay ₹499. Lose the radio twice.

      The server charges you, then your 4G drops before "Paid" arrives. The app retries. Twice.

        From ecommerce-backend and PayFlow.
        Incident 03Books balanced

        The ledger can't be edited.

        Double-entry and append-only. Try to edit a row. Try to approve your own big transfer. Try to post a journal that doesn't balance.

        JournalAccountDebitCreditActions
        Trial balance
        From core-banking-ledger; Postgres triggers reject UPDATE and DELETE on the ledger.

        (04) — Driver

        I learn by building the hard version of the thing.

        The ledger instead of the to-do app. The race test instead of the screenshot. The state machine with all 49 transitions tested instead of a happy path. What I can show is systems that hold up when you push on them, and the tests that prove it.

        Backend
        Java 21, Spring Boot 4, Spring Security, Spring Batch, JPA/Hibernate, Flyway, PostgreSQL, MySQL, Redis, Kafka
        Android
        Kotlin, Jetpack Compose, MVVM, Hilt, Room, WorkManager, CameraX, ML Kit, Keystore, Firebase, Flutter
        Testing
        JUnit 5, Mockito, Testcontainers, Awaitility, ArchUnit, JaCoCo and Kover gates, golden tests, load and chaos simulations
        Delivery
        Docker multi-stage, docker compose, GitHub Actions, JitPack, Actuator, Micrometer/Prometheus

        (05) — Contact

        Two ways to work together.

        A — Freelance

        Well-scoped Spring Boot backends or Kotlin/Compose Android apps, with tests, Docker and CI from day one. Also: fixing concurrency, double-charge and data-integrity bugs in systems you already run. You get a repo you own, a README anyone can run, and a short walkthrough video.

        B — Full-time

        Backend or Android SDE roles on teams that care how systems behave under load. Comfortable owning a service end to end: schema, API, tests, deploy. Resume on request; the repositories above are the real portfolio.

        sonawanedarshan35@gmail.com
        GitHub