Overview
Technical skills
Timeline
Roles

Overview

A Flutter mobile developer (middle level) focused on building cross-platform consumer apps and integration with Firebase. The strongest proven skill is implementing Firebase-backed UI features including image capture, upload and Firestore streams as shown in My-Archives-App/lib/screens/features/toys/add_new_toy.dart and ToyCollection stream handling. There is little evidence of advanced platform lifecycle robustness, offline sync engines, background scheduling or release automation in public code.
Phone

Technical skills

Dart
Dart
Provider
Go_router
Dio
Get_it
Mobile
Flutter
Firebase
Crashlytics
Declarative UI
MVVM
Clean Architecture
State Management
Reactive Programming
Material Design
DevOps
GitHub Actions
GitHub
Git
CI/CD

Timeline

Senior Mobile Engineer • Senior
Blott • Full-Time
Feb 2025 to Present 1 Year 8 Months Partially remote
Worked as the sole developer for a Flutter/Dart merchant application, owning the initial architecture, feature delivery, and multiple production releases. Built core flows such as discovery, cart/checkout, order management, trade credit, and payments, including biometric/PIN security and offline synchronization improvements. Took over an existing rider app and delivered payments, multi-unit support, filtering, and delivery enhancements, while optimizing CI pipelines with GitHub Actions and adding PostHog plus Firebase Crashlytics, Cloud Messaging, and Remote Config.
Flutter
Dart
GitHub Actions
Crashlytics
Firebase
Senior Software Engineer • Senior
Woodalls Lanka (Pvt) Ltd • Full-Time
Mar 2023 to Feb 2025 1 Year 11 Months Partially remote
Owned mobile architecture, feature development, releases, and maintenance across multiple Flutter applications. Expanded the Woodalls Delivery Platform from driver-focused delivery into a broader operations platform used by drivers, warehouse staff, sales teams, and customers. Added pickup/returns, notifications, QR scanning, and extended sales and purchasing workflows from products and pricing through orders, checkout, invoicing, and purchase orders. Implemented the Amago mobile workflows for enquiries, quotations, itineraries, and bookings, and continued improvements in Capsa including KYC and guided selfie capture.
Flutter
Dart
Software Engineer • Middle
Woodalls Lanka (Pvt) Ltd • Full-Time
Aug 2020 to Feb 2023 2 Years 6 Months Partially remote
Contributed to Capsa features including loan calculations, credit offers, lender/guarantor/supervisor workflows, document management, customer support, and KYC flows such as identity data capture and multiple uploads. Designed and built the Woodalls Delivery Platform from scratch in Flutter, defining project structure and an application architecture using Provider-based state management. Implemented initial driver delivery workflows such as dispatch handling, maps and routing, delivery confirmations, and signature and photographic proof capture.
Flutter
Dart
Plymouth University
Bachelor's Degree • Software Engineering
2017–2020 Plymouth, England
Middle Mobile Developer Confidence: Medium Cross-platform
A Flutter mobile developer (middle level) focused on building cross-platform consumer apps and integration with Firebase. The strongest proven skill is implementing Firebase-backed UI features including image capture, upload and Firestore streams as shown in My-Archives-App/lib/screens/features/toys/add_new_toy.dart and ToyCollection stream handling. There is little evidence of advanced platform lifecycle robustness, offline sync engines, background scheduling or release automation in public code.
Platform Native Mastery
2/10
Knowing the mobile platform
Basic platform lifecycle handling is present (initState/dispose/didChangeDependencies) but there is no evidence of process-death handling, state restoration, background task scheduling, or structured concurrency patterns tied to screen lifecycle.
Evidence
My-Archives-App/lib/screens/features/toys/add_new_toy.dart: dispose() disposes controllers and animation controller
My-Archives-App/lib/screens/watchlist.dart: initState() calls getData() and uses FutureBuilder for data loading
Covid19-Tracker/lib/screens/home.dart: overrides didChangeDependencies() to react to Provider changes
Mobile UI/UX & Responsiveness
3/10
Smooth mobile experience
Solid, idiomatic Flutter UI work with responsive sizing, virtualization (ListView.builder/Scrollbar), Hero usage and modular widgets, but largely conventional screens without advanced adaptive layout, platform HIG tailoring or accessibility auditing evidence.
Evidence
My-Archives-App/lib/screens/features/toys/toy_collection.dart: responsive list cards, Hero, GridView/ListView usage
My-Archives-App/lib/screens/features/toys/add_new_toy.dart: GridView.builder for image picker UI and animated controls
Covid19-Tracker/lib/screens/home.dart: TabBar/TabBarView with responsive InfoCard layout
Performance & Battery
1/10
Speed and battery use
Minimal performance/battery engineering visible; there are progress indicators and use of streams but no measured profiling, baseline metrics, background work tuned for OS limits, or explicit memory/jank mitigation.
Evidence
My-Archives-App/lib/screens/features/toys/add_new_toy.dart: upload progress reporting via uploadedValue
My-Archives-App/lib/screens/features/toys/toy_collection.dart: StreamBuilder usage for lists
Offline & Data Sync
2/10
Working offline and syncing
Some offline-awareness and local persistence exist (local SQLite usage and connectivity checks) but no robust offline-first sync engine, conflict resolution, queued idempotent retries or migration history.
Evidence
finance-digest/lib/services/database_service.dart: sqflite DB initDb() and signUp/getUser storage
My-Archives-App/lib/services/connectivity_service.dart and My-Archives-App/lib/screens/features/toys/add_new_toy.dart: connectivity checks gating uploads
Device Integration
4/10
Using device features
Concrete device integrations are implemented and handled reasonably: camera and multi-image selection with lost-data handling, Firebase auth and Storage uploads, permission flow checks and in-app URL launching.
Evidence
My-Archives-App/lib/screens/features/toys/add_new_toy.dart: ImagePicker camera/gallery, retrieveLostData(), FirebaseStorage.putFile and getDownloadURL
finance-digest/lib/screens/auth/login.dart: checks notification permission and routes to permission flow
finance-digest/lib/screens/features/news/dashboard.dart: uses url_launcher to open articles
Release & App Lifecycle
1/10
Building and publishing apps
Project manifests and standard platform build files are present but there is no evidence of release pipelines, signing automation, fastlane/CI configuration, crash reporting integration or staged rollout practices.
Evidence
My-Archives-App/android/app/build.gradle: standard Flutter Android gradle config
finance-digest/pubspec.yaml and android/build.gradle: dependency and basic build configuration only
Expertise
Flutter• Middle
Industries
Financial Services• Middle
Health Care• Middle
Technologies
Dart• since 2020 • Senior
MVVM
Flutter• since 2020
Firebase• since 2025
Clean Architecture
Provider
Dio
Get_it
Go_router
Reactive Programming
Declarative UI
State Management
Material Design
Crashlytics• since 2025
Recommendations
  • Develop medium-complexity Flutter apps that use Firebase for auth, storage and Firestore-backed realtime screens and CRUD flows.
  • Implement UI-heavy consumer features and prototypes that require camera/gallery integration, image upload progress and responsive lists.
  • Work on offline resilience improvements such as queued uploads, conflict resolution and migration-aware local storage (sqflite) for sync reliability.
  • Integrate basic CI/release automation and platform signing processes to improve production readiness.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Intern Backend Developer Confidence: Low Generalist
