Senior Software Engineer
Mobile Applications · Flutter · Complex Integrations · Embedded Systems
I'm a software engineer with 9+ years in mobile development, including 7+ years specializing in Flutter. I build production-ready applications, design maintainable architectures, integrate complex APIs and third-party SDKs, and work across mobile software and hardware-connected systems — from AI-powered healthcare kiosks to embedded multi-display Android platforms.
A selection of the production mobile applications I've built or contributed to across healthcare, e-commerce, embedded systems, and more. Three projects below include a deeper engineering case study; the rest are summarized with their real screenshots, tech stack, and store links. Many additional projects can't be shown publicly due to client NDAs — see the note below.
// Featured Case Studies
Leading the Flutter engineering of an AI-powered telemedicine platform that connects patients and doctors through smart health kiosks, including real-time biomedical device integration.
iDoc is an AI-powered telemedicine platform that pairs AI-driven symptom checking with personalized health plans, connecting patients and doctors through smart health kiosks equipped with biomedical measurement devices.
Senior Software Engineer (Flutter) at iDoc, Apr 2024 – Jul 2026. I led engineering for the Android and iOS applications — owning software architecture, release management, and code review practices — and integrated biomedical devices directly into the app using serial communication protocols.
Kiosk hardware changes the shape of the problem: the app isn't just talking to a REST API, it has to parse live data streams from connected biomedical devices over serial/hardware interfaces and reflect them into a clinical workflow in real time — while still shipping and maintaining a normal Android/iOS release process across AI, backend, hardware, and product teams that don't normally share a codebase.
Flutter with Clean Architecture and REST APIs for backend health services, plus a dedicated serial-communication layer that parses biomedical device data into the app's domain model, deployed on embedded Android kiosk hardware.
Keeping the hardware/serial-communication layer behind a clean architectural boundary so device-integration work doesn't leak into UI or business logic, and owning code review and release practices to keep delivery consistent across a multidisciplinary team.
iDoc Health is live today on the App Store, in active use connecting patients and doctors via smart kiosks. Its Google Play listing is currently unavailable.
Not available
App Store
Published an open-source Flutter plugin that runs independent Flutter engines across up to three physical displays on a single embedded Android board, with real-time shared state between them.
flutter_multi_display is an open-source (MIT-licensed) Flutter plugin published
on pub.dev for building multi-display Android applications — useful for POS systems, digital
signage, kiosks, and restaurant/retail setups that need more than one screen driven from a
single device.
I designed, built, and published the package, and maintain it as open source under the MIT license.
Flutter's standard model assumes one engine renders to one display. Multi-display embedded hardware (e.g. RK3588-based Android boards) needs each physical display — up to three, one primary and two secondary — running its own independent Flutter engine, while keeping state synchronized across them in real time, which Flutter doesn't support out of the box.
The plugin runs a separate Flutter engine per display, detects displays automatically or by
port (VGA/HDMI), and exposes a type-safe SharedState class — built on Flutter's
ChangeNotifier pattern — with state caching, so apps on different displays stay
in sync (e.g. a cashier display and a customer-facing display). The Android
MainActivity lifecycle is overridden to pause/resume secondary engines correctly
with the host app.
Published as a standalone, MIT-licensed package rather than logic embedded in one closed product, so the multi-display/shared-state approach is reusable across different embedded projects. Scoped to Android only, matching the embedded hardware it targets.
Publicly available on pub.dev (currently v0.0.3), documented with a full setup guide, API reference, and troubleshooting notes.
One Flutter engine runs per physical display — a primary plus up to two secondary displays, sorted automatically or by port — with a shared, type-safe state layer keeping all of them in sync.
A condensed excerpt from the package's own public documentation — setting up the displays and keeping a value in sync across all of them.
// Setup — runs before runApp()
await FlutterMultiDisplay().setupMultiDisplay(
['screen1Main', 'screen2Main'],
portBased: true, // sort by VGA / HDMI
);
// Each secondary display gets its own entrypoint
@pragma('vm:entry-point')
Future<void> screen1Main() async {
WidgetsFlutterBinding.ensureInitialized();
runApp(const AdsApp());
}
// State stays in sync across all displays
class UserState extends SharedState<UserData> {
@override
UserData fromJson(Map<String, dynamic> json) => UserData.fromJson(json);
}
Senior Software Engineer at Shopini (2021–2022) — built Flutter/GetX features, REST API integrations, and HyperPay payment integration across the company's mobile applications, including its e-commerce app.
Shopini is a Basra, Iraq-based company offering e-commerce with Iraq-wide delivery; its public Google Play listing reports over 1 million downloads. I worked here as a Senior Software Engineer, building features across the company's mobile applications rather than a single app.
Senior Software Engineer, Nov 2021 – Nov 2022 (remote, Basra, Iraq-based company). My work included REST API integration, implementing HyperPay payment integration, diagnosing and fixing application performance issues, resolving production bugs, and release responsibilities — across multiple mobile applications built by the company.
Flutter, GetX for state management, REST APIs for backend/catalog/order integration, and HyperPay for payment processing.
The company's Shopini e-commerce app has a public Google Play listing reporting over 1 million downloads. This is product-level context about the company's platform, not an individual result — my contributions were part of a broader engineering effort across several of the company's applications, not the sole basis for that figure.
Open Source
Open-source package enabling multiple Flutter engines on RK3588 for advanced multi-display embedded applications. See full case study above.
Health & Fitness
Senior Software Engineer, iDoc (Apr 2024 – Jul 2026)
iDoc provides AI-driven symptom checking and personalized health plans. Connects with smart kiosks for real-time wellness insights. See full case study above.
Shopping
Senior Software Engineer, Shopini (2021–2022)
Shopini offers seamless e-commerce with diverse products and fast Iraq-wide delivery. 1M+ downloads. See full case study above.
Health & Fitness
Built at TechNerds Inc.
Weight Loser delivers personalized diet/fitness plans and tracks progress. Includes 5,000+ recipes and mindfulness tools.
Health & Fitness
Independent project
Blink provides therapist-approved mindfulness tools to manage moods. Privacy-focused with no data collection.
Communication
Independent project
Tapp connects students via a geo-social platform for events and networking. Features anti-harassment tools.
Shopping
Developed during full-time employment at Shopini
AUR Pets is a fast, intuitive marketplace for buying and selling pets globally. Easily list and browse animals.
Food & Drink
Developed during full-time employment at Shopini
AUR Restaurant enables easy menu browsing and order placement for diners. Supports real-time waiter calls and feedback.
Food & Drink
Developed during full-time employment at Shopini
AUR Waiter streamlines restaurant operations with real-time order management. Send orders to the kitchen and share pricing.
Finance
Built at CAS Centre for Advance Solutions
Easy Budget tracks expenses and plans budgets with customizable templates. Serverless design ensures data privacy.
Social
We Always connects users through chats, groups, and games to earn coins. Interactive social platform for all.
Business
Dialboxx is Pakistan's top business search engine for finding services and products. Supports direct messaging and business listings.
Education
Built at CAS Centre for Advance Solutions
ELMS Admin enables institute admins to manage staff, finances, and school operations efficiently.
Education
Built at CAS Centre for Advance Solutions
ELMS Student helps students track attendance, syllabus, exams, assignments, and fees seamlessly.
Education
Built at CAS Centre for Advance Solutions
Auto Attendance marks attendance automatically using location-based nearby services for institutes.
Maps & Navigation
Mr Daze Driver enables drivers to transport luggage or passengers city-to-city and within city efficiently.
Maps & Navigation
Mr Daze Rider lets users book drivers for luggage or personal rides across cities.
Food & Drink
Brbene delivers a premium dining experience with high-quality dishes and top hygiene standards.
Food & Drink
Built at Aurora Solutions
Rscued reduces food waste by transforming surplus fruit into juices, smoothies, and compost.
Health & Fitness
Built at TechNerds Inc.
Better Mood manages depression with CBT, sleep stories, and calorie tracking for wellness.
News
Ahjili News lets users view, comment, and share diverse content posted by Ahjili.
CAARD streamlines networking with digital profiles, QR sharing, and real-time analytics.
Social Services
Built at Techtix — the accessibility-focused NGO app for senior citizens referenced in my résumé
Senior Housing Central connects seniors with rental properties and welfare support for housing.
Lifestyle
Built at TechNerds Inc.
Greater Moments helps older adults, including those with dementia, record and reflect on meaningful moments.
Music & Audio
Built at Techtix
Radio Luisteren offers live Dutch radio with 100+ channels, sleep timers, and favorite stations.
$ ls -la ~/projects/confidential/
// +25 more entries — permission denied
Organized around the problems I can solve rather than a flat list of technologies. Depth varies by area — these reflect where my production experience is strongest.
Employment history — company, role, location, and what I was responsible for.
Developed and maintained ELMS Student, Easy Budget, and Inviter; introduced modern software engineering practices that increased app efficiency and scalability across the product line.
Built and improved native Android apps Shery Elec, My Attendance, Prizim, and Foodco, focusing on performance and UX.
Applied native Android development techniques to improve app efficiency and scalability, building foundational mobile development experience.
Public, named recommendations from my LinkedIn profile — not written for this portfolio.
I highly recommend Waqas for his exceptional professionalism, strong work ethic, and dedication to excellence. He is a proactive problem-solver with a keen eye for detail, consistently delivering high-quality results while fostering a positive and collaborative work environment. His ability to adapt, communicate effectively, and go the extra mile makes him a valuable asset to any team or organization. I have no doubt that he will excel in any role he takes on.
Waqas Shafi has been instrumental in developing our flagship app at iDoc as our Senior Flutter Developer. His expertise in Flutter has significantly enhanced our app's performance and user experience. Waqas excels at translating complex design requirements into clean, efficient code, making our collaborative process seamless. His problem-solving skills have been crucial in overcoming technical challenges, often proposing innovative solutions that improve both functionality and user satisfaction.
Working with Waqas has been fantastic! His skills as a Flutter developer are top-notch, but what stands out is how he brings both technical expertise and creative design thinking to every project. Beyond his coding talents, Waqas is just great to work with — he quickly picks up new concepts and is always ready to help team members solve tricky problems.
During Waqas's tenure at CAS Center for Advance Solutions, I had the privilege of both mentoring him and later working alongside him. It was evident that Waqas's dedication to Flutter development and his creative approach to UI design were truly commendable. His invaluable contributions to our projects and his subsequent growth into a seasoned Senior Flutter Developer were remarkable.
I had the pleasure of working with Waqas during our time at Shopini, where we both served as senior Flutter developers. I was continually impressed by his technical skills, work ethic, and team player attitude — an exceptional Flutter developer with a deep understanding of the technology and a talent for troubleshooting and problem-solving.
Waqas is diligent, a good problem solver and always follows best practices in software development.
Sourced directly from my LinkedIn profile — linkedin.com/in/waqasshafi.
I'm a software engineer who likes problems that sit below the UI layer — API and SDK integrations, hardware communication, state that has to stay correct across screens or devices, and the architectural decisions that keep a codebase maintainable as a product grows.
Most of my 9+ years in mobile have been in Flutter, but the common thread across healthcare kiosks, payment integrations, and embedded multi-display hardware is the same: build something production-grade, make it reliable, and make it something the next engineer can actually maintain. I work closely with backend, AI, hardware, and product teams, and I've led engineering teams across concurrent product lines.
$ whoami
Waqas Shafi — Senior Software Engineer. Open to senior/lead Flutter and mobile engineering roles, remote opportunities, and select consulting work involving complex integrations or embedded systems.
$ ./reach-out --all