AI Engineer · Full-Stack · Pakistan

The model runs
on your device.

I build AI tools that do their work in the browser — free to use, private by default, and cheap enough to keep running whether or not there is funding this month. Founder of SalluLabs.

Selected work 04 — 2025 / 2026

Engineering — platform

The platform first.

02 flagship · 02 backend
04 tools · 07 archive

SalluLabs — background removal, object removal, enhancement and restoration SALLULABS.COM — LIVE
01

SalluLabs

Background removal, object and watermark removal, upscaling, colourisation and restoration — five tools on one account, built on one rule: if a model is small enough to run inside your browser, it runs there. Your files stay on your machine, the free tools cost nothing to run, and nothing goes dark if a bill goes unpaid.

the free tools run in your browser · nothing is uploaded
heavy jobs reach a GPU only when you ask for one

Sallu Caption — captions burned into a clip SALLUCAPTION.SALLULABS.COM
02

Sallu Caption

A full video editor that never sees your video. Whisper transcribes in a worker thread, you trim and style on a real timeline, and the animated captions are muxed straight to MP4 in the browser. Competitors charge every month and upload your footage; this is one payment and nothing leaves the device.

transcribe, trim, style and export to MP4 at 4K
without uploading a single frame

Engineering — backend

Small services and models where the interesting part is a measurement, so each one publishes the numbers — including the unflattering ones.

Streaming transcription

Live speech over a WebSocket. Vosk streams the words as they are said; Whisper commits the accurate line afterwards, and an arbiter decides which to trust — Whisper alone kept replacing a correct word with a worse one on accented speech. The GPU tier is a per-session toggle so an idle page never burns credits, and every remote failure falls back to the laptop.

first word ~0.6 s on a 2-core laptop CPU · committed line 4.5 s → 1.6 s on the GPU tier · the only configuration that keeps up with real time · speaker labels are not built yet

Source

Captcha OCR

A 2.3 MB model that reads six-character text captchas on a laptop CPU, punctuation included — the one thing commercial OCR and every public dataset skip. Trained on public data plus a domain-randomised generator, because real captures could not be collected at scale.

97.1 % on 104 real captchas never used for model selection · CapSolver reads 26.6 % of the same family and 0 of 101 containing a special character · one captcha family, so no general claim · ~36 ms median, one thread

Get the model

Engineering — tools

92%
likely AI-generated
sallu-detector · 14 MB · runs in your browser

Sallu Detector

My own model, trained on real conversations and documents, quantised and run client-side. Free.

own model · 14 MB quantised ONNX · runs in-browser after a one-time download

Try it  Get the model

Image enhancer and colorizer

Enhancer & Colorize

Upscale, restore and colourise. The fast tier runs in your browser; Pro reaches a T4 GPU.

RealESRGAN · CodeFormer · DDColor

Try it

Hadith search engine

Hadith Search

Over 20,000 hadiths with meaning-based search and translation, not just keyword matching.

Gemini · Flask · 20k+ corpus

Search it

47blinks / 60s

EyeGame

Blink into your webcam to score. Blink detection straight to a live leaderboard, no keyboard involved.

MediaPipe · Firebase

Play it

Engineering — archive

Portfolio Generator

Résumé to a published portfolio site — parse, generate, pay, buy the domain, deploy.

Next.js · Stripe
CSS Extractor

Paste a URL, get its stylesheet pulled and beautified.

sallulabs.com
Color Stealer

Extracts a site’s palette and reads back how each colour is used.

sallulabs.com
AI Font Generator

Turns handwriting into a usable font file.

fontgenerator
Grammar Fix AI

Correction with real auth and payments behind it, not a demo endpoint.

live
Chatrio

Connects two strangers peer to peer for a conversation. No accounts, no history.

WebRTC · WebSocket
Music for the Deaf

Android app translating audio into haptic patterns.

Kotlin · Android

Design — brand sites

