سلام! hi there

Islamkot, Tharparkar Karachi

hello, i'm

Ali Nawaz, a black-and-white portrait

CS student at SMIU. I build real apps by directing AI coding agents (Google Antigravity, Claude, Gemini): Yaad, an offline Android app that makes screenshots searchable, and SindhiScript, a programming language in Sindhi.

A hand-drawn route from Islamkot in Tharparkar to Karachi Islamkot Karachi
the Thar desert → the big city

I'm from Islamkot, Tharparkar, and I study Computer Science at SMIU in Karachi.

These days I build Android apps and tools by directing AI agents. I still like knowing how things work underneath, which is how I ended up writing a programming language from the lexer up.

  • fromIslamkot, Tharparkar
  • nowKarachi
  • studyingCS @ SMIU
  • buildswith AI agents

things I've built

THE WORK

Three real projects: an Android app, and two for Sindhi.

01Kotlin

Yaad یاد

Save Now. Find Anytime. An offline-first, open-source Android app that sorts your screenshots for you and makes the text in them searchable. It reads each one with on-device OCR, then lets you search by meaning, not just exact words.

Yaad search results for "tools", with tag filters and screenshot cards
search
A saved screenshot in Yaad with its key line and auto-picked tags
key line
Yaad folders: All, Code, Tools, Places and more, sorted by auto-tags
folders
  1. DetectNotices new screenshots and imports them in the background
  2. ReadOn-device OCR with ML Kit pulls out the text
  3. UnderstandA MiniLM model on ONNX Runtime turns the text into meaning
  4. FindSearch by meaning or by exact word, ranked on the phone
  • Auto-tagged folders: Code, Tools, Places, Study, Hacks, Shopping, Quotes, Chats
  • A key line picked out for every screenshot
  • No internet permission at all, so the app can’t send anything off your phone
  • Built with Jetpack Compose, Room and WorkManager
  • 76 unit tests
  • Free APK for Android 8+ (arm64)
  • Kotlin
  • Compose
  • On-device ML
  • MIT
02Python

SindhiScript سنڌي

A programming language written in Sindhi. It isn't a find-and-replace over Python: it has its own lexer, a hand-written recursive-descent parser and a tree-walking evaluator, and every keyword, operator and built-in is a Sindhi word.

  1. LexerIndentation, Sindhi digits, and it rejects invisible Unicode characters, so nobody can spoof an identifier
  2. ParserRecursive descent, straight to an AST, no parser generator
  3. EvaluatorWalks the tree with lexical scopes and closures
  4. REPL + web IDEAn interactive shell, and a browser editor built for right-to-left text
  • Functions, recursion and closures
  • Classes with constructors and inheritance
  • try / catch / finally, with error messages in Sindhi
  • Modules, imported from other .سن files
  • Lists, dictionaries, f-strings and Sindhi digits
  • A Python interop block, so any Python library is in reach
  • Python
  • Interpreter
  • RTL
  • MIT
Source on GitHub

real code, real output

ڪم فيڪٽوريل(ن):
    جيڪڏهن ن گهٽ_برابر 1:
        موٽايو 1
    موٽايو ن ضرب فيڪٽوريل(ن گهٽائڻ 1)

هر ع ۾ حد(1، 6):
    ڇاپ(فيڪٽوريل(ع))
$ python -m سنڌي‎ فيڪٽوريل.سن‎
1
2
6
24
120
A SindhiScript program that defines a recursive factorial function and prints the factorials of 1 to 5 (1, 2, 6, 24, 120), followed by the interpreter's real output.
ڪم
def
جيڪڏهن
if
موٽايو
return
هر … ۾
for … in
حد
range
ڇاپ
print
03JavaScript

Sindhi Typing Master ٽائپ ماسٽر

A MonkeyType-style typing test for Sindhi. It pulls a random article from Sindhi Wikipedia, cleans it into sentences and times you on it, then shows your speed over time and a heatmap of the letters you keep missing.

  • Four modes: time, words, zen and sentence
  • Falls back from the REST API to the Action API to built-in sentences, so there's always text
  • Live WPM and accuracy, with a WPM graph drawn on canvas
  • A heatmap of the letters you miss most
  • On-screen keyboards, with all 52 Sindhi letters on the phone layout
  • Personal bests per mode, kept in your browser
  • JavaScript
  • Vite
  • Canvas
  • MIT
Source on GitHub

Only what my code actually uses.

languages

  • Kotlin
  • Python
  • JavaScript
  • HTML
  • CSS

AI-assisted dev

  • Google Antigravity
  • Claude
  • Gemini
  • prompt & spec writing

Android

  • Jetpack Compose
  • Room
  • WorkManager

on-device AI

  • ML Kit OCR
  • MiniLM + ONNX Runtime (semantic search)

tools

  • Git
  • Vite
  • npm
  • pip + pyproject
  • Android Studio
  • Gradle

under the hood

  • lexers & parsers
  • ASTs & tree-walking
  • Unicode & RTL text
  • Canvas API
  • REST APIs

get in touch

Say salaam

Building something for Sindhi, want to talk interpreters, or want an app built? Email is the fastest way to reach me.