Open to full-time remote roles · Algiers (GMT+1)

Flutter Developer · Android & iOS

Sid Ali Boumaraf

Production Android and iOS apps, shipped end to end, from Figma file to signed store release.

Three years building Flutter apps across a product studio, freelance clients, and an educational institution. I own the full lifecycle: Clean Architecture and MVVM structure, state with Riverpod and GetX, REST and BaaS integration, offline-first data layers, unit and widget tests, CI/CD, app signing, and store submission. Native Android background in Java.

Movie discovery app running on a phone
Delivery app running on a phone
Flutter Developer Android & iOS · release builds
RTL / Arabic localization · offline-first sync
3 years Shipping production Android & iOS
8+ apps Figma to store release · 3 live on Google Play
GMT+1 Full EU overlap · 4+ hours with US Eastern

About me

I build production Flutter apps, and design the UI/UX behind them.

I'm a Flutter developer in Algiers with three years of production experience across Android and iOS. UI/UX design is one of my core strengths rather than an afterthought. I can build precisely from a handoff, or design the screens myself when a project has no designer. I started in native Android with Java, and that background still shapes how I reason about platform behaviour and performance.

I lead mobile builds end to end: scalable architecture, predictable state, robust API integration, offline-capable flows, and UI/UX considered from the first wireframe rather than bolted on afterwards.

I take products from Figma to signed release: Firebase, Supabase, Appwrite or custom REST on the backend, build flavors and environment config in between, Play Store and App Store submission at the end. The codebase stays understandable after the first launch.

Release ownership

Build flavors, environment config, signing, Crashlytics, and submission to both Google Play and the App Store.

RTL & Arabic UI

Production right-to-left layout: bidirectional text, mirrored iconography, Hijri calendar conversion. Native Arabic speaker.

Offline-first data

SQLite and Hive layers that keep apps usable on intermittent connections and sync queued writes on reconnect.

Tests & CI/CD

Unit and widget tests across domain and presentation, run with static analysis and signed builds on every merge.

Skills

What I reach for first, and what I'm still growing into.

Grouped by how much production time each one has actually had, because a flat list of eighty tools tells you nothing.

Core

Daily, for three years
Flutter Dart Clean Architecture MVVM Repository pattern Feature-first structure Dependency injection Riverpod GetX REST APIs SOLID

Specialist

Where I'm hard to replace
RTL / Arabic localization Offline-first architecture Notification reliability under OEM battery restrictions Deep linking Performance profiling with DevTools

Native Arabic speaker with a degree in literature and civilisations. I've shipped full bidirectional layouts, mirrored iconography and Hijri calendar conversion to production, not just wrapped a widget in a Directionality.

Also strong

Shipped, more than once
Provider Java / native Android Firebase Supabase Appwrite PostgreSQL SQLite Hive SharedPreferences SQL

Testing & release

Getting builds out the door
Unit & widget testing Integration testing Static analysis / lint baselines Code review Git GitHub Actions Build flavors Environment config App signing Play Store submission App Store & TestFlight Crashlytics Firebase Analytics

App capabilities

Platform surface area
Auth (Google / Facebook / email) Push & local notifications Background tasks In-app purchases Third-party SDK integration Google Maps SDK

Design & tooling

When I'm the one designing
Figma to code Material Design Responsive & adaptive UI Design systems Photoshop Illustrator Android Studio VS Code Cursor Claude Code

Familiar

Productive, not my default
Bloc / Cubit ValueNotifier ChangeNotifier GitLab CI

I've worked in Bloc codebases and can read and extend one, but Riverpod and GetX are where my production hours are. Listing it honestly beats fumbling provider scoping on a screen share.

Experience

A mobile engineering path built from the platform up.

Sep 2026 – Present Current

Lead Mobile Developer — E-Business Lab (EBL)

Android & iOS apps · UI/UX design and store releases

  • Lead mobile developer building Android and iOS applications, from architecture and implementation through to delivery.
  • Design the UI/UX of the apps I build, so product, design and code stay consistent.
  • Own Google Play and App Store releases, including signing, store listings and review.
  • Drive project development end to end, with Life Door and White Label shipped to Google Play.
  • Flutter
  • Android & iOS
  • UI/UX
  • Store releases
  • Team lead
Nov 2025 – Sep 2026

Flutter Developer — Deepminds

Algiers, remote · Cross-platform apps for early-stage startup clients

  • Lead mobile engineer on concurrent Flutter applications, owning each product from architecture through Play Store and App Store release.
  • Maintained GitHub Actions pipelines that ran static analysis, unit and widget tests, and signed build generation on every merge.
  • Reviewed PRs and set the lint and static-analysis baseline now used on new studio Flutter work.
  • Shipped a health-tech product to both stores, owning iOS provisioning, certificates, TestFlight distribution and App Store review alongside the Android release.
  • Flutter
  • Clean Architecture
  • GitHub Actions
  • iOS release
  • UI/UX
Jun 2024 – Nov 2025

Flutter Developer (Freelance) — Self-employed

Algiers · Requirements to Play Store, solo, for direct clients

  • Delivered Flutter applications end to end, from requirements gathering through publishing and post-launch support.
  • Built authentication flows against Firebase, Supabase and Appwrite, choosing the backend per client on data model, cost and security-rule requirements rather than habit.
  • Implemented offline-first data layers with SQLite and Hive so apps stayed usable on intermittent connections, syncing queued writes on reconnect.
  • Owned the entire release pipeline solo: build flavors, environment config, versioning, app signing, Crashlytics monitoring and store submission.
  • Riverpod
  • GetX
  • Offline-first
  • BaaS
  • Release builds