Eight brand sites I designed and built end to end — the art direction, the AI-generated imagery and film, and the code that makes it move as you scroll. Open any one to explore it, or press Watch the tour for the short version.

Kashida — the site mid-scroll, zoomed into a mirror-work bodice under the headline “Held in a ring of buttonhole stitch.”

Kashida · The Needle

Balochi hand embroidery from Makran, as a site where the thread is the interface. An unbroken zoom from the whole garment down into a single stitch, then a thread that runs under the photographs and ends by embroidering the name, right to left, and tying a knot.

the video model could not connect the stills, so the macro end is a true digital zoom the stills are aligned back onto · nine cloth-and-thread colourways · self-hosted Nastaliq

View the site  

STILLE — the site's opening view: a headphone made of particles beside the headline “Silence, machined.”

STILLE · Model Ø1

A headphone you take apart with your scroll. The whole object is a cloud of 110,000 points: noise condenses into the wordmark, flows into the headphone, explodes into its anatomy, collapses into the driver, then becomes a sound field that answers a generated ambient piece.

real-time three.js with no model file — the points are sampled from a depth-projected still · no licensed audio · a slow laptop gets a cheaper renderer that keeps the same brightness · 4 MB

View the site  

NERO — the site's walk-in, a house cut into a black quarry beside a long reflecting pool, labelled “L4 — The Rim”

NERO

A house cut four terraces into a quarry, sold the way architects actually sell — the page is a drafting table. A plan inks itself, lifts into an axonometric you can drag, extrudes into the building, then dissolves into the photograph it was traced from and walks you in.

four volumes in metres, projected live — the axonometric is data, not a picture · 248-frame walk-in · the photo came first, so the drawing registers on it

View the site  

Machiya — the site mid-walk, looking through a passage into a moss courtyard with a maple tree, 14.5 metres into the house

Machiya · Nishijin

A Kyoto townhouse as one unbroken walk from the lane outside to the bath at the back. Seven thresholds, no cuts, no sections — how far into the house you are is the navigation.

672-frame scrub · seven clips pinned at both ends, so each seam is the same picture twice · 28 metres in one shot

View the site  

SALUX — the site's first chapter, “I — Disassembly”, a skeleton chronograph with its calibre navigation

SALUX · Ref. SLX-2601

A watch house in six acts: the movement comes apart, goes back together, and is taken down to the water. The page inverts with the film — bone ground for the disassembly, black for everything after — so the chrome belongs to the act you are in rather than to the site.

five scrubbed sequences · self-hosted type, because the CDN cut measured 4.8s on this connection · frames cached immutable, code never

View the site  

TENEBRA T/01 — the site's second chapter, “Every seam by hand”, over the car's interior with a film-frame HUD

TENEBRA T/01

A car showroom where scrolling drives the car. Configure the paint and wheels, filter the chassis that are actually available, run the finance numbers and book a viewing. The film is how you move through it — not what it is.

12 configurable builds · finance calculator · booking flow

View the site  

Maison Noir — the site's opening view, “One room, one fire, one menu.”, over a candlelit kitchen pass

Maison Noir

A restaurant site with a daylight version and an evening version, a dish you turn with your scroll, and a table you pick off a map of the room.

loads instantly on mobile data · 236 KB, no frameworks

View the site  

Opus Noir — the site's opening view: a purple crystal flacon inside a halo, with the title “Opus Noir”

Opus Noir

A hundred-bottle perfume edition. Two scrubbed sequences — the bottle you turn, and the halo it sits inside — six notes you open one at a time, and a case that numbers the flacon you would be sent.

218 scrub frames across two sequences · four clips · 13 MB, no frameworks

View the site  

Design — mobile apps

Three Android apps I designed and built in Kotlin and Jetpack Compose. Each demo is a screen recording from a real phone, not a mockup.

SalluLabs for Android — the editor on a phone, comparing a portrait before and after background removal, beside the headline “Cut out anything.”

SalluLabs · AI photo studio

