---
title: "Dewmina Udayashan | Senior Software Engineer, Flutter & Mobile Architecture"
description: "Senior software engineer specialising in Flutter, with six years shipping production mobile apps and the last three leading mobile delivery for teams of three to four. I own the lane end to end: Clean Architecture and Riverpod module boundaries, Melos monorepos, Fastlane and Codemagic pipelines, Shorebird over-the-air patches, crash and performance triage, the in-app subscription and entitlement layer, and the store submission at the end of it. I work with AI agents daily, and I write the instructions and limits that make their output safe to merge."
url: "https://dewmina.dev"
canonical: "https://dewmina.dev"
---

# Dewmina Udayashan

I architect and lead Flutter products end to end, from the module boundaries to the pipeline that ships them to the stores.

Senior software engineer specialising in Flutter, with six years shipping production mobile apps and the last three leading mobile delivery for teams of three to four. I own the lane end to end: Clean Architecture and Riverpod module boundaries, Melos monorepos, Fastlane and Codemagic pipelines, Shorebird over-the-air patches, crash and performance triage, the in-app subscription and entitlement layer, and the store submission at the end of it. I work with AI agents daily, and I write the instructions and limits that make their output safe to merge.

## At a glance

- **Apps shipped to production:** 15+ (Employer products and my own, on both stores)
- **Installs served:** 1M+ (Six years of shipping, App Store and Google Play)
- **Based in:** Galle, Sri Lanka · Asia/Colombo (GMT+5:30)
- **Availability:** Open to senior, lead and architect roles on Flutter and mobile teams, full-time and remote.
- **Open to work from:** United States, Australia, United Kingdom, Europe, Canada
- **Email:** dewminaudayashan@gmail.com
- **CV:** https://dewmina.dev/dewmina-udayashan-software-engineer-resume.pdf

### As a founder

Products I own end to end: idea, architecture, backend, store listing and revenue.

- **7** Products founded and shipped under my own developer accounts
- **300k+** Organic installs on one of them, with zero paid acquisition

### In employment

Products I delivered and led inside companies, from associate engineer to mobile lead.

- **4** Companies across six years, in Sri Lanka and Australia
- **10k+** Active users on the apps I led at IXD Labs

## Experience

### Senior Software Engineer, IXD Labs
*Jun 2024 – Present · Piliyandala, Sri Lanka*

Lead mobile delivery across the company's health and fitness portfolio: architecture, code review, CI/CD and store release ownership.

- Directed end-to-end delivery of 5 production mobile apps across health, fitness and enterprise domains, scaling to support 10,000+ active users.
- Led and mentored a mobile team of 4 engineers: set the architecture, enforced the bar through PR review, and wrote the standards the team ships against.
- Cut deployment cycle time ~40% by rebuilding the CI/CD pipelines on Codemagic and Fastlane, and introducing Shorebird for zero-downtime over-the-air Dart patches.
- Diagnosed and fixed severe UI jank, memory leaks and rendering bottlenecks with Flutter/React Native DevTools and Xcode Instruments, reaching a consistent 60/120fps and ~15% lower battery draw on legacy devices.
- Owned production quality after release: Sentry-backed crash triage, incident response and written root-cause analyses that turn into tests. The same scrutiny caught a platform-policy breach in a planned payment gateway before a line was written; the in-app subscription stack and RevenueCat I proposed instead are now the company standard.
- Built the mobile platform the team works in: a Melos monorepo on Dart pub workspaces, shared packages with versioned contracts, one analysis and test baseline, and release tooling that makes every app ship the same way.

Stack: Flutter, Dart, React Native, Django, Melos, Firebase, Codemagic, Fastlane, RevenueCat, Sentry

### Software Engineer · Lead Mobile Developer, NinjaPipe Pty Ltd
*Apr 2023 – Jan 2025 · Melbourne, Australia (Remote)*

Owned the cross-platform mobile CRM for an AI sales-automation platform, delivered remotely on Australian business hours.

- Took an AI-driven B2B mobile CRM from concept to production in Flutter, accelerating lead capture and sales workflows for 1,500+ active users.
- Built the app's interface from Figma and wired the platform's LLM-backed features into the mobile client, so the automation the web product offered was usable from a phone.
- Coordinated technical milestones and mentored a cross-functional team of 3, delivering every major feature release on time.
- Worked directly with stakeholders, designers and backend engineers to translate business requirements into mobile architecture that survived the roadmap.

