Yasser Mansour

Developer. First-year engineering student at ENSAM Meknès.

I build software for schools, small businesses and myself. Mostly Django backends with PostgreSQL behind them, and an Android or desktop app when the problem needs one.

Some of it runs in production. Some of it only runs on my laptop.

Portrait of Yasser Mansour.
Now
Building LifeOS, in beta
Based in
El Jadida and Meknès, Morocco

Selected work

SuivEdu

School attendance

Attendance tracking for schools. Teachers take the register, and parents hear about an absence by SMS or email instead of at the end of the term.

Detail

One school group can run several schools. Every view that takes a school, class, user or bill id goes through the same small set of permission decorators, so tenant isolation is checked in one place instead of in each view.

Case study: SuivEdu
Status
Live
Stack
Django, PostgreSQL, Celery, Redis, Tailwind CSS, Alpine.js, ReportLab

Connecfy

SMS infrastructure

An SMS gateway built on ordinary Android phones. Each phone’s SIM card is a sender; Connecfy is the queue, the routing and the API in front of them.

Detail

Phones never hold an open connection. They poll for work about every 20 seconds, and a queued message is claimed with SELECT … FOR UPDATE SKIP LOCKED, so two overlapping polls can never send the same SMS twice.

Case study: Connecfy
Status
Accounts are set up by hand
Stack
Django, Django REST Framework, PostgreSQL, Android

ManoStock

Business software

Stock, orders, invoices, expenses and a point-of-sale till for small shops. It grew an Android barcode scanner and a small program that drives a receipt printer.

Detail

The till is a web page served from Heroku; the receipt printer is a USB device in the shop. A small local agent, listening only on 127.0.0.1, bridges the two and speaks ESC/POS to the printer, so receipts print without a dialog.

Case study: ManoStock
Stack
Django, PostgreSQL, Kotlin, Jetpack Compose, Python

LifeOS

Desktop app

A local-first desktop app for tasks, study, projects, money, people and notes. There is no account and no cloud: the database lives on your own computer.

Detail

The study timer is an event-replay engine of about 30 lines of Python, mirrored by hand in Kotlin for the Android app. Both sides have matching test suites, so “the two agree” is checked rather than assumed.

Case study: LifeOS
Status
Beta · v0.1.0-beta.1
Stack
Django, SQLite, Swift, Kotlin, Jetpack Compose

Earlier

Much of my work isn’t listed here: I also build software on request for people and organisations, and that work stays private.

Contact

The best way to reach me is email.

contact@yassermansour.com

Phone
+212 6 47 95 55 76
GitHub
yasser-mansour
LinkedIn
Yasser Mansour
Languages
English, French, Arabic