Sep 2023 – Jun 2024

Flutter Developer — School of Math & Physics

Algiers · Sole developer on an internal student-records app

  • Sole developer of a Flutter application that replaced the school's paper-based student record process, used daily by staff.
  • Built local persistence with SQLite and SharedPreferences and gathered requirements directly from institutional stakeholders.
  • Extended earlier native Android (Java) experience into platform-specific work. The object-oriented and lifecycle fundamentals still applied across current Flutter projects.
  • Flutter
  • SQLite
  • Java / Android

Selected work

Shipped apps, and one platform in private beta.

Projects I can talk through in detail. The ones below are the ones I'd bring to an interview; the rest are smaller but finished.

Client work not shown. Under NDA I've shipped 8+ production apps across education, logistics, health-tech, faith and commerce, including one released to both Google Play and the App Store via TestFlight, and several with offline-first sync layers. Happy to walk through the architecture and the decisions in an interview; source and branding stay private.

Education · Live on Google Play

eDirassa

Learning platform for schools and students. Structured content delivery, school workflows, push notifications, and offline lesson caching so students on intermittent connections keep access to material they've already downloaded.

  • Flutter
  • Firebase
  • Offline caching
  • Notifications

Faith & daily utility · Live on Google Play

Noor

Prayer times and Islamic daily utilities, in full right-to-left Arabic: bidirectional text handling, mirrored iconography and Hijri calendar conversion. Location-aware schedules delivered by local notifications that survive Doze and OEM battery restrictions.

  • Flutter
  • Full RTL Arabic
  • Geolocation
  • Local notifications

Logistics · Delivery

Wasla

Two-sided delivery operations platform for stores and drivers across Algeria, built from one codebase and shipped as separate flavors. Sole mobile engineer. The full write-up is below.

  • Flutter
  • Node.js
  • Google Maps SDK
  • Firebase
  • PostgreSQL

B2B commerce · Live on Google Play

White Label

B2B platform to discover private-label products, build a branded offering and place bulk orders, with tracking from validation to delivery. Lead mobile developer.

  • Flutter
  • B2B commerce
  • Bulk ordering
  • Order tracking

B2B ordering · Live on Google Play

Life Door

B2B door ordering app: browse the catalog, customize doors to a project's needs and track each order to delivery. Co-developed with another developer.

  • Flutter
  • B2B ordering
  • Customization
  • Order tracking

Commerce · Source on GitHub

Yash Online Book Store

Bookstore app with product discovery, reading-oriented UI details and browsing flows. Public source, so it's the easiest place to read how I structure a Flutter codebase.

  • Flutter
  • GetX
  • Commerce UX
  • Open source

Also shipped

Smaller apps, built to learn a specific thing and finished properly.

Everything else, including older experiments, is on GitHub.

github.com/sidali-dev

Case study

Wasla — delivery operations platform

The problem

Two audiences with opposite jobs, on the same package. Stores need inventory, delivery-partner management and a live view of what is in transit. Drivers need job discovery, daily operations, earnings, and a way to push a status change in two taps while standing at a door. Both sides have to agree on where a package is, right now.

The hard part

Every status change is written from a phone in motion, on intermittent mobile data. A “delivered” tap that silently fails (or one that lands out of order behind an older event) corrupts the single fact the whole platform exists to provide. Correctness here mattered more than latency.

What I built

  • An offline write queue for delivery status changes that reconciles out-of-order events on reconnect, so a driver in a dead zone can keep working and the timeline still resolves correctly.
  • One codebase serving both roles, shipped as separate build flavors, so each install carries only its own dependencies and its own permission surface.
  • Live package tracking on Supabase Postgres + Realtime, routing and map surfaces via the Google Maps SDK, and status push via FCM.

The tradeoff

Two flavors instead of one app with a role switch. It costs a second store listing and a second release to manage every time, and it rules out a store owner and a driver sharing one install. In exchange each side gets a smaller binary, a narrower permission prompt, and no dead code from the other role.

Engineering decisions

Choices I've made in production, and why.

Not a process diagram. The actual calls, with the reasoning attached.

Backend per client, not per habit

Firebase, Supabase or Appwrite chosen on the data model, the cost curve and the security-rule requirements of that specific product, not on which one I used last.

Offline-first where the network isn't

SQLite and Hive local layers with queued writes that sync on reconnect, because “usable on a bad connection” is a product requirement here, not a nice-to-have.

Nothing blocking on the launch path

Cold start cut by deferring service initialisation off the launch path and lazy-loading feature modules, profiled with DevTools rather than guessed at.

Feature-first, so changes stay local

Presentation / domain / data boundaries per feature, so a mid-build requirement change lands in days without touching the data layer.

Notifications that survive the OEM

Scheduling that keeps firing under Doze and the aggressive battery managers Xiaomi, Huawei and Oppo ship. It's the failure mode nobody catches in an emulator.

RTL as a layout constraint

Arabic treated as a direction, not a string swap: bidirectional text, mirrored iconography, Hijri conversion, and layouts designed to survive both directions.

Tech stack

Tools I use to design, build, connect, and ship mobile apps.

Flutter Dart Java Firebase Supabase Appwrite Git GitHub GitHub Actions REST APIs SQLite PostgreSQL Figma Photoshop Illustrator Android Studio VS Code

Contact

Currently open to full-time remote roles.

Mid-to-senior Flutter positions with EU or US-overlapping teams. Based in Algiers (GMT+1), with full overlap of European hours and 4+ hours of US Eastern. Available as a direct employee or through an EOR / contractor arrangement.

Hiring, or just want the long version of something above? Send it here. I reply within a day.