Stack: Flutter, Dart, REST APIs, Figma, Firebase

### Associate Software Engineer · Full-Stack, myPOS Software Solutions
*May 2022 – Nov 2022 · Nugegoda, Sri Lanka*

Full-stack work on a mobile point-of-sale product running on handheld POS terminals in live retail: the Flutter client on the device and the ASP.NET and MySQL services behind it.

- Reduced production defect rate ~30% through proactive debugging and sustained maintenance of the transaction codebase.
- Engineered full-stack features on ASP.NET and MySQL, holding the line on secure and reliable transaction processing in a fast-moving production environment.
- Gathered requirements directly from clients and turned them into shippable, business-driven changes.

Stack: Flutter, Dart, .NET, MySQL, REST APIs

### Associate Software Engineer · Full-Stack, Youth Services Pvt Ltd
*2020 – Mar 2021 · Maharagama, Sri Lanka*

First professional role, as sole developer on a government-facing mobile application, concept through production.

- Led end-to-end development and deployment of the mobile app for the Youth Service Council of Sri Lanka.
- Contributed across the full stack: interface, application logic and backend integration.
- Managed the whole application lifecycle and delivered against the project's requirements.

Stack: Flutter, REST APIs, Backend integration

## What he is accountable for

### Mobile architecture
Codebases that a team of four can work in for two years without a rewrite.

- Feature-first modules over a shared core; clean boundaries between domain, data and presentation
- Generated Riverpod and BLoC state graphs, scoped so a rebuild stays where it belongs
- Offline-first persistence with forward-only schema migrations, 17 versions shipped without a data-loss incident
- Route-table navigation (go_router) so every screen is analytics-addressable and deep-linkable by construction

### System & API design
The backend half of a mobile product, designed as a contract rather than an afterthought.

- NestJS + Prisma + PostgreSQL services with typed DTOs, a real error taxonomy and OpenAPI that stays honest
- Row-level security and policy design where the client talks to Postgres directly
- Sync engines: push/pull scheduling, wire codecs, conflict rules and a schema mirrored on both sides
- Auth that survives contact with reality: JWT rotation, refresh windows, optional-identity public endpoints

### Release engineering
Shipping is a system. I build the one that makes a release boring.

- Codemagic, Fastlane and GitHub Actions pipelines: flavors, signing, path-filtered checks, generated release notes
- Trunk-based development with release branches and tag-triggered store submission
- Shorebird over-the-air patches for Dart-only hotfixes, no store review in the loop
- Changelog-driven store notes, so release copy is written when the change is, not weeks later

### Performance & reliability
Profiling, not guessing. Numbers before and after, on the devices users actually hold.

- Flutter DevTools, React Native DevTools and Xcode Instruments for jank, leaks and rendering cost
- Consistent 60/120fps and ~15% battery reduction on legacy hardware
- Crashlytics and Sentry wired to an owner, with audit events for the paths that matter
- Rate limiting, throttling and graceful degradation when the network or the GPS fix is poor

### Product & monetisation
An app that nobody pays for is a hobby. I ship the commercial layer too.

- RevenueCat entitlements, paywall design and subscription webhooks end to end
- Firebase A/B Testing over Remote Config for onboarding, paywalls and feature gates, plus store-listing experiments
- Firebase Analytics and PostHog with session replay, on event taxonomies designed before the events are emitted
- App Store Optimisation, with 300k+ organic installs on apps grown without paid acquisition

### Engineering with AI agents
An agent is only as good as the instructions and the limits it is given. Both are my job.

- A written engineering guide in every codebase I own: the conventions, the contracts between modules, and a blunt list of the traps with the reason each one exists
- The traps that review keeps missing are encoded as tests that fail the build, so the knowledge outlives whoever learned it
- Generated work is reviewed exactly like any other contribution, on its own branch, and is merged by a person
- Release authority stays human: the guides explicitly withhold pushes, tags and merges, because a version tag starts a store release and an over-the-air patch reaches real devices
- Clear about what not to delegate: schema design, security boundaries, and anything whose failure mode is silent