A junior generalist software engineer focused on desktop application development and packaging. Proven strength is release and packaging configuration as shown by package.json and electron-builder settings (build.appId, artifactName and beforePack hook). There is no visible server-side API, database migration history, or distributed-systems code in the human-authored files.
API Design
2/10
How well APIs are designed
Minimal API design evidence; this is a desktop Electron app without documented HTTP/REST API contracts, versioning, idempotency or pagination design.
Evidence
season-shelf: package.json (scripts: start, dev, main entry)
season-shelf: src/desktop/main.cjs (application entry referenced by package.json)
Data Layer & Database
Working with databases
Not evidenced in public code
Scalability & Performance
Handling load and speed
Not evidenced in public code
System Architecture
2/10
Overall system structure
Basic system architecture is visible through Electron app structure and packaging configuration, but there is no evidence of deliberate service decomposition, inter-service contracts, or graceful degradation for distributed components.
Evidence
season-shelf: package.json (build/electron-builder configuration, appId, artifactName)
season-shelf: src/desktop/main.cjs (desktop main process entry referenced by package.json)
Security & Auth
2/10
Protecting data and access
Limited security posture visible at packaging level; code-signing/notarization settings are present but disabled or null, and there is no evident auth/token lifecycle or input-boundary hardening in the public human-authored files.
Evidence
season-shelf: package.json (build.mac.notarize = false, build.mac.identity = null)
season-shelf: package.json (win.verifyUpdateCodeSignature = false)
Reliability & Observability
2/10
Stability and monitoring
Basic reliability bits exist (test script, electron-updater dependency and a beforePack validation hook reference) but there is no structured observability, retries-with-backoff, circuit breakers, or shutdown/timeouts in the visible human-authored code.
Evidence
season-shelf: package.json (dependencies: electron-updater)
season-shelf: package.json (scripts.test and scripts.check)
season-shelf: package.json (build.beforePack = build/validate-environment.cjs referenced)
Expertise
Messaging & Real-time• Intern
Recommendations
  • Develop and own Electron packaging and release automation, including CI workflows and release validation scripts.
  • Integrate messaging provider handling with robust retry, idempotency and input validation around Telegram interactions.
  • Add basic observability and reliability features: structured logging with correlation ids, graceful shutdown handling, and retry/backoff for external calls.
  • If moving toward backend work, add a small, well-documented HTTP API or local service with tests and a migration chain to demonstrate server-side design choices.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories: