Hi, I'm Udani πŸ‘‹

I build to learn.
I learn to build better.

I'm a senior mobile engineer who builds native iOS and Android products β€” mostly Swift and SwiftUI, with solid ground in Kotlin and Jetpack Compose. I like learning a platform by building with it, and sharing what I find along the way.

  • iOS & Swift
  • Android & Kotlin
  • AR / Spatial
  • AI / ML

The journey

How the engineering interests evolved, one chapter at a time

What I'm exploring now

EXPLORENow

Apple Intelligence & App Intents

Currently exploring on-device intelligence through Apple Intelligence and App Intents, alongside deeper AI-assisted engineering workflows.

Teaching & sharing

SHARE11/2025

Visiting Lecturer, Colombo International Campus

Delivering undergraduate modules in Programming and Software Engineering, and guiding students on project implementation, design patterns, and career readiness.

Swift Concurrency / AI-assisted development

EXPLOREOngoing Β· approximate

Swift Concurrency + AI-assisted workflows

Leaned on Swift Concurrency and Xcode Instruments for responsive UI, and integrated Cursor and Claude Code into the development lifecycle for scaffolding, test generation, and refactoring β€” without losing architectural discipline.

Technical leadership

WORKOngoing Β· approximate

Senior Software Engineer / Lead Mobile Engineer

Lead mobile technical decisions across projects β€” architecture patterns, development standards, and code review β€” while mentoring 10+ junior developers.

AR / ML / spatial experiences

EXPLOREOngoing Β· approximate

ARKit visualization & Core ML tagging

Wrapped ARKit in UIViewRepresentable to bring AR furniture visualization into SwiftUI, and used Core ML + Vision to auto-tag and categorize screenshots by content.

Modern Swift / SwiftUI / architecture

LEARNOngoing Β· approximate

Combine-driven MVVM

Adopted Combine for network handling under MVVM, debounced search-and-suggest inputs, and merged multiple publishers with Zip and CombineLatest2 for realtime field validation.

Exploring Apple technologies

EXPLOREOngoing Β· approximate

CloudKit private and public containers

Synced user photos into a private CloudKit container, and built a separate CloudKit-backed library to keep sensitive configuration out of the main app bundle.

EXPLOREOngoing Β· approximate

CoreBluetooth for IoT peripherals

Used Bluetooth 5.0 Low Energy over CoreBluetooth for local, low-latency communication with connected hardware β€” the backbone of RITA's sensor network.

EXPLOREOngoing Β· approximate

Core Data ⇄ JSON synchronization

Built mechanisms to convert Core Data entities into JSON and back, handling nested relationships and keeping local storage and server state in sync without hurting app performance.

Building real products

BUILD2018 β€” ongoing Β· approximate

Architected 20+ native iOS and Android applications

Across delivery and logistics, fintech, IoT, ride-hailing, travel, news, retail, and internal enterprise tools β€” making the architecture, modularity, performance, and platform calls for each one.

Becoming a professional engineer

WORK03/2018

Joined Fixel Digital as a Software Engineer

Started at Fixel Digital (Pvt) Ltd, working across native iOS and Android application development β€” the beginning of 8+ years in mobile engineering.

LEARN2017–2018

BEng Software Engineering, First Class Honours

Completed a Bachelor of Engineering in Software Engineering at London Metropolitan University with First Class Honours.

Where it started

LEARN2015

Higher National Diploma in Software Engineering

Started the HND in Software Engineering at ESOFT Metro Campus, graduating with a Merit in 2017. This is where the fundamentals were laid.

Selected work

A few products that show different sides of the job

Twenty-plus native apps later, these are the ones that best show the range β€” on-device ML, IoT over Bluetooth, two-sided marketplaces, fintech security, and a video player that had to be stricter than usual.

Drive Me Home app screenshot

01

Drive Me Home

iOS & Android

A two-sided ride app pairing riders with sober drivers, built for both ends of the trip

Designing two apps that share a domain model but serve opposite jobs: one is about confidence and safety in a vulnerable moment, the other is about clarity and trust in day-to-day earnings.

Live trip state (matching, driver en route, in progress, completed) drives the UI on both sides, with map-based tracking, a package of in-trip safety tools (SOS, live trip sharing, masked calling) on the rider app, and a weekly earnings breakdown with trip-level detail on the driver app.

  • Maps & Location
  • Real-time trip tracking
  • SwiftUI