### Technical leadership
Raising the ceiling of the whole team, rather than only the quality of my own branch.

- Code review as the main teaching surface, with standards written down and then enforced consistently
- Mentoring engineers through architecture decisions rather than handing them answers
- Translating business requirements into system design stakeholders can actually agree to
- Catching compliance and platform-policy risk early, when it is still a conversation and not a rejection

## Products founded and self-published

- **[Acrea](https://dewmina.dev/projects/acrea)** — Offline-first survey-grade land measurement, synced across a team, with role-based workspaces and plan-gated features.
  Markdown: https://dewmina.dev/projects/acrea.md
- **[FitScanned](https://dewmina.dev/projects/fitscanned)** — An AI nutrition tracker, its API, its admin console and the server they all run on.
  Markdown: https://dewmina.dev/projects/fitscanned.md
- **[Banny](https://dewmina.dev/projects/banny)** — A men's health recovery app whose hardest engineering sits in three native iOS extensions.
  Markdown: https://dewmina.dev/projects/banny.md
- **[Keyboarda AI](https://dewmina.dev/projects/keyboarda)** — An AI writing keyboard for every iOS app, in native Swift on Firebase.
  Markdown: https://dewmina.dev/projects/keyboarda.md
- **[CoordKit](https://dewmina.dev/projects/coordkit)** — A field-grade coordinate instrument built around a map you aim rather than poke.
  Markdown: https://dewmina.dev/projects/coordkit.md
- **[Latitude Longitude Finder](https://dewmina.dev/projects/latitude-longitude-finder)** — A coordinate readout grown into a 300k+ install utility with recurring revenue.
  Markdown: https://dewmina.dev/projects/latitude-longitude-finder.md
- **[SocialTimetable](https://dewmina.dev/projects/social-timetable)** — A data product: 17,000 engagement data points turned into one answer per query.
  Markdown: https://dewmina.dev/projects/social-timetable.md
- **[image_cropper_widget](https://dewmina.dev/projects/image-cropper-widget)** — A Flutter cropper with no platform channel: pure Dart, so it behaves identically everywhere.
  Markdown: https://dewmina.dev/projects/image-cropper-widget.md
- **[flutter_auto_localizations](https://dewmina.dev/projects/flutter-auto-localizations)** — A Dart CLI that takes a project from one language to dozens without hand-editing ARB.
  Markdown: https://dewmina.dev/projects/flutter-auto-localizations.md
- **[Adytum](https://dewmina.dev/projects/adytum)** — A self-hosted, event-driven orchestration runtime, built around the distributed-systems problems behind autonomous task execution.
  Markdown: https://dewmina.dev/projects/adytum.md

## Products built inside companies

- **Fitconnect**, IXD Labs — Lead mobile developer, member and coach apps (2024 – Present) · [fitconnect.lk](https://fitconnect.lk)
- **Fitsmiles**, IXD Labs — Mobile developer across iOS, Android and the watchOS companion (2024 – 2025) · [fitsmiles.com](https://fitsmiles.com)
- **NinjaPipe**, NinjaPipe Pty Ltd — Lead mobile developer, concept to production (2023 – 2025) · [ninjapipe.com](https://ninjapipe.com)

## Recommendations

> His ability to design and implement high-quality, user-friendly mobile applications set a new standard for our team.

Dinuka Jay (Founder, NinjaPipe CRM & Sales Platform, NinjaPipe Pty Ltd) · Managed Dewmina directly · May 2024

> He has strong expertise across all levels, from development and PR reviews to architecture-level discussions.

Harsha Amarasinghe (Full Stack Developer, IXD Labs) · Reported to Dewmina directly · February 2026

> What stands out most is his analytical thinking and ability to approach problems with clarity and smart solutions.

Dilki Ranepura (Software Engineer) · Dewmina was senior to Dilki · February 2026

> I have seen him confidently lead teams, support others, and deliver projects on time without compromising on quality.

Lahiru Prabodha (Senior Software Engineer & System Architect) · Worked with Dewmina at a different company · February 2026

> What truly sets Dewmina apart is his ability to confidently lead a team, guide others, and make sure projects are completed on time.

Omer Sharizan (Executive, Digital Support Specialist, MAS Holdings) · Worked with Dewmina on the same team · February 2026

## Awards

- **IXD Vanguard 2025**, IXD Labs. In recognition of unwavering dedication, excellence, and significant contributions to our success in 2025.

## Skills

- **Mobile:** Flutter, Dart, React Native, Riverpod, BLoC, Clean Architecture, go_router, Melos, Pub workspaces, Monorepos, Swift, SwiftUI, Kotlin, Screen Time / Family Controls
- **Backend & data:** NestJS, Node.js, TypeScript, PostgreSQL, Prisma, Supabase, MySQL, SQLite, REST APIs, WebSockets, Django, .NET
- **Cloud & infrastructure:** AWS, Google Cloud, Hetzner, Firebase, Docker, NGINX, Cloudflare, Vercel
- **Release & DevOps:** Codemagic, Fastlane, GitHub Actions, Shorebird, Sentry, Crashlytics, FVM, Code signing, App Store Connect, Google Play Console, Git
- **Product & growth:** RevenueCat, PostHog, Firebase Analytics, Remote Config, A/B testing, Session replay, Feature flags, ASO
- **Web:** Next.js, React, Tailwind CSS, TypeScript
- **Working with AI agents:** Claude Code, Agent instruction files, Invariant tests, Google Gemini, Structured model output, Git worktrees

## Education

- BEng (Hons) Software Engineering, London Metropolitan University (First Class Honours)
- Diploma in Information & Communication Technology, Vocational Training Authority, Sri Lanka

## Frequently asked

### Is Dewmina Udayashan available for remote roles in the US or Australia?

Yes. He is based in Sri Lanka (GMT+5:30) and is open to senior, lead and mobile-architect roles on a full-time, remote basis with teams in the United States, Australia, the United Kingdom, Europe and Canada. He worked remotely with a Melbourne-based company for nearly two years, so async collaboration across a large time difference is established practice rather than an experiment.

### What is Dewmina Udayashan's core technical stack?

Flutter and Dart for mobile, at architecture depth: Riverpod and BLoC state management, Clean Architecture module boundaries, offline-first SQLite persistence and go_router navigation. Behind it: NestJS, Node.js and TypeScript services over PostgreSQL with Prisma, plus Supabase where row-level security fits better than a service layer. Infrastructure on AWS, Google Cloud, Hetzner and Firebase, containerised with Docker behind NGINX. Release engineering on Codemagic, Fastlane, GitHub Actions and Shorebird. Every product carries analytics, crash reporting and remote config.

### How many years of experience does Dewmina Udayashan have?

Over six years of professional software engineering experience, starting in 2020. He has spent the last three of those leading mobile delivery (architecture, code review, CI/CD and store release ownership) for teams of three to four engineers in Sri Lanka and Australia.

### Has Dewmina Udayashan led a team?

Yes. At IXD Labs he leads a mobile team of four engineers: setting architecture, running code review, writing the engineering standards the team ships against, and owning final production submission to the App Store and Google Play. At NinjaPipe he coordinated technical milestones and mentored a cross-functional team of three.

### What has Dewmina Udayashan actually shipped?

Around 15 apps to production over six years, with more than a million downloads between them. Seven of those he founded and self-published under his own developer accounts: Acrea, a land-measurement and surveying toolkit with COGO traverse, offline Mapbox regions and survey-grade export; FitScanned, an AI calorie tracker with a NestJS backend, Flutter app, Next.js admin console and self-hosted infrastructure; CoordKit, a field-grade coordinate instrument; Latitude Longitude Finder, a geolocation utility with 300k+ organic installs on its own; Banny, a health recovery app built on three native iOS Screen Time extensions bridged to Flutter; Keyboarda AI, a native Swift AI writing keyboard with a Firebase Cloud Functions backend; plus SocialTimetable and open-source Flutter packages on pub.dev. The rest he built inside companies: Fitconnect and Fitsmiles at IXD Labs, the NinjaPipe sales CRM in Australia, and government-facing apps for Sri Lanka's National Youth Services Council and Vocational Training Authority.

### Is Dewmina Udayashan a founder as well as an employee?

Yes. Alongside his employed work he founds, builds and self-publishes his own products under his own App Store and Google Play developer accounts, seven of them so far. On those he owns every layer: the product decision, the architecture, the backend, the release pipeline, the store listing and the revenue. Acrea, FitScanned, CoordKit, Banny and Keyboarda AI are all live and commercially monetised through RevenueCat subscriptions; Latitude Longitude Finder reached 300k+ organic installs with no paid acquisition at all.

### Does Dewmina Udayashan do backend and infrastructure work, or mobile only?

Both. FitScanned is the clearest example: he built the NestJS/Prisma/PostgreSQL API, the Next.js admin dashboard and the Docker Compose and NGINX deployment that runs them, moving the API, database and web apps off AWS EC2 onto a self-managed Hetzner server while images stayed in S3. It also runs a Telegram bot as a second client over the same services. Keyboarda AI runs on Firebase Cloud Functions in TypeScript: a callable function in front of Gemini with a transactional daily quota, a RevenueCat webhook that sets premium as an Auth custom claim, and a scheduled cleanup job. Acrea's backend is Supabase, with a Postgres schema, row-level security policies, Edge Functions and a bidirectional sync engine mirroring the app's local SQLite schema.

### Does Dewmina Udayashan have experience with product analytics, experimentation and crash reporting?

Yes, on every product he ships rather than as a one-off. His own apps carry Firebase Analytics or PostHog with session replay, Crashlytics for crashes, Sentry on the FitScanned API and in the company apps he leads, and Firebase Remote Config for anything that might need to change without a release. Latitude Longitude Finder is the deepest example: 18 Remote Config parameters drive Firebase A/B tests on onboarding flows, paywall layouts, default plans and ad-unlockable features, each experiment written down with its funnel, guardrail metric, frozen confounders and sample size before it starts, and the store listing is A/B tested as well. Banny routes every event through one facade to PostHog and Firebase, ties Crashlytics to the same user, and switches all collection off outside production so test sessions never reach the funnel.

### How does Dewmina Udayashan work with AI coding agents?

The way he works with any contributor: with the standards written down first and the limits set explicitly. Every codebase he owns carries an engineering guide covering that project's conventions, the contracts between its modules, and a blunt list of the traps with the reason each one exists, so an agent produces work that fits the codebase instead of generic patterns. CoordKit's guide is the clearest example: the Riverpod retry behaviour that makes one API unusable, the controller disposal that throws a frame later on a device and never in a build log, the iOS permission mismatch that terminates the process rather than raising an error. Each of those is also a test that fails the build, so the knowledge outlives whoever learned it. Generated work is reviewed like any other contribution, on its own branch, and merged by a person. Release authority is deliberately withheld: the guides state that pushes, tags and merges are not an agent's to make, because a version tag starts a store release and an over-the-air patch reaches real devices. He is equally clear on what not to delegate at all, which is schema design, security boundaries, and anything whose failure mode is silent.

### Is Dewmina Udayashan comfortable working on AI-powered products?

Yes, as a builder rather than a spectator. FitScanned is an AI product end to end: a vision model called with an explicit JSON schema across two model tiers, feeding a typed DTO, so the failure mode is a caught validation error rather than a plausible-looking wrong number on a nutrition label. Keyboarda AI keeps the Gemini key off the device entirely: every request goes through a Cloud Function that reserves the user's daily quota in a Firestore transaction and refunds it if generation fails. SocialTimetable uses Gemini as a reducer over a 17,000-point dataset rather than as the source of the numbers. At NinjaPipe he integrated LLM models into appointment scheduling and marketing workflows. The consistent principle is that the model is one component with a contract, not a black box the product is built around.

### How can someone contact Dewmina Udayashan?

By email at dewminaudayashan@gmail.com, or on LinkedIn at linkedin.com/in/dewmina-udayashan. His CV is downloadable from dewmina.dev as a PDF.

## Elsewhere

- [GitHub](https://github.com/DewminaUdayashan) (DewminaUdayashan)
- [LinkedIn](https://www.linkedin.com/in/dewmina-udayashan/) (dewmina-udayashan)
- [X](https://x.com/DewwUday) (DewwUday)
- [pub.dev](https://pub.dev/publishers/dewmina.dev/packages) (dewmina.dev)
- [App Store](https://apple.co/4qFf6ud) (Apple Developer)
- [Google Play](https://play.google.com/store/apps/dev?id=7136804102130837612) (Play Developer)
