Waqas Shafi

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.

profile.status
role Senior Flutter Engineer, ITCurves
also Flutter Consultant, Ternio
focus Flutter · Mobile · Embedded
experience 9+ yrs mobile / 7+ yrs Flutter
shipped 50+ production apps
leadership Cross-functional & team lead
status Open to senior/lead roles
01Engineering Work

Production applications and the engineering behind them

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

iDoc Health telemedicine kiosk application screenshot

iDoc Health

Case Study

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.

+

Project Overview

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.

My Role

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.

The Challenge

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.

Technical Approach

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.

Key Engineering Decisions

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.

Outcome

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.

Specific biomedical devices, patient data, and proprietary hardware/backend implementation details are confidential under client NDA and not described here.
flutter_multi_display open source package

flutter_multi_display

Case Study Open Source

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.

+

Project Overview

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.

My Role

I designed, built, and published the package, and maintain it as open source under the MIT license.

The Challenge

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.

Technical Approach

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.

Key Engineering Decisions

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.

Outcome

Publicly available on pub.dev (currently v0.0.3), documented with a full setup guide, API reference, and troubleshooting notes.

Architecture

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.

PRIMARY DISPLAY Flutter Engine main() SECONDARY · VGA Flutter Engine screen1Main() SECONDARY · HDMI Flutter Engine screen2Main() SharedState

API Example

A condensed excerpt from the package's own public documentation — setting up the displays and keeping a value in sync across all of them.

main.dart
// 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);
}
Currently Android-only — iOS, web, and desktop are not supported.
Shopini e-commerce application screenshot

Shopini

Case Study

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.

+

Overview

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.

Engineering Responsibilities

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.

Technical Stack

Flutter, GetX for state management, REST APIs for backend/catalog/order integration, and HyperPay for payment processing.

Product Outcome & Context

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.

Specific performance issues, bug reports, release processes, and the company's other applications are not detailed here out of respect for confidentiality.

// More Engineering Work

⌕

flutter_multi_display package logo Open Source

flutter_multi_display

Open-source package enabling multiple Flutter engines on RK3588 for advanced multi-display embedded applications. See full case study above.

Flutter Embedded RK3588
iDoc Health telemedicine application screenshot Health & Fitness

iDoc Health

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.

Flutter REST API Firebase
Play Store Not available App Store App Store
Shopini e-commerce application screenshot Shopping

Shopini

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.

Flutter GetX HyperPay
Weight Loser fitness tracking application screenshot Health & Fitness

Weight Loser

Built at TechNerds Inc.

Weight Loser delivers personalized diet/fitness plans and tracks progress. Includes 5,000+ recipes and mindfulness tools.

Flutter GetX WebSocket
Blink mindfulness application screenshot Health & Fitness

Blink

Independent project

Blink provides therapist-approved mindfulness tools to manage moods. Privacy-focused with no data collection.

Flutter Bloc/Cubit Firebase
Play Store Google Play App Store Not available
Tapp App geo-social networking application screenshot Communication

Tapp App

Independent project

Tapp connects students via a geo-social platform for events and networking. Features anti-harassment tools.

Flutter GraphQL Google Maps
Play Store Not available App Store App Store
AUR Pets marketplace application screenshot Shopping

AUR Pets

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.

Flutter REST API Firebase
AUR Restaurant ordering application screenshot Food & Drink

AUR Restaurant

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.

Flutter REST API WebSocket
Play Store Not available App Store Not available
AUR Waiter order management application screenshot Food & Drink

AUR Waiter

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.

Flutter REST API WebSocket
Play Store Not available App Store Not available
Easy Budget expense tracking application screenshot Finance

Easy Budget

Built at CAS Centre for Advance Solutions

Easy Budget tracks expenses and plans budgets with customizable templates. Serverless design ensures data privacy.

Flutter REST API SQLite
We Always social platform application screenshot Social

We Always

We Always connects users through chats, groups, and games to earn coins. Interactive social platform for all.

Flutter REST API WebSocket
Play Store Not available App Store Not available
Dialboxx business search engine application screenshot Business

Dialboxx

Dialboxx is Pakistan's top business search engine for finding services and products. Supports direct messaging and business listings.

