Visarut Tippun

Software Engineer · iOS & Flutter

I build native iOS apps in Swift and cross-platform apps in Flutter. Most of my projects I've owned end to end, from the first commit to App Store and Google Play release.

knotto.vt@gmail.com
Portrait of Visarut Tippun

Work

OC Trade screen 1OC Trade screen 2OC Trade screen 3

OC Trade

Nov 2024 – Present

Sole developer · Rewrite from iOS Swift to Flutter

Copper price booking app for Oriental Copper that simplifies and automates the booking process.

  • Rewrote the iOS Swift app in Flutter, preserving every feature while optimizing performance
  • Price charts, booking, product catalog, notifications and account management
  • Bloc/Cubit state management
  • Firebase Analytics, Crashlytics and Cloud Messaging
  • SSL pinning and separate development / production configurations
Easy Health screen 1Easy Health screen 2Easy Health screen 3

Easy Health

Jun 2024 – Jan 2025

Sole developer · Built from scratch

Food delivery app for a healthy-meals restaurant, with nutrition tracking per dish and meal-plan subscriptions.

  • Sign in with Apple, Facebook, Google or email
  • Cart, checkout with Stripe, order status and history
  • Google Maps for branch locations and addresses
  • Share meal images to Instagram and other apps
  • Bloc/Cubit, Firebase, SSL pinning and dev / UAT / production environments
Foamtec screen

Foamtec

Nov 2023 – Jan 2025

Sole developer · Built from scratch

Production-line tracking app — staff scan to start, pause or complete work at each station.

  • Task list and task detail per work center
  • Scan employee ID, work center and materials before starting a task
  • Submit quantities and print labels with the Honeywell SDK
  • Bloc/Cubit state management
Mewing by Mike Mew screen 1Mewing by Mike Mew screen 2Mewing by Mike Mew screen 3

Mewing by Mike Mew

Aug 2023 – Jan 2025

Sole developer · Rewrite from Ionic to Flutter

Guided self-practice app for Mewing exercises, with input from Dr. Mike Mew. Freemium with App Store and Google Play subscriptions.

  • Rewrote the Ionic app in Flutter
  • Migrated state management from GetX to Bloc/Cubit for scalability and maintainability
  • Selfie progress tracking, weekly well-being questionnaire and charts
  • Blocked screen capture and recording in the video player
  • A/B testing to optimize the user journey; local reminder notifications
  • Firebase Analytics and Crashlytics, SSL pinning, dev / production environments
El Mercado screen 1El Mercado screen 2El Mercado screen 3

El Mercado

Jun 2023 – Jan 2025

Sole developer · Built from scratch

Food delivery app for El Mercado restaurant.

  • Sign in with Apple, Google or email
  • Cart, checkout with Stripe, order status and history
  • QR code scanning for dine-in ordering
  • Google Maps for branch locations and addresses
  • GetX, Firebase (incl. Dynamic Links), SSL pinning and dev / UAT / production environments
El Mercado Staff screen 1El Mercado Staff screen 2El Mercado Staff screen 3

El Mercado Staff

Jun 2023 – Jan 2025

Sole developer · Built from scratch

Internal app for El Mercado restaurant staff.

  • Product catalog, order management and table service management
  • Incident reporting
  • Multi-language support and push notifications
  • Bloc/Cubit, Firebase, SSL pinning and dev / UAT / production environments
VCTPDS screen 1VCTPDS screen 2VCTPDS screen 3

VCTPDS

Nov 2022 – Jan 2025

Sole developer · Built from scratch

Management tool for Volvo Cars Thailand's central warehouse. Internal App for Volvo Cars Thailand Central Distribution.

  • Car management with VIN scanning for quick identification
  • Document scanning
  • GetX, SSL pinning and dev / production environments
Sabuy Wash screen 1Sabuy Wash screen 2Sabuy Wash screen 3

Sabuy Wash

Oct 2022 – Aug 2023

Sole developer · Built from scratch (v1.0.0 – 1.0.5)

Location-based app to find and pay for nearby laundry machines at Sabuy Wash laundromats.

  • Google Maps for nearby branch locations
  • Machine selection and payment, with order status
  • GetX, Firebase (incl. Dynamic Links), SSL pinning and dev / UAT / production environments
