WA Contactتواصل

HomeالرئيسيةSide projectsالمشاريع الجانبية

Alongside engineeringإلى جانب الهندسة

Side projectsالمشاريع الجانبية

Software I build next to my engineering work. The main one is ROZE, an accounting app that shop owners use every day.برمجيات أبنيها إلى جانب عملي الهندسي، وأهمها ROZE، برنامج محاسبة يستخدمه أصحاب المحلات كل يوم.

Software · my own product · since 2026برمجيات · منتجي الخاص · منذ 2026

ROZE

Arabic point-of-sale and accounting app for small shopsبرنامج نقاط بيع ومحاسبة عربي للمحلات الصغيرة

ROZE runs the daily work of a shop: selling at the counter, keeping stock, tracking who owes what, and closing the cash at the end of the day. It is fully in Arabic, works without internet and keeps its data on the device. I build it and sell it to shop owners. One codebase produces a separate build for each shop, with its own name, icon, currency and type of business, and the laptop version has been through a trial day in a working shop.يدير ROZE العمل اليومي للمحل: البيع على الصندوق، ومتابعة المخزون، وحساب الديون، وإغلاق الصندوق آخر اليوم. واجهته عربية بالكامل، ويعمل دون إنترنت، وتبقى بياناته على الجهاز. أبنيه وأبيعه لأصحاب المحلات. ومن قاعدة كود واحدة تخرج نسخة لكل محل باسمه وأيقونته وعملته ونوع نشاطه، وقد خاضت نسخة اللابتوب يوم تجربة في محل فعلي.

21Screens, each built for phone and for laptopشاشة، لكلٍّ منها نسخة للموبايل وأخرى للابتوب
10Shop types with their own presets, from grocery to pharmacyأنواع محلات لكلٍّ منها إعداداته، من البقالة إلى الصيدلية
10Currencies supported, with two-currency debtsعملات مدعومة، مع ديون بعملتين
300+Automated checks on the accounting coreفحص آلي على نواة المحاسبة

Screensالشاشات

A day at the counterيوم على الصندوق

From the laptop version, filled with sample data for a demo grocery. The app's interface is in Arabic.من نسخة اللابتوب، ببيانات تجريبية لبقالة افتراضية. واجهة البرنامج باللغة العربية.

What it doesماذا يفعل

Everything a shop does in a dayكل ما يفعله المحل في يومه

Salesالمبيعات

Point of sale with barcode and short shop codes, sales by weight on a scale, held orders, and pinned items at the top.نقطة بيع بالباركود وبرموز المحل القصيرة، والبيع بالوزن على الميزان، والطلبات المعلّقة، والمواد المثبّتة في الأعلى.

Stockالمخزون

Materials in many units, opening stock in a single table, stock counts, waste with its reason, and average cost.مواد بوحدات متعددة، وبضاعة أول المدة في جدول واحد، والجرد، والتالف مع سببه، ومتوسط الكلفة.

Customers and suppliersالزبائن والموردون

Credit sales and opening debts, printable customer statements, and supplier invoices with their age.البيع بالآجل وديون أول المدة، وكشوف حساب للزبائن قابلة للطباعة، وفواتير الموردين مع أعمارها.

Cash and currencyالصندوق والعملات

Cash drawer and its log, withdrawals, period close, exchange rates, and debts held in two currencies.الصندوق وسجله، والمسحوبات، وإغلاق الفترة، وأسعار الصرف، والديون بعملتين.

Reportsالتقارير

A dashboard that starts with today, then the week and the month, then what needs attention, plus sales and invoice reports.لوحة تبدأ باليوم ثم الأسبوع ثم الشهر ثم ما يحتاج انتباهك، إلى جانب تقارير المبيعات والفواتير.

Backupsالنسخ الاحتياطي

A daily automatic backup to a folder on the laptop, with compare and restore.نسخة احتياطية يومية تلقائية إلى مجلد على اللابتوب، مع المقارنة والاستعادة.


Engineering decisionsقرارات هندسية

Built to be trusted with moneyمبني ليؤتمن على المال

An accounting app is only useful if the shop owner believes its numbers. Most of the work went into making them exact and checkable.برنامج المحاسبة لا ينفع إلا إذا وثق صاحب المحل بأرقامه، لذلك ذهب معظم العمل إلى جعلها دقيقة وقابلة للتحقق.

Exact moneyمال بلا كسور

Amounts are kept in whole lira and exchange rates stay exact. A cash total rounds to what can actually be paid in notes, and haggling never changes the item's price.المبالغ بالليرة الكاملة وأسعار الصرف تبقى دقيقة. يُقرَّب إجمالي الفاتورة النقدية إلى ما يمكن دفعه فعلاً بالأوراق النقدية، والمساومة لا تغيّر سعر المادة.

Every number checkableكل رقم قابل للتحقق

A reconciliation screen recomputes each derived figure from its source records and shows where a difference comes from.شاشة مطابقة تعيد حساب كل رقم مشتق من سجلاته الأصلية، وتبيّن مصدر أي فرق.

Debts that age properlyديون تُحسب أعمارها

Supplier payments settle the oldest invoices first, so the shop always knows what is overdue.تُسدّد دفعات الموردين أقدم الفواتير أولاً، فيعرف المحل دائماً ما تأخّر سداده.

Dollars as stockالدولار بضاعة

An exchange desk treats foreign currency like goods, with its own drawer, cost and profit.طاولة صرافة تعامل العملة الأجنبية كبضاعة، لها درجها وكلفتها وربحها.

Fast with years of historyسريع مع تراكم السنوات

Recording a sale no longer reloads the shop's whole history. In testing a sale took about 0.2 s with 1,900 invoices on file.تسجيل البيعة لا يعيد تحميل تاريخ المحل كله. في الاختبار استغرقت البيعة نحو 0.2 ثانية مع 1,900 فاتورة مسجّلة.

Made for the counterمصمّم للصندوق

Keyboard shortcuts on the laptop, one search box that understands names and codes, and a portable package that runs without installing.اختصارات لوحة المفاتيح على اللابتوب، وصندوق بحث واحد يفهم الاسم والرمز، وحزمة محمولة تعمل دون تثبيت.


Platforms and stackالمنصات والتقنيات

Phone and laptop, offlineموبايل ولابتوب ودون إنترنت

Phoneالموبايل
Android appتطبيق أندرويد
Laptopاللابتوب
Runs in the browser or as a Windows app, with its own screens and keyboard shortcutsيعمل في المتصفح أو كتطبيق ويندوز، بشاشات خاصة واختصارات لوحة المفاتيح
Dataالبيانات
Local SQLite database on the device, no internet neededقاعدة بيانات SQLite محلية على الجهاز، دون حاجة للإنترنت
Codeالكود
About 53,000 lines of TypeScriptنحو 53,000 سطر TypeScript
Built withبُني باستخدام
TypeScriptReact NativeExpo RouterSQLiteZustandElectron