Flutter REST API WebSocket
Play Store Not available App Store Not available
ELMS Admin school management application screenshot Education

ELMS Admin

Built at CAS Centre for Advance Solutions

ELMS Admin enables institute admins to manage staff, finances, and school operations efficiently.

Flutter REST API Firebase
Play Store Not available App Store Not available
ELMS Student academic tracking application screenshot Education

ELMS Student

Built at CAS Centre for Advance Solutions

ELMS Student helps students track attendance, syllabus, exams, assignments, and fees seamlessly.

Flutter REST API Firebase
Play Store Not available App Store Not available
Auto Attendance location-based attendance application screenshot Education

Auto Attendance

Built at CAS Centre for Advance Solutions

Auto Attendance marks attendance automatically using location-based nearby services for institutes.

Flutter Nearby Service Firebase
Play Store Google Play App Store Not available
Mr Daze Driver transport application screenshot Maps & Navigation

Mr Daze Driver

Mr Daze Driver enables drivers to transport luggage or passengers city-to-city and within city efficiently.

Flutter REST API Google Maps
Play Store Not available App Store Not available
Mr Daze Rider booking application screenshot Maps & Navigation

Mr Daze Rider

Mr Daze Rider lets users book drivers for luggage or personal rides across cities.

Flutter REST API Google Maps
Play Store Not available App Store Not available
Brbene dining experience application screenshot Food & Drink

Brbene

Brbene delivers a premium dining experience with high-quality dishes and top hygiene standards.

Flutter REST API SQLite
Play Store Google Play App Store Not available
Rscued food-waste reduction application screenshot Food & Drink

Rscued

Built at Aurora Solutions

Rscued reduces food waste by transforming surplus fruit into juices, smoothies, and compost.

Flutter Firebase
Better Mood mental wellness application screenshot Health & Fitness

Better Mood

Built at TechNerds Inc.

Better Mood manages depression with CBT, sleep stories, and calorie tracking for wellness.

Flutter REST API Charts
Ahjili News content sharing application screenshot News

Ahjili News

Ahjili News lets users view, comment, and share diverse content posted by Ahjili.

Flutter REST API Firebase
CAARD digital networking application screenshot Networking

CAARD

CAARD streamlines networking with digital profiles, QR sharing, and real-time analytics.

Flutter QR REST API
Play Store Google Play App Store Not available
Senior Housing Central housing support application screenshot Social Services

Senior Housing Central

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.

Flutter REST API WebSocket
Play Store Not available App Store Not available
Greater Moments memory journaling application screenshot Lifestyle

Greater Moments

Built at TechNerds Inc.

Greater Moments helps older adults, including those with dementia, record and reflect on meaningful moments.

Flutter REST API Firebase
Radio Luisteren Dutch radio streaming application screenshot Music & Audio

Radio Luisteren

Built at Techtix

Radio Luisteren offers live Dutch radio with 100+ channels, sleep timers, and favorite stations.

Flutter Bloc/Cubit Firebase
~/career — access log

$ ls -la ~/projects/confidential/

Healthcare 🔒 NDA
Fintech 🔒 NDA
E-commerce 🔒 NDA
IoT 🔒 NDA
Social Networking 🔒 NDA
Enterprise 🔒 NDA

// +25 more entries — permission denied

02Capabilities

What I actually solve, not just what I've touched

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.

🧱

Mobile Architecture & Engineering

Flutter & Dart Clean Architecture MVC SOLID principles Bloc/Cubit GetX Dependency injection REST APIs Socket.io SQLite Hive Firebase/Firestore Reusable component libraries Test-Driven Development
🔌

Complex Product Integrations

Stripe HyperPay Apple Pay Agora VoIP Socket.io AppsFlyer analytics Push notifications Third-party SDK integration App lifecycle & error handling
👥

Technical Leadership & Delivery

Architecture & technical decisions Code review Release management Led team of 3 (Techtix) Directed team across 3 products (TechNerds) Mentoring Agile/Scrum CI/CD Cross-functional collaboration
03Experience

7+ years of Flutter, 9+ years of mobile

Employment history — company, role, location, and what I was responsible for.

Senior Flutter Engineer — ITCurves Jul 2026 – Present
Lahore, Punjab, Pakistan · On-site
  • Senior Flutter Engineer, currently building production mobile applications.
