Warehouse & Logistics Platform · Web
2026
A bilingual warehouse operations portal — orders, attendance, payroll and embedded ERPNext accounting from a single interface.
- Role
Full-Stack Software Engineer — sole engineer on the custom Frappe app, backend APIs, and the web portal
- Year
2026
- Status
- Production
- Stack
- Frappe
- ERPNext
- Python
- MariaDB
- Redis
- Linux
Overview
The Warehouse Portal is the operational core of Carry Go: a bilingual (Arabic/English) web application that runs the day-to-day of a warehouse-and-delivery business — order management, attendance, payroll and accounting — from one interface, built on a custom Frappe application (carry_go) layered on ERPNext.
Problem
Warehouse supervisors were tracking lockers, deposits, inter-warehouse transfers, attendance and payroll across spreadsheets and phone calls, then switching into ERPNext separately for accounting and reporting. Nothing spoke to anything else, and every language-dependent screen had to work correctly in both Arabic and English.
Solution
I built the portal as a first-class Frappe app rather than a bolt-on: custom doctypes for deposit requests, warehouse boxes and transfer missions wired directly into ERPNext's permission and accounting layers. The portal embeds live ERPNext accounting views — P&L, General Ledger, invoices, KPI cards — directly in its own screens, so supervisors never leave the portal to check a number.
Architecture
The portal talks to a Python/Frappe REST layer backed by ERPNext v16, deployed on its own isolated Bench (separate Redis ports, Python 3.14, Node 24) running alongside an existing v15 instance with zero conflicts. Redis handles caching and Frappe's scheduled background jobs; MariaDB is the system of record.
Features
- Bilingual (Arabic/English) interface covering order management, attendance, payroll and accounting.
- Embedded accounting module — P&L, General Ledger, invoices and KPI cards rendered directly inside the portal.
- Barcode-driven pickup/delivery workflow for warehouse staff.
- Deposit-request and locker-box management tied to the same data model the mobile apps read from.
- Inter-warehouse transfer tracking with full audit trail.
Development Process
I owned the app from schema to deployment: defining doctypes, hooks and fixtures, building the REST endpoints later consumed by the Flutter apps, and standing up the infrastructure. ERPNext v16 was deployed on an isolated Bench so the new portal shipped without touching the production v15 system it runs alongside.
Challenges
A timer defect was silently overwriting portal pages every 12 seconds under specific conditions — traced to a misconfigured polling interval and fixed at the source. A P0 security issue — credit-card data persisted in plaintext — was found during a review pass and removed, replaced with a payment-status flag backed by the actual payment provider. MariaDB root access was lost during a migration and restored via unix_socket authentication without downtime.
Results
Warehouse supervisors now run orders, attendance, payroll and accounting from one bilingual system instead of five disconnected tools. The app is published on GitHub with a full README, install guide and API reference.
Future Improvements
A supervisor-facing analytics dashboard beyond the embedded ERPNext reports, and role-based home screens per warehouse.
04Gallery
Select any screen to open it full size.
01Warehouse Portal02
02ERPNext Backend02
Work

ERP Deployment & Customization · 2026
ERPNext Custom Platform
Standing up and customizing ERPNext v16 for a full back-office: manufacturing, POS, HR, CRM, projects and accounting in one system.

Real Estate Platform · Mobile + Web · 2026
Manazel — Real Estate Platform
A Saudi real-estate marketplace for First Tower Company — a Flutter client app, a React admin dashboard and a NestJS backend, with pre-publication review, advertiser verification and wallet-based promotion.