Mixology app screenshot

02

Mixology

iOS & Android

A cocktail recipe app that helps you find the right drink for the moment

Letting people browse the same recipe library from completely different angles β€” by occasion (party, brunch, nightcap), by spirit base, by flavour profile, or by a tag they just searched β€” without duplicating the underlying data.

Recipe detail pages show glassware, strength, prep time, ABV, and a full ingredient list per serving; browsing surfaces the same recipes through occasion grids, tag search, and category filters.

  • REST APIs
  • Search & filtering
CINC app screenshot

03

CINC

iOS

An internal company hub for news, polls, flash sales, and daily mini-games

Mixing genuinely different content types β€” a podcast feed, live polls, time-boxed flash sales, and small mini-games (word search, memory match, daily quiz) β€” inside one consistent home screen.

Polls track vote counts and per-option percentages in real time; flash sales run on a countdown against a discount window; games are self-contained modules launched from a shared hub.

  • REST APIs
  • Push content
Ava app screenshot

04

Ava

iOS & Android

Premium and exotic car rental, from search to a priced booking

Pricing that changes with rental length (1–3 days vs. 4–7 vs. 8+) and options like a deposit-free toggle, shown clearly before the customer commits to anything.

Search and browse by brand or category, a detail page with full specs (engine, horsepower, fuel type, seats), and a booking flow that captures pickup/drop-off location, date, time, and delivery method before showing a priced summary.

  • REST APIs
  • Booking flows
  • Localization
Lean and Fit app screenshot

05

Lean and Fit

iOS & Android

Food and supplement ordering with a full nutrition breakdown on every product

Running food and supplements through the same cart and checkout, while still surfacing product-specific detail β€” calories, protein, carbs, and fat per meal, brand and strength per supplement.

Browsing splits into Foods and Supplements, promotions apply as discount codes at checkout with minimum-order and expiry rules, and the cart recalculates subtotal, discount, delivery fee, and tax live.

  • REST APIs
  • Commerce
  • Promotions
Litro Home Delivery app screenshot

06

Litro Home Delivery

iOS & Android

LP gas ordering and delivery, from dealer selection to doorstep

A consumer commerce flow layered on top of a real-world dealer and delivery network, including repeat ordering from past dealers.

Product selection, cart and delivery-charge calculation, cash or card-on-delivery payment, and order history with one-tap reordering, all backed by REST APIs.

  • REST APIs
  • Order management
  • MVVM

Archive

Daily Mirror app screenshot

Daily Mirror

iOS & Android

News app with breaking news, sections, and offline-friendly reading

Litro Manager app screenshot

Litro Manager

iOS & Android

Internal dealer management for order status and dispatch

Moose Fans app screenshot

Moose Fans

iOS & Android

Companion app for cricket fans β€” polls, predictor, leaderboard, merch

Visit Uva app screenshot

Visit Uva

iOS & Android

Travel companion for Uva Province β€” hotels, safety tips, maps

Gateway College App app screenshot

Gateway College App

iOS & Android

Parent-facing school app for attendance, reports, and notices

HidAd app screenshot

HidAd

iOS & Android

Classifieds marketplace with category browsing and search

VHM Express app screenshot

VHM Express

iOS & Android

Parcel delivery tracking with a full package journey timeline

HelloDo app screenshot

HelloDo

iOS

Task manager with custom categories and calendar views

LeafWire app screenshot

LeafWire

iOS

Community forum with feeds, reactions, and comments

Tour Gossips app screenshot

Tour Gossips

iOS & Android

Travel deals app with filters and hotel offers

My Leaves app screenshot

My Leaves

iOS

Internal employee leave request and approval app

Linguistic app screenshot

Linguistic

iOS

Online learning app with classes, notes, and offline mode

Casser app screenshot

Casser

iOS

Photo & screenshot management, organized by what's actually in the image

RITA app screenshot

RITA

iOS

A plant-care companion that talks to real sensors over Bluetooth

VOLA app screenshot

VOLA

iOS & Android

Financed phones, secured with mobile device management

Redeema app screenshot

Redeema

iOS & Android