Senior Flutter Consultant — Ternio Jun 2026 – Present
Lahore, Punjab, Pakistan · On-site
  • Consulting engagement via ITCurves' partnership with Ternio, alongside the ITCurves role above.
Senior Software Engineer (Flutter) — iDoc Apr 2024 – Jul 2026
Riyadh, Saudi Arabia · Remote
  • Led engineering of an AI-powered telemedicine platform integrating biomedical devices, embedded Android systems, and cross-platform mobile applications, connecting patients and doctors via smart kiosks.
  • Integrated biomedical devices using serial communication protocols, enabling real-time patient health monitoring.
  • Owned software architecture, release management, and code review practices, collaborating with multidisciplinary healthcare teams to deliver scalable Android and iOS solutions.
  • Collaborated with AI, backend, hardware, and product teams to deliver production-ready healthcare solutions.
Lead Mobile Software Engineer — Techtix Jun 2023 – Jun 2024
Lahore, Pakistan
  • Delivered 3 production Android/iOS apps, including Entradium, a live concert ticketing platform, and an accessibility-focused NGO application for senior citizens.
  • Led a team of 3 developers, establishing sprint routines and process improvements that kept all releases on schedule.
Lead Mobile Software Engineer — TechNerds Inc. Nov 2022 – Jul 2023
Lahore, Pakistan
  • Directed the Flutter team building Greater Moments, Hera Aviation, and Better Mood, managing scope across 3 concurrent products.
  • Architected reusable component libraries adopted across multiple products, reducing development effort and improving maintainability.
Senior Software Engineer — Shopini Nov 2021 – Nov 2022
Basra, Iraq (Remote)
  • Developed and optimized scalable e-commerce features serving an application with over 1 million downloads.
  • Integrated secure payment gateways, push notifications, analytics, and real-time inventory updates.
  • Improved application responsiveness and reduced UI rendering overhead through performance optimization.
Senior Software Engineer (Flutter) — Ensorcell Designs & Solutions Oct 2021 – Apr 2023
Rawalpindi, Punjab, Pakistan · Remote · Part-time
  • Concurrent part-time engagement alongside Shopini and Aurora Solutions.
Software Engineer (Flutter) — Aurora Solutions Jan 2021 – Nov 2021
Islamabad, Pakistan
  • Built core features for Rscued, Bitewell, and Remember, focusing on performance optimization and seamless cross-platform UX.
  • Shipped scalable applications within tight deadlines while maintaining test coverage and code quality standards.
CAS Centre for Advance Solutions Feb 2017 – Jan 2021
Bahawalpur, Pakistan
Software Engineer (Flutter) · Dec 2019 – Jan 2021

Developed and maintained ELMS Student, Easy Budget, and Inviter; introduced modern software engineering practices that increased app efficiency and scalability across the product line.

Android Developer · Aug 2018 – Dec 2019

Built and improved native Android apps Shery Elec, My Attendance, Prizim, and Foodco, focusing on performance and UX.

Junior Android Developer · Feb 2017 – Aug 2018

Applied native Android development techniques to improve app efficiency and scalability, building foundational mobile development experience.

04Recommendations

What colleagues and managers say

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.

Yamur Al-Douri Senior Project Manager – R&D, SCANIA Group Managed Waqas directly · Feb 2025

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.

Shrouk Hassan Product Designer Worked together at iDoc · Jul 2024

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.

Azhar Ali Team Lead, Flicksoft UG Worked together on the same team · Feb 2025

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.

Noman Ameer CEO, CAS Center for Advance Solutions Managed Waqas directly · Dec 2023

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.

Mansoor Imtiaz Sr. Android & Flutter Developer Senior colleague at Shopini · Mar 2023

Waqas is diligent, a good problem solver and always follows best practices in software development.

Zaheer ud Din Playwright Automation Engineer Worked together on the same team · Mar 2023

Sourced directly from my LinkedIn profile — linkedin.com/in/waqasshafi.

05About

How I work

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.

🎓
BS in Information Technology The Islamia University of Bahawalpur, Pakistan 2017 – 2021
06Contact

Let's talk

contact.sh

$ 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