evRiderz screen 1evRiderz screen 2evRiderz screen 3

evRiderz

Aug 2021 – Mar 2023

Sole iOS developer · Native, built from scratch

Dual-purpose app for food delivery and transportation.

  • Sign in with Apple, Facebook, Google or email
  • Restaurant and product listings, cart and checkout with 2C2P
  • Order status and history; Google Maps for locations and addresses
  • RxSwift, Firebase (incl. Dynamic Links) and dev / UAT / production environments
evDriverz screen 1evDriverz screen 2evDriverz screen 3

evDriverz

Aug 2021 – Mar 2023

Lead iOS developer · Native, built from scratch

Driver app for receiving ride jobs from evRiderz.

  • Real-time status updates with Socket.IO so drivers are notified of new orders promptly
  • Order details, income status and Google Maps for restaurant and destination
  • RxSwift, Firebase and dev / UAT / production environments
SCG Family screen 1SCG Family screen 2SCG Family screen 3

SCG Family

Jan 2021 – May 2021

iOS developer · Membership

Cash card registration and access to SCG Family benefits and information.

  • Owned the membership component until the app was discontinued
  • Implemented cash card registration and related information features
  • Set up the UAT and production environments
SBITO screen 1SBITO screen 2SBITO screen 3

SBITO

Nov 2020 – Jan 2025

iOS developer · Account opening

Reward redemption and account management app for SBI Thai Online (SBITO) customers.

  • Built the account opening flow in RxSwift: identity verification, account type selection and secure data submission
  • Supports cash balance, credit balance and mutual fund accounts
  • Integrated with major banks for fast validation
  • Firebase and dev / UAT / production environments
Rabbit Rewards screen 1Rabbit Rewards screen 2Rabbit Rewards screen 3

Rabbit Rewards

Nov 2019 – Mar 2023

Lead iOS developer · v2.0.0 – 2.1.6

Loyalty app for redeeming rewards and subscribing to trips.

  • Led development of the entire app
  • Point redemption, subscription management, user challenges and card management
  • RxSwift, Firebase (incl. Dynamic Links) and dev / UAT / production environments
PERFUMIST Perfumes Advisor screen 1PERFUMIST Perfumes Advisor screen 2PERFUMIST Perfumes Advisor screen 3

PERFUMIST Perfumes Advisor

Oct 2019 – Dec 2021

Lead iOS developer

Personalized perfume advisor for exploring fragrance notes and getting tailored recommendations.

  • Refactored every screen to RxSwift for more efficient, responsive code
  • Implemented all new features after the refactor

Open source & teaching

flutter_liveness screen

flutter_liveness

Author · Flutter package

On-device face liveness detection for Flutter — tells a real face from a photo or video spoof, with no server or internet connection.

  • Bundled MobileNetV2 model running on TensorFlow Lite, about 60–70 ms per check on modern devices
  • Built-in blur check with a Laplacian filter to reject unclear frames
  • Simple API returning a live/spoof result, spoof score, image clarity and inference time, with adjustable thresholds
  • Runs on Android, iOS, macOS, Windows and Linux

aes256

Author · Dart & Flutter package

Lightweight AES-256-GCM encryption for Dart and Flutter, with secure defaults and a two-call API: encrypt and decrypt with a passphrase.

  • Authenticated encryption with AES-256-GCM and PBKDF2-HMAC-SHA256 key derivation (100,000 iterations)
  • Random salt and nonce handled automatically, packed into a self-contained payload
  • Pure Dart — runs on Android, iOS, web, macOS, Windows, Linux and the server
  • 160/160 pub points

flutter_image_gallery_saver

Author · Flutter plugin

Saves images and videos to the device gallery on Android and iOS with a simple API.

  • Save image bytes or a file path — PNG, JPG, GIF, HEIC and videos
  • Native implementations via platform channels, with Swift Package Manager support on iOS
  • 160/160 pub points
Weather screen 1Weather screen 2Weather screen 3

Weather

Teaching project

Sample Flutter app I use to teach interns GetX.