The flagship app: nine AI photo tools in one black-and-gold studio. Cut out a background, erase objects and watermarks, restore and colorize old photos, replace the sky, then finish with one of 58 film grades and share. Every result has a before-and-after slider.

Kotlin · Jetpack Compose · fast tools run on the phone, pro tools on our own GPU services

sallulabs.com  

Samt — the home screen on a phone: the next prayer in 1 hour 15 minutes over a live blue sky and the city skyline, beside the headline “The sky is the interface.”

Samt · Prayer times & Qibla

A prayer-time app where the sky is the interface. The background is the real sun at your location, the day is one orbit you can scrub with a finger, and the Qibla compass guides you with haptic pulses. A month table, per-prayer adhan and alerts, Hanafi or standard Asr.

Kotlin · Jetpack Compose · the sky is drawn live from the sun’s position · your location never leaves the phone

Offcut — the store's home screen on a phone: jackets hanging on a brass rail under “DROP 03”, beside the headline “The rail.”

Offcut · Clothing store

A clothing store that styles every piece with what you already own. Photograph your own clothes and they are cut out on the phone; the new drop hangs on a rail you swing, add to bag is a drop into a tote, and a delivered order joins your closet with the white edge that marks it yours.

an on-device cutout model, nothing uploaded · the rail tilts with the phone’s gravity sensor · 16 product shots generated for 7 cents

Games — real-time 3D

A complete open-world 3D game that runs in a browser tab. No engine, no install, no build step. Play it, or read the source.

Sallu Theft Auto: Web Edition — the title screen, a beach city island at sunset under the game's name

Sallu Theft Auto · Web Edition

An open-world driving game where the police hunt the car they were told about, not the car you are in. Pedestrians remember what they saw: commit a crime alone and nothing happens; do it in a crowd and a witness reports your car, sometimes in the wrong colour. Change cars and the manhunt chases a description that no longer fits. Walk up to anyone and ask what they saw.

three.js · hand-written slip-angle vehicle physics, no physics library · skinned characters with procedural gait · 26 pedestrians in 10 draw calls · synthesized engine, tyres and music · textures by FLUX.2, meshes by Hunyuan3D · ~8 MB

Play it  Source  

Approach

How I decide where the work runs.

Every tool asks the same question first: can this run on the machine the user is already holding?

If it can, it runs there. That makes the tool free to use, keeps the user’s files on their own disk, and — the part that matters most to me — means it costs nothing to serve. A tool that costs nothing to serve does not switch off in a month when there is no money to pay for idle hardware.

Most AI products upload your file to someone else’s GPU and bill by the second. That is two problems wearing one coat: your files leave your machine, and the product only exists while somebody keeps paying. So the free tiers here use models small enough to ship to the browser — a 5 MB upscaler, a 4 MB cutout model, Whisper, my own text detector. Only the heavy jobs reach a GPU, and only when you ask for one.

I work end to end: the model choice, the queueing and the deployment as much as the interface on top. Available for freelance and contract work.

On-device ML

Picking, quantising and shipping models small enough to run in a browser tab without a server behind them.

  • ONNX Runtime · onnxruntime-web
  • transformers.js · Whisper
  • BiRefNet · U2Net · RealESRGAN
  • Model training and quantisation

Product engineering

The unglamorous half: auth, credits, payments, webhooks, rate limits and the queue that stops it falling over.

  • Next.js · React · TypeScript
  • Flask · Node · Express
  • Firebase · Firestore · Postgres
  • Stripe · Gumroad · Payhip

Interface

Front ends built without frameworks when a framework would only add weight — and with one when it earns its place.

  • Canvas, WebGL and scroll-driven UI
  • Design systems and tokens
  • Accessibility and Core Web Vitals
  • Kotlin · Android

Contact

Tell me what you’re building.

Whether it is an AI tool you want running without a server bill, a product that needs finishing, or a site that has to feel like something — send me the shape of it and I will tell you honestly whether I am the right person.