NAZ Marine: Replacing a 1990s Oracle 10g Terminal with a Local-First ERP
Billing, stock, purchasing, payroll, and Zakat software built solo for a ship-machinery and marine diesel spare-parts enterprise in Karachi β replacing an entrenched Oracle terminal with an intuitive zero-dependency system staff aged 40 to 70 mastered on day one.
The 31-Second System Walkthrough
Live screens pan across master customer ledgers, rapid keyboard sale invoicing, interactive Excel-style payroll sheets, and automated backup exports.
An Oracle Terminal Nobody Could Get Anything Out Of
NAZ MARINE had run its billing on an Oracle 10g terminal system for years. It worked, in the sense that bills got printed. Everything else about running the shop β stock, payroll, Zakat, even a simple quote β happened around it, in notebooks and spreadsheets, not through it.
Finding an Item: Before and After
Drag the interactive slider. On the left is the real legacy screen a cashier had to navigate for every single line of every invoice. On the right is the same step in the modern system.


2β5 minutes of Brand β Model drill-down per item β under 60 seconds total: type a part code or keyword and go.
Reverse-Engineer the Old System First, Then Rebuild What It Should Have Been
Before writing a single line of the new app, I captured the entire legacy system screen by screen β a full frame-by-frame walkthrough of the Oracle terminal β and mapped every menu, keyboard shortcut, and workflow it had. The new system had to feel natural to staff who had spent decades on that terminal: same menu structure, same F-key logic, rebuilt underneath and made lightning fast.
It runs entirely on one computer in the shop with no internet dependency β SQLite in WAL mode behind an Express API, a React 18/TypeScript frontend β and a one-time importer that reads the legacy systemβs own .DMP / .LOG backup format directly, cross-checking every tableβs row count against the old systemβs log before a single record is trusted.
Shipped as a plug-and-play portable Windows build. No Node, no npm, nothing for the shop staff to install.
The Real App β Every Screenshot Is the Live System
Demo data shown throughout (sanitized from the shopβs real books). Click any screen to inspect full resolution in lightbox mode.
















What Actually Changed for the Shop
A direct feature-by-feature comparison between the legacy Oracle terminal and the modernized NAZ MARINE platform:
| Area | Before β Oracle 10g | After β NAZ MARINE |
|---|---|---|
| Invoicing Speed | Brand β Model drill-down, 2β5 minutes per bill | Type-ahead instant search, under 1 minute |
| Estimates & Quotes | Faked with dummy "Estimation" client, corrupting sales totals | Dedicated Estimate module completely isolated from ledger |
| Purchasing Workflow | Raw entries with no real purchase orders or receipts | Structured Purchase Orders, supplier ledgers, and PO export |
| Staff Payroll | Manual Excel file, one separate workbook per year since 2020 | Native Payroll module β salary, cash advances, loans, envelope slips |
| Zakat Tracking | Disjointed paper notebook and spreadsheet disconnected from books | Native Zakat ledger reconciled with cash drawer inflows |
| Sharing Invoices | Print to paper, then take a phone camera photograph for WhatsApp | Single F10 hotkey creates a crisp WhatsApp-ready PNG image |
| Access Control | Single shared admin account across all staff, zero accountability | Role-based profiles (Owner, Accountant, Cashier) with audit trail |
| Price & Master Maintenance | No batch tools; duplicates and naming errors piled up for years | Bulk Price Adjuster, Merge Accounts/Items, duplicate prevention |
| Stock Ledger | No real inventory tracking; manual physical checks | Full stock ledger with historic purchase & quantity logs |
| Database Backups | Irregular manual backups done by external IT technician | Scheduled hourly / daily / weekly backups with 1-click export |
What It's Worth to the Owner
To generate a sale invoice, purchase invoice, salary voucher, or Zakat entry β down from 2β5 minutes of manual item lookup per invoice, with payroll and Zakat now live in the same system instead of seven years of standalone spreadsheets.
Built Solo, End to End
Product scope, UI design, backend, legacy data migration, and the Windows packaging that let a shop with no IT staff install it by copying a folder β all one person, one build.
47 screens, Vite, and tailored Tailwind CSS tuned for high information density.
45 REST endpoints executing atomic transactions and strict accounting math.
High-speed local write-ahead log database via better-sqlite3 with zero database server setup.
Reads legacy .DMP / .LOG dumps directly, verified with strict row-count checks.
Native PNG generation for WhatsApp sharing alongside hardware ESC/POS and laser printouts.
Zero-install folder structure running without Node or npm required on-site.
Need a Mission-Critical System Modernized?
Whether you are replacing an entrenched legacy database, modernizing an internal ERP, or building complex mobile and desktop systems, I deliver production software fast, lean, and without agency fluff.