A rewards app where watching an ad properly is the whole product

Experiments

Things I built just to find out

Not every build ships to the App Store. Some of it is just a way of asking a platform β€œhow does this actually work” and getting a real answer.

Letting an agent scaffold the boring parts

Folded Cursor and Claude Code into the daily workflow for feature scaffolding, unit test generation, and refactoring β€” with architecture review still done by hand.

  • Cursor
  • Claude Code
  • Xcode Coding Intelligence

Getting app data onto the home screen

Researched WidgetKit's supported types and built a data-fetching layer so a widget could show real, current app content β€” not a static mock.

  • WidgetKit
  • SwiftUI

In-app purchases that feel invisible

Wired up StoreKit for premium unlocks, aiming for a purchase flow that's fast and doesn't make the user think about the transaction.

  • StoreKit

AR furniture visualization

Placed furniture in a real room using ARKit, wrapped in a UIKit view so it could live inside a SwiftUI screen, with delegate methods standing in for native touch interactivity.

  • ARKit
  • SwiftUI
  • UIViewRepresentable

Talking to sensors over Bluetooth LE

Paired a phone with IoT hardware β€” soil moisture, light, rain detection β€” over Bluetooth 5.0 Low Energy instead of leaning on Wi-Fi.

  • CoreBluetooth
  • IoT

Auto-tagging screenshots by content

Used Core ML classifiers and Vision to recognize objects and scenes in an image and generate tags like "documents" or "travel" automatically.

  • Core ML
  • Vision

Core Data ⇄ JSON, both directions

Built the mapping layer that turns Core Data entities into JSON for the server and back again, including nested relationships, without losing sync performance.

  • Core Data
  • JSON

A CloudKit library of its own

Split CloudKit access into a separate private library so sensitive configuration stays isolated from the main app target.

  • CloudKit

Turning coordinates into places people recognize

Used geocoding, reverse geocoding, and region monitoring to convert raw location data into addresses and proximity alerts, tuned to go easy on battery.

  • CoreLocation
  • Maps

Tech ecosystem

What I reach for, and when

Apple

  • Swift
  • SwiftUI
  • UIKit
  • Swift Concurrency
  • SwiftData
  • Core Data
  • Combine
  • App Intents
  • ARKit
  • RealityKit
  • Core ML
  • Apple Intelligence

Android

  • Kotlin
  • Jetpack Compose
  • Android SDK
  • Coroutines
  • XML Views
  • Retrofit

Engineering

  • MVVM
  • Clean Architecture
  • Dependency Injection
  • Modularization
  • Swift Package Manager
  • RESTful APIs
  • Performance Optimization
  • Memory Management

Testing & delivery

  • Xcode Instruments
  • XCTest
  • Swift Testing
  • Git
  • CI/CD
  • Xcode Cloud
  • Fastlane
  • App Store
  • Google Play

AI-assisted development

  • Cursor
  • Claude Code
  • Xcode Coding Intelligence

About

Udani Fernando

Always building something weird, wonderful, or both

I've spent eight-plus years building native apps at Fixel Digital β€” over twenty of them, across delivery, fintech, IoT, travel, and more. What keeps it interesting is the same thing that got me into it: taking a new framework apart to see how it actually works, whether that's an AR furniture prototype, an on-device ML experiment, or a production app.

I care about the parts of engineering that don't show up in a screenshot β€” architecture that holds up under change, interfaces that feel responsive, and code a teammate can pick up without a walkthrough. And I like passing that on: lecturing, mentoring, and reviewing code with the engineers I work alongside.

I build

Native iOS and Android products, end to end β€” architecture decisions, the interface, and the release.

I teach

Undergraduate Programming and Software Engineering modules at Colombo International Campus.

I share

Code reviews and architectural workshops with the junior engineers I mentor at Fixel Digital.

I explore

Whatever Apple ships next β€” this year that's Apple Intelligence and App Intents.

Talks & writing

  • TALK

    iOSDevUK β€” Aberystwyth, UK Β· 2026

    GCD to Swift Concurrency

    First conference talk, at iOSDevUK β€” an iOS developer conference β€” on the shift from GCD to Swift Concurrency.

Let's build something meaningful together.

Open to conversations about mobile engineering, architecture, or bringing on-device intelligence into a product.