Software Engineer, Independent Consultant

Mohamed Ali Hachicha

Verified Expert in Engineering

I solve problems. I build software and keep it running.

Mohamed Ali Hachicha
BaseSfax, Tunisia
ZoneGMT+1, remote
StatusAvailable

01 About

What I do

Four-plus years building web and mobile systems, then running them in production. Operations platforms and geospatial data, mostly.
Since Jan. 2026 I do it independently, as a registered Auto-Entrepreneur.

I am the lead engineer on the platform I have run for the past two years. I set the engineering standards and review the team's code against them. Features get shaped with the client, from the problem through to the delivery plan. Not just tickets.

Architecture through CI/CD and the production deploys.

Based Sfax, Tunisia. Works remote.
Status Independent consultant
Speaks Arabic (native), English (C1), French (intermediate)

02 Experience

Where the work happened

Jan. 2026 to present

Independent Software Consultant

TEKAB DEV, remote

Lead engineer on Flying For You.

  • Rewrote the admin platform from legacy JavaScript into a typed single-page app, now the operations team's daily tool.
  • Cut demographic and geospatial statistics from 14 seconds to 2.
  • Own CI/CD and the production deploys.

Sept. 2022 to Dec. 2025

Software Engineer

TEKAB DEV, remote

Backlog Genius, Merge Genius, and Retchee first, then Flying For You.

  • Built Flying For You's customer reporting portal end to end, interface and APIs.
  • Built the simulation engine and the live field tracking behind the platform.
  • Shipped features into the React Native field app.

Jan. 2022 to Sept. 2022

Full-Stack Developer

MAS Entreprise

  • Financial data pipelines for audit and compliance.
  • ERP-integrated mobile apps for manufacturing requests and delivery tracking.

Mar. 2021 to Feb. 2022

Flutter Developer

Freelance

  • A Flutter and Firebase e-commerce app, from browsing through to checkout.
  • Order tracking and QR scanning for sales representatives.

03 Selected work

Built, shipped, and kept running

Flagship, in production 2+ years

Flying For You

Street marketing operations platform. Three connected apps: a back office for FFY's staff, a reporting portal for its customers, and a field marketer mobile app.

The rewrite

The back office was legacy JavaScript on framework versions that had stopped being maintainable. Rebuilt as a typed single-page app, screen by screen, while the old one stayed in production.

The map

Live marketer tracking, the demographic heatmap, and the surface campaigns get drawn on, all one map. Polygons, points, and bike routes that follow the streets, each styled on its own. Plans move in and out as KML, GPX, and CSV.

The tiles

The heatmap was a PNG raster: slow to load, impossible to click. Vector tiles were the fix, and Google Maps has no native support for them. So I wrote google-maps-vector-engine, published it on npm under MIT, and rebuilt the pipeline that feeds it: INSEE statistics turned into a zoom 0 to 15 tile pyramid, at IRIS and commune level. That pipeline's run time dropped 60%.

The data

Draw any shape and the map answers with the population and housing inside it, weighted by how much of each INSEE IRIS area that shape covers. It took 14 seconds. It takes 2 seconds on average now. Rebuilding it also fixed correctness defects in the original computation.

The scale

Real-time field tracking ingests hundreds of thousands of GPS pings a day. A live mission draws as a polyline that breaks wherever the marketer paused, paired with a distance-over-time chart that cross-hovers with it. Geofence monitoring catches a marketer leaving an assigned zone or missing a confirmation, then escalates to both the marketer and the admin. Isolating map state from the rest of the application state is what keeps that stream from degrading the interface.

The ownership

I own CI/CD and the production deploys, including diagnosing incidents under live traffic and adding the monitoring that surfaces the next one earlier.

Stack

Ruby on Rails React Next.js TypeScript React Native (Expo) Python PostgreSQL PostGIS Docker QGIS GeoPandas Google Maps API OpenRouteService INSEE data AWS (S3, CloudFront) Scalingo Cloudflare

TallyGrid

/ 02

Logic puzzle game on Google Play. Really a constraint solver with a board attached.

  • Every generated board is proved to have exactly one solution, by an exact solution counter using constraint propagation and backtracking.
  • A second solver works only from human deduction rules. That is how the game guarantees you never have to guess.
  • Difficulty scores and hints both fall out of that solver, so a hint shows the next deduction instead of the answer.
  • Offline-first leaderboard: scores queue locally and sync on the next launch.
Unity C# Cloudflare Workers D1 Firebase

Merge Genius

/ 03

Automated pull request review. Reads GitLab merge requests over webhooks, flags bugs, rates quality, posts the feedback back on the MR.

  • 95% detection accuracy at hundreds of PRs a week.
  • Prompts and token budgets tuned so big diffs get reviewed without falling out of context.
  • A scoring system tracking code-quality trends over time.
Express.js GitLab API OpenAI API

Backlog Genius

/ 04

AI backlog generator. Takes a project brief and returns a structured agile backlog, editable before it goes anywhere, then one click into ClickUp.

  • Planning time down 50%.
  • Built the generator and the prompt logic behind it.
Vue 3 NestJS OpenAI API ClickUp API

Retchee

/ 05

Automated recruitment platform. Video and social-story-style candidate applications with automated tracking.

  • Recruiter workflow time down 35%.
  • Built the recruiter-facing UI and the NestJS/Prisma backend behind it.
NestJS Vue.js Prisma Supabase PostgreSQL Docker

MAS Entreprise

/ 06

Two engagements: audit and compliance pipelines for intercompany finance, and ERP-integrated mobile apps for manufacturing.

  • Real-time anomaly detection for intercompany invoices and payments, feeding audit and compliance reporting.
  • Daily ingestion of FX rates and banking indicators from 15+ Tunisian and Moroccan bank sources at 99.9% accuracy.
  • ERP mobile apps with QR traceability and a Flask microservice behind them. Manufacturing efficiency up 25% across 50+ daily orders.
Python Selenium Pandas Flutter Flask C# (.NET) SQL Crystal Reports Jenkins

04 Open source

Written because nothing else did it

MIT, published on npm

google-maps-vector-engine

Google Maps has no native support for Mapbox Vector Tiles. This renders them: PBF tiles on a google.maps.Map, with fast feature lookups, click selection, and styling you can change at runtime.

TypeScript Mapbox Vector Tiles (MVT/PBF) Google Maps JavaScript API Running in production on Flying For You

Install

npm i google-maps-vector-engine

05 Stack

What I work with

/01 Languages

TypeScript JavaScript Python Ruby Java C# Dart

/02 Frontend

React Next.js Vue.js TanStack Query TanStack Router Zustand Redux Toolkit Pinia Tailwind

/03 Backend

Ruby on Rails NestJS Express.js Flask

/04 Mobile and games

React Native (Expo) RNBackgroundGeolocation Flutter Unity

/05 Data

PostgreSQL PostGIS MySQL MongoDB Redis Prisma Firebase Supabase

/06 Cloud and DevOps

Docker GitLab CI/CD GitHub Actions AWS (S3, CloudFront) Jenkins Scalingo OVH Cloudflare Cloudflare Workers Vercel

/07 Geospatial

Vector tiles (MVT/PBF) QGIS GeoPandas OpenRouteService INSEE data

/08 APIs

Google Maps OpenAI GitLab ClickUp

/09 Testing

Vitest Storybook SonarQube

That list is what I have shipped with, not a fence. Most of it I picked up because a problem turned up that needed it, and the next one will go the same way.

06 How I work

Working with AI

I use Claude Code and Cursor across the build. They make me faster. The thinking stays mine.

01

Thinking and design

I own the problem-solving, the architecture, and the trade-offs. Those calls are mine to make, not the tool's.

02

Building

Claude Code and Cursor help me ship faster, with more consistent code, so more time goes to the hard parts.

03

Testing and refactoring

I use AI to surface edge cases and to review my own work with a second pair of eyes.

08 Contact

Have a project, or a problem to solve?

Most engagements I take solo. When a project needs a full team, I bring one: engineers, designers, and QA testers I have shipped with before.

Please enter your name.

Enter a valid email address.

Write a message of at least 10 characters.

Opens your email app with the message prefilled.

Mohamed Ali Hachicha