Dario Miličić

Senior engineer on the team · Senior Android Engineer, lead · Feb 2019 – Mar 2022

Stabilising a 100k-line consumer app, then leading the new B2B app

Fixed 50+ crashes and leaks in the consumer app, then led a team of four on the new Business app with 400+ automated tests.

50+
crashes and leaks fixed
400+
automated tests
4
developers led

Part 1 of 2

Consumer app: stabilising a legacy codebase

Schedulicity Consumer app: booking screens

Challenge

The Consumer app was an established legacy app with hundreds of thousands of users and a 100k+ line codebase that needed stabilising.

What I did

  • Dived into the 100k+ line codebase to fix bugs and performance issues.
  • Used static analysis tools (Facebook Infer, PMD, FindBugs) to identify and fix over 50 crashes and memory leaks.
  • Migrated parts of the app to Kotlin.

Outcome

  • A stable app for an existing user base of hundreds of thousands.

Stack

  • Android
  • Java
  • Kotlin
  • XML
  • ConstraintLayout
  • RxJava
  • Facebook Infer
  • PMD
  • FindBugs

Part 2 of 2

Business app: architect and lead

Schedulicity Business app: the custom calendar view

Challenge

Schedulicity's brand-new B2B app needed an architect and lead developer while the team also built its e-commerce app.

What I did

  • Spearheaded development of the Business app using MVP/MVVM while leading a team of four developers.
  • Implemented a fully featured checkout flow with payments, discounts, deals and promotions across dozens of screens.
  • Helped create the custom calendar view with pinch-to-zoom, custom navigation and colourful calendar items.
  • Created a form validation framework that made the many forms in the app easy to implement.
  • Covered the app with integration and unit tests: over 400 automated tests in the suite.

Outcome

  • A B2B app shipped to the Play Store with a test suite the team still relies on.
  • Faster feature work for the whole team thanks to shared frameworks.

Stack

  • Kotlin
  • Jetpack Compose
  • XML
  • ConstraintLayout
  • RxKotlin
  • Coroutines
  • Dagger
  • Retrofit
  • Espresso
  • Mockito