OPEN FOR FREELANCE — 2026

I ship apps
people actually use.

Hey, I'm Jaafar Fares — full-stack developer, mobile and web. Six years of Flutter, Kotlin, NestJS and Next.js, from parking gates that open over SSE to live storefronts and three-sided marketplaces. You bring the idea; I'll build and ship the whole thing.

20+
APPS SHIPPED
6y
MOBILE + WEB
1,000+
ACTIVE USERS · EPARK
$ agent plan --ship
✓ spec → schema
✓ tests 84%
9:41
𝄙 ▲ ▮
dev.status — available
Jaafar Fares
Jaafar Fares
flutter · kotlin · nestjs · next.js
AI-assisted delivery
lead · 5 devs
◈ 1,000+ live users
◈ 4 stores shipped
HOW AN IDEA BECOMES A PRODUCT
STEP 01
You bring the idea
A voice note, a scribble, a competitor you want beaten. No spec required.
STEP 02
I turn it into a system
Architecture, data model, payments, realtime, CI — decided before a screen is drawn.
STEP 03
It ships and gets used
Store release, analytics, crash-free sessions, and the next version already planned.
STEP 04
Real people use it daily
Bookings, payments, deliveries — running in production while the client plans v2.
THE CLIENT
Jaafar Fares
JAAFAR
INCOMING — voice note, 0:42
"People waste 20 minutes hunting for parking. Can we just… let them book it?"
— the client, day 0
Flutter client
riverpod · go_router
NestJS API
JWT · TypeORM · SSE
Postgres
state of truth
Firebase
push · crashlytics
Moyasar
cards · wallets
Booked — Zone B
gate opening…
1,000+
ACTIVE USERS
2 stores
iOS · ANDROID, CI/CD
Shipped ✓
AND STILL MAINTAINED
booking confirmed · 14s ago
payment captured · now
"It went live, and people just… started using it."
— the client, 90 days later
FLUTTERKOTLINJETPACK COMPOSE RIVERPODNESTJSNEXT.JS FIREBASEGOOGLE MAPSCI/CD · FASTLANE
01

Mobile work

FLUTTER / KOTLIN / COMPOSE
FLUTTER · RIVERPOD APPLE PAY · MOYASAR SSE REALTIME
CASE STUDY 01

ePark · 1,000+ active users

1,000+
ACTIVE USERS
<1s
GATE OPEN, SSE
2
APPS + CI/CD

Smart-parking platform: find a spot, book it, pay with Apple Pay or wallet, and the gate opens in realtime over server-sent events. Shipped with EN/AR localization and a full CI/CD pipeline — plus a companion QR gate-attendant app.

ROLE — Lead mobile developer TEAM — Barsha Technology STATUS — shipped ✓
Zone B — Gate 3
12 spots free · 3 SAR/hr
Reserve & Pay
Wheat — 2.4 tons
LIVE BID · 14 offers
0:12
Place bid — 4,150 SAR
KOTLIN · MVVM 4-APP SUITE VOICE & VIDEO
CASE STUDY 02

Kharaj · wholesale farming marketplace

4
ROLE APPS
LIVE
ON PLAY STORE
MVVM
+ UNIT TESTS

A live-bidding produce exchange split across four native Android apps — buyer, marketer, supervisor and transporter. Online auctions, Moyasar payments, invoicing, and voice-note negotiation baked into chat. I built the suite and led the View Binding + Gradle migration.

ROLE — Lead mobile developer TEAM — Barsha Technology STATUS — shipped ✓
KOTLIN · MVVM GOOGLE PAY · MOYASAR PLAY STORE
CASE STUDY 03

Events · wedding & venue booking

GPS
VENUE DISCOVERY
2
PAYMENT GATEWAYS
LIVE
ON PLAY STORE

Wedding-booking app for Saudi Arabia: GPS-based venue discovery, cart-to-reservation flow, and Google Pay + Moyasar checkout. I built it and carried it to its Play Store release.

ROLE — Lead mobile developer TEAM — Barsha Technology STATUS — shipped ✓
Find your venue
HallsGardensResorts
💍
Al Noor Grand Hall
2.1 km · ★ 4.8 · 400 guests
Book with G Pay
Notices
AllGovernmentPrivate
GMinistry of Interior
Road closure — King Fahd Rd, Sat 06:00–14:00
NEW2 min ago
BBarsha Technology
Scheduled maintenance window announced
1 h ago
Follow organisation
FLUTTER · RIVERPOD CLEAN ARCHITECTURE NESTJS · TYPEORM PHONE OTP · JWT
CASE STUDY 04 · JUST LAUNCHED

Ichaarat · official notices, end to end

3
ACCOUNT ROLES
OTP
PHONE AUTH · JWT
NEW
LIVE ON PLAY STORE

Government bodies and private organisations publish official announcements; citizens follow only the ones that matter to them. A multi-role Flutter client — citizen, government and private-organisation accounts with branch management and moderation — built feature-first over Clean Architecture with Riverpod, go_router and Dio. I built the NestJS + TypeORM backend behind it too: phone-OTP sign-in, JWT sessions in secure storage, role-based routing and Swagger-documented APIs on a Dockerised deploy.

ROLE — Mobile + backend TEAM — Barsha Technology STATUS — live ✓
COMPOSE · HILT · ROOM
Sa
Sahha Market logo

Sahha Market

Health-grocery e-commerce in pure Jetpack Compose — cart, checkout, order tracking, maps and push.

@ Barsha Technology
Checkout · 3 items
FLUTTER · FIREBASE · OTP
No
Nomadia logo

Nomadia

Peer-to-peer baby-gear rental: secure bookings, in-app messaging between renters, phone-OTP auth.

Independent project
🍼
Is the stroller free this weekend?
Yes! 8 TND/day ✓
Book · Sat–Sun
+ ALSO SHIPPED
02

Web work

NEXT.JS / EXPRESS / DOCKER
NEXT.JS · REACT NODE · EXPRESS · MONGODB FIREBASE AUTH DOCKER · NGINX · OVH VPS GA4 · GTM · META PIXEL
CASE STUDY 05 · WEB

Luneti · eyewear e-commerce, Tunisia

301
WIX → NEXT.JS REDIRECTS
GA4
FULL COMMERCE FUNNEL
LIVE
SELF-HOSTED, SSL

Built and shipped solo, design to deploy. Next.js + React storefront on a Node/Express + MongoDB API with Firebase auth, favourites, cart, guest checkout, order tracking and an admin dashboard driving inventory and back-in-stock workflows. I moved the brand off Wix with permanent 301 redirects and a DNS cutover so it kept its search rankings, then put it on an OVH VPS — isolated Docker services behind Nginx, Let's Encrypt SSL and a Content Security Policy. GA4, Tag Manager and Meta Pixel track the whole funnel: product views, search, cart, checkout and purchase.

Visit luneti.tn ↗
ROLE — Solo full-stack & infrastructure TEAM — Independent project STATUS — live ✓
luneti.tn
luneti SOLAIRE · OPTIQUE · CLIP-ON
Emmy
101 Dt
Emery
102 Dt
Antony
98 Dt
Silvia
102 Dt
03

The toolbox

📱 MOBILE
Flutter / DartKotlinJetpack Compose Riverpod · GetXMVVM · Clean ArchHilt · Dagger 2
🌐 WEB & BACKEND
NestJS · NodeNext.js · ReactTypeScript MongoDB · SQLTypeORM · MongooseREST · Swagger
🛠 PLATFORM & OPS
Firebase suiteGoogle Maps Payments — Moyasar · G/Apple Pay · Flouci CI/CD — Actions · FastlaneDocker · nginx Store releases · EN/AR i18n