Devarsh Ranpara
๐ง devarshranpara.me@gmail.com | ๐ Toronto, ON, Canada ๐ linkedin.com | ๐ github.com | ๐ ranpara.net
Professional Summary
Mobile Software Engineer with more than 7 years of experience building native and cross-platform apps for Android and iOS. I work across the full mobile stack, from native development in Swift and Kotlin all the way to cross-platform delivery with Flutter and React Native, and I am comfortable going down to the native SDK layer any time a feature needs it. A big part of my work has been connecting mobile apps to hardware and to the outside world, things like Bluetooth and BLE devices, NFC and contactless payments, geofencing and location, beacons, and USB peripherals such as thermal receipt printers and QR scanners, together with real time event streams. I have owned hard systems from the architecture through production release and field reliability, helped engineering teams grow, and shipped on real deadlines without dropping the quality. I care a lot about clean architecture, a good developer experience for the team, and using modern AI tools to make the day to day work faster.
Experience
Snappy Innovations, Canada
Mobile Software Engineer (Native and Cross-Platform) | Jan 2024 - Present
- Led the development work across a Flutter POS monorepo that has 7 apps inside it (POS, Kiosk, Kitchen Display System, Customer Display, and the shared packages). Over about 2.5 years of active work I delivered 2,000+ commits, 400+ merged pull requests, and touched 971 different files, with native iOS (Swift) and Android (Kotlin) code wherever the platform layer was needed.
- Built and maintained the pos_package shared core library (166k+ lines added), which holds the common business logic, localization, BLoC state management, and API integrations that every Snappy product uses.
- Built the device and peripheral integration layer for the POS and Kiosk apps using native Swift and Kotlin code behind Flutter method channels, connecting the apps to USB thermal receipt printers, USB and HID QR / barcode scanners, NFC card readers, and the cash drawer, so that the store hardware works as one smooth flow.
- Built and owned NFC contactless payments end to end through Stripe Terminal Tap to Pay (the tap to pay flow right on the device), including the connection token flow, reader discovery, the payment intent handling, and the success and error responses back to the app.
- Built USB and HID QR / barcode scanner support, including the scan dispatch, the data extractors, gift card scan handling, and gating the scan based on order state.
- Built USB thermal receipt printer integration: the printer selection logic, kitchen receipt printing, cash transaction receipts, and showing the printer dialog only when a printer payment rule exists.
- Built and owned deep integrations between the POS platform and the backend, including NATS real-time event streams, WebMev, and third-party payment gateways, so that payment state, order data, and device status stay available in real time in a high throughput, always-on retail setup.
- Created the Snappy Pay Flutter plugin from scratch as a standalone and reusable package that wraps the Stripe Terminal SDK (iOS Swift and Android Kotlin) and exposes a clean Dart API, so that NFC contactless payments can be used across the whole Snappy business suite.
- Built and owned the Guest Center / CRM system (486 file touches), which is the single largest feature area, including guest info management, membership balance integration, transaction history, BLoC based state, and address and postal code handling.
- Owned the full cart and ordering flow: modifier selection logic, cardinality conditions, combo items, attribute weightage and ordering, open modifiers, and cart state management through
shopping_cart_cubit. - Built the complete rewards and coupons system: coupon selection, cardinality, order id validation, send coupon permissions, the coupon processor refactor, multi selection UI, and the redemption flows.
- Delivered the full payments, refunds and tips module: Stripe payment cancellation, full and partial refund dialogs, tip bases inside split payments, the cash payable API migration, and receipt printing for cash transactions.
- Built native Flutter method channels for kiosk hardware events, including door open and close monitoring and other device level signals coming from the platform side.
- Owned the localization and i18n pipeline across 6 languages (English, French, Korean, Chinese Simplified and Traditional, Spanish) and added the entire Vietnamese translation file myself, with heavy work in the
.arbfiles and the generatedmessages_*.dartfiles. - Drove the platform and release engineering side: multiple Flutter, Xcode and Android SDK upgrades, macOS Sequoia compatibility, iOS local network and permission handling, Shorebird hotpatch tracking (Firebase Analytics, Slack notifications, and a client version header), CI/CD pipelines, and cross-platform LF line ending normalization.
- Kept the architecture quality in check: steady BLoC/Cubit migration (59 BLoC files), removing money as double by using
centsToDollars, removing brittle global lookups, using short lived HTTP clients, fixing memory leaks, and adding 40+ unit test files. - Helped standardize the Snappy Design System, so that the UI and UX stay consistent across all the Snappy products through one shared component library.
- Built internal AI powered developer tools using Claude and MCP Servers to automate the pre deployment checks, the code quality gates, and to speed up the development workflow for the team.
- Mentored engineers through code reviews and technical pairing, set the engineering standards, and worked closely with the product, QA, and design teams.
Seneca Polytechnic, Toronto, Canada
Project Manager IT (Internship) | Oct 2023 - Dec 2023
- Managed the project scope, the technology selection (React, Node.js, and Firebase), and the sprint planning for the hackathon initiatives.
- Coordinated between the cross functional teams (Design, QA, and Dev) so that everything was delivered on time against the defined milestones.
- Used Agile methodology to manage the backlog, run retrospectives, and keep the delivery velocity steady under tight deadlines.
Simform Software, India
Software Engineer, then Senior Software Engineer, then Lead Software Engineer | Apr 2019 - Apr 2023
- Owned the end to end delivery of several enterprise mobile products across FinTech, Hospitality, and Crypto domains, architecting and shipping production systems with native Android (Kotlin), native iOS (Swift), and cross-platform (Flutter and React Native) all in the mix depending on the product needs.
- Led the white-label transition of a legacy FinTech platform, where I designed one shared codebase that served four different brands across Android, iOS, and PWA, while balancing the delivery speed, the maintainability, and the platform limits.
- Built hardware and connectivity features across the mobile products, including Bluetooth and BLE device communication, beacon detection, geofencing and location based triggers, and NFC for tap based and contactless flows, working close to the platform layer on both Android and iOS.
- Built complex native integrations using Swift, Kotlin, and C++, including a high performance audio waveform rendering engine with real time visualization that handled native audio codec integration and raw waveform data extraction.
- Shipped and maintained React Native apps alongside the native and Flutter work, including writing native modules and platform bridges where the app needed to reach the device or a native SDK that React Native did not cover out of the box.
- Played a key role in scaling the mobile engineering department from 3 to 35+ engineers, by designing and putting in place the department software development processes, code review standards, and best practices.
- Ran 10+ internal training programs covering Flutter framework updates, architecture patterns (BLoC and MobX), CI/CD, and production best practices, which brought 10+ junior engineers up to a production ready level.
- Mentored 5+ junior and mid level engineers, and helped with sprint planning, requirement estimation, risk identification, and technical spikes across three projects running at the same time.
- Worked with product management, design, and QA to make the projects successful, and managed the project backlog and the sprint ceremonies as part of the full Agile delivery cycle.
- Maintained and released apps to the Google Play Store and the Apple App Store, managed the CI/CD pipelines with Codemagic, Bitrise, and Fastlane, and kept everything compliant with the store guidelines.
- Did architecture reviews, found the future risks in the requirements early, and proposed technical solutions that balanced performance, maintainability, and the delivery speed.
Projects
Snappy Pay, Flutter Plugin for Stripe Terminal Tap to Pay (NFC) (2025)
- Founded and architected the
snappy_tap_to_payFlutter plugin repository from scratch, and I am the founding and primary author of the Stripe Terminal integration at Snappy. - Built the complete NFC contactless payment flow on the Stripe Terminal iOS SDK: terminal initialization, the connection token provisioning flow,
TTPTokenProvider, reader discovery (TTPReaderDiscovery), connect to reader, payment intent handling, and propagating the success and error responses back to the Flutter side. - Designed the plugin with scoped Flutter method channels (so there is no global state), added dispatch queue fixes, wrote unit tests for the method channel, and built a full example app, so that it is reliable in production.
- Delivered the whole plugin in 3 weeks to meet a hard business commitment, going from repo bootstrap to production ready contactless payments, and I did not cut corners on code quality, architecture, or test coverage.
- Tech: Dart, Swift, Kotlin, Stripe Terminal SDK, NFC, Flutter Method Channels, Java 17, Gradle, CocoaPods
ShowcaseView, Open Source Flutter Library (1.9k+ GitHub Stars)
- Built the overlay and clipping features for one of the most popular Flutter onboarding and feature discovery libraries.
- Managed the project roadmap, reviewed and merged pull requests, and kept the code quality up for a library that is used by thousands of Flutter apps around the world.
- Handled community issues, documented the APIs, and made sure it stayed compatible across Flutter version upgrades.
AudioWaveforms, Open Source Flutter Plugin (200+ GitHub Stars)
- Built a high performance audio waveform rendering engine for Flutter, with complex native integrations in Swift, Kotlin, and C++ over platform channels to handle the audio codecs and the raw waveform data extraction in an efficient way.
- Solved tricky performance bottlenecks around real time audio visualization on mobile, so that the rendering stays smooth at a high frame rate on both Android and iOS.
- Tech: Dart, Swift, Kotlin, C++, Flutter Platform Channels
Snake Game, Flame 2D Game Engine, Flutter (Side Project)
- Built a fully working Snake game using the Flame 2D game engine, as a learning project to try out game development in Flutter.
- Built a custom joystick component from scratch without any external dependency, handling the touch input, the direction mapping, and a smooth game loop.
Education
Seneca Polytechnic, ON, Canada, Project Management, Information Technology May 2023 - Dec 2023
Gujarat Technological University, India, Master of Computer Application, Major in Software Development Aug 2017 - Apr 2019
Gujarat University, India, Bachelor of Computer Application, Major in Software Development Jun 2014 - Apr 2017
Skills
| Category | Details |
|---|---|
| Languages | Dart, Kotlin, Swift, Java, C++, JavaScript |
| Cross-Platform | Flutter, React Native |
| Native Mobile | Native Android (Kotlin), Native iOS (Swift), Android SDK, iOS SDK, Platform Channels, Native Modules |
| Hardware and Peripherals | Bluetooth and BLE, NFC, Beacons, Geofencing and Location, USB Thermal Printers, USB and HID QR / Barcode Scanners, Cash Drawer, HID Devices |
| Payments | Stripe Terminal SDK, Tap to Pay (NFC), Stripe Payments, Contactless Payments |
| Architecture | BLoC, Cubit, MobX, MVVM, Clean Architecture, Plugin Development |
| Real-time | NATS, WebSockets, Stream Adapters, Flutter Method Channels |
| Databases | Firebase, MySQL, SQLite, Hive |
| Tools | Git, Postman, JIRA, Xcode, Android Studio, VS Code |
| CI/CD | GitHub Actions, Codemagic, Bitrise, Fastlane, Shorebird |
| Cloud and DevOps | Firebase (Analytics, Crashlytics, Cloud Storage), Google Play, App Store |
| AI Tools | Claude, Cursor, MCP Servers |
| Localization | Flutter Intl, ARB files, i18n (EN, FR, KO, ZH, ZH-TW, ES, VI) |
| Testing | Unit Testing, Widget Testing, Integration Testing, TDD |
| Methodologies | Agile, Scrum, Sprint Planning, Technical Spikes, Code Review |
Achievements and Community
- Write technical articles on my personal site ranpara.net. My post Perceptron Explained From Scratch reached the number 1 spot on Hacker News and stayed on the front page for a few hours, which brought 200k+ readers to the site in that month.
- Maintainer of ShowcaseView, an open source Flutter library with 1.9k+ GitHub stars that is used by thousands of apps around the world.
- Mentored and upskilled 10+ engineers at the junior and mid level into production ready developers.
- Delivered 5+ technical sessions and workshops on building cross-platform and native mobile apps with Flutter, React Native, and Dart.
- Built internal AI powered developer tools using Claude and MCP Servers to automate the pre deployment checks and speed up the team development workflow.
- Built an internal quiz application that was used for the engineering sessions and events at Simform.
- Built a custom cricket auction application and hosted the live auction event as the MC for the engineering team.
Last updated: June 2026