SaifulIslam

Software Engineer

I turn how a business actually runs into software that ships: backend, web, mobile, deploy, and the alerts that watch it.

Spec first. AI agents write most of the code. I decide what ships, what gets cut, and how we know it works.

Remote Dhaka, BD · UTC+6
  1. 01Find out how the business really runsA property ERP billed as if the org were the landlord. It isn't; it sells a service to flat owners.
  2. 02Change the model, not the screenRebuilt money into three tracks that never mix: rent, service charge, org accounts.
  3. 03Decide what not to buildDropped a planned mobile API service; the app calls the existing APIs through the gateway.
  4. 04Ship every surface myselfOffline document app for field workers: sign-in, outbox, background sync, 405 tests, three weeks.
  5. 05Make failure loudThe SaaS refuses to boot if any tenant table is missing a row-level security policy.
Method Same five steps on every product below.
Experience
3.5+ yrs
Surfaces I ship
Backend · Web · Mobile · Ops
Running in production
6 of 7
Products
7
Method
Spec first, AI-built
Base
Dhaka · UTC+6

Products

7 systems

Certain QMS

Quality SaaS · Netpower In production

Field workers read and confirm controlled documents on their own phone, even offline.

7 appsdeviation · handbook · compliance · checklist · radar · task · admin, plus the mobile app

For
Quality managers and HSE staff at industrial companies, and the field workers who have to read and confirm controlled documents.
The call
The "evaluate this measure" email led to a page where nobody could evaluate. I treated it as a migration blocker, not a bug, and owned the schema, the worklist, overdue escalation, evidence frozen at the moment of judgement, and the UI.
Shipped
Measure-effectiveness evaluation. An offline Handbook app for iPhone and Android, built almost alone in three weeks. One OAuth sign-in (code + PKCE, rotating refresh tokens, session revoke) for all Netpower apps. AI-assisted requirement import with a human review step and an append-only run log. "Verified" no longer offered without evidence. A subscription digest across four services.
Cut
A separate mobile API service. PDF input for the AI importer, so there is no OCR path to maintain.
FlutterAngular 22.NET 10 YARP gatewayOAuth + PKCEPlaywright

CampusQ

Multi-tenant SaaS Live

A coaching centre that ran on paper now runs from one screen, in Bangla.

26 + 12 modulesstudents, batches, attendance, fees, exams, results, SMS, teacher and student portals · operator console for tenants, billing, SMS credits

For
Coaching centres in Bangladesh that run on a paper register, a spreadsheet and the owner's personal mobile-money number. The front desk does the same task eighty times a day.
The call
Build for this niche, not a cut-down school ERP. Bangla first, guardian SMS with a magic link and no account, printed receipts and report cards as first-class output.
Shipped
A multi-tenant SaaS where each centre gets its own subdomain. Plan limits are a designed upgrade state, not an error. Tenant isolation is enforced in Postgres and checked at boot. 2,300+ backend tests, end-to-end coverage over 289 of 303 route cells, business KPIs on Grafana with Telegram alerts.
Cut
The payment gateway (manual transfer plus operator check instead), QR check-in, eight AI features removed in eight slices at the product owner's request, colour palettes from 16 to 6. Removed invented stats from the marketing site before launch. Pre-revenue.
.NET 10Angular 22Next.js 16 Postgres RLSen / bnGrafana · Loki · Tempo
View live — campusqbd.com

Rent-ERP

Property ERP In production

Rent, service charge and the org's own money, in three tracks that never mix.

14 modulesproperties, leasing, owners, service charge, accounting, HRM, assets, audit · phone app for 4 roles

For
An organisation that manages residential buildings for flat owners. Admins work on a console; tenants and staff use a phone.
The call
The org is not the landlord. Rent goes from tenant to owner and is never org income; the service charge follows ownership, not occupancy.
Shipped
Backend, admin console and an Expo app (the mobile app built with a collaborator). A field-level, append-only audit trail enforced by a database trigger. Maker and checker must differ on vouchers. A 100-issue audit closed in four days. CI that fails when tests are silently skipped.
Cut
Multi-tenancy, persona switching, push notifications.
.NET 10AngularExpoPostgres
Source private · no public link

Footwear ERP

Manufacturing · MultiTech In production

A garment ERP, taught to make shoes.

6 modulesinventory, supply chain, production, operations, configuration, access control

For
Merchandisers and stores staff at a footwear factory.
The call
Re-platform a garment-export ERP instead of starting over. I stripped the yarn, fabric and spinning concepts, reset migrations, seeded the tenant, and grew it to six modules and 580+ endpoints.
Shipped
Inventory with landed cost and issue, return and transfer quantities that reconcile. Phone-to-ERP document capture through a QR code and a short-lived upload token, no mobile login. Excel bulk order intake that validates everything first and reports per row. BOM and pre-cost workflow.
Cut
Saves per breakdown block, from about ten to six, to fix a transaction failure.
.NET 10PostgresRedisS3 · MinIO

Institute payments

Freelance · 2025-06 → In production

Two institutes stopped confirming fees by hand.

5 appsone payment gateway, two back offices, two admission sites

For
Two coaching institutes collecting fees by mobile money and cash, confirmed by hand.
The call
One shared payment gateway with signed callbacks into each institute's system, so neither needed a shared database.
Shipped
The gateway, as sole author: retry with backoff and an admin transactions console. "Copy payment link" in the back office. An "apply to both" admission flow that asks only for the missing fields. Monthly fee accrual and due-alert SMS on a scheduler.
Cut
Features nobody asked for. I wrote the client a gap analysis that ranks missing features by business impact instead of building them unasked.
ASP.NET CorePostgreSQLHangfire
Source private · no public link

Family Connect App

Mobile app In acceptance

A family's health records, encrypted on the phone, working before anyone signs up.

7 modulesmembers, prescriptions, vitals, reports, care episodes, document scan, intake

For
A family keeping prescriptions, doses and reports, each person with their own login and per-person sharing, working fully offline before any account exists.
The call
Treat health data as sensitive by default: an encrypted phone database, export and hard delete, nothing health-related in logs or push, and no free-tier AI model whose terms allow training on user data.
Shipped
Custom sync with a gapless per-family revision cursor, idempotent operations, and a scope hash that purges revoked data from the phone. A self-host mode under a source-available licence. 585 tests. The backend is live.
Cut
Supabase and the original web app. AI extraction stays off until the privacy terms hold.
ExpoHonoDrizzleSQLCipher

DebuggerMind Commerce

Storefront platform Live

One storefront, many merchants. A new shop is one file.

5 templates · 5 variantsstorefront looks and language-and-market presets, mixed per merchant

For
Shoppers on low-end Android over mobile data, arriving from ads, with cash on delivery as the main way to pay.
The call
One storefront codebase for many merchants. A merchant is template, theme, branding, flags and language as data; onboarding one is a single descriptor file, no fork.
Shipped
Combo and bundle landing pages where each unit in a pack gets its own size and colour, campaign pages, and ad-conversion tracking in local currency. I wrote the bundle re-pricing API contract for the backend team.
Cut
A "metaphor world" visual concept, dropped for the category standard shoppers already know.
Next.js 15TypeScript.NET APIMeta CAPI
View live — pogiecom.pogiit.com

Things I removed

7 cuts

Deciding what not to build is half the job. These were built or planned, then taken out on evidence.

  • Payment gateway integration in CampusQ. Manual transfer plus an operator check was enough for the first customers.
  • Eight AI features in CampusQ, removed in eight slices with no migration.
  • A separate mobile API service at Netpower. The existing module APIs, through the gateway, did the job.
  • PDF input in the AI register importer. Spreadsheets only, so there is no OCR path to maintain.
  • The multi-tenant layer in Rent-ERP. One organisation: no row-level security, no subdomains.
  • Persona switching in Rent-ERP, in favour of plain roles.
  • Fabricated stats and testimonials on the CampusQ marketing site, with a production cleanup script.

Where the hours went

3 companies · 2023 → present

  • Shipped measure-effectiveness evaluation end to end, closing a gap that blocked the migration to the new deviation UI.
  • Built the offline Handbook mobile app from zero; wrote the mobile architecture and dropped a planned server.
  • One sign-in for all company apps on the existing login, with session revoke and reuse detection. Fixed one security-review finding and recorded the accepted risks.
  • First AI features in the compliance module, with an audit log per run, plus the evidence guard that made auditor-facing numbers trustworthy.
  • Owns the Playwright end-to-end suite across the apps.

  • Re-platformed a garment ERP for a footwear manufacturer: inventory, document capture, bulk order intake, costing workflow.
  • Support work on the shop-floor IoT bridge (MQTT to RabbitMQ).

  • Educational platforms Plabook and Augie: reusable game components, Stripe and PayPal payment flows, and an Android app in Kotlin and Jetpack Compose.

Open source

1 fix · 1 package

Optimus UI

Contributor

One merged fix: row grouping crashed with an empty sort array. Regression tests included. It is the component layer under CampusQ, so the fix runs where I can see it.

View on GitHub

ngx-primeng-toolkit

Author

Table and query-state helpers extracted from ERP work, published to npm with CI.

View on npm

Stack, for the filter

Frontend

  • Angular
  • TypeScript · RxJS
  • NgRx Signals
  • Next.js · React
  • React Native (Expo)
  • Flutter · Riverpod
  • PrimeNG · Material
  • Tailwind CSS v4
  • Chart.js

Backend & Data

  • .NET (Core / 10)
  • Node.js · Express
  • PostgreSQL (RLS)
  • MongoDB · Redis
  • MySQL
  • RESTful APIs
  • Firebase

Testing

  • Playwright (e2e)
  • Vitest
  • Synthetic data factories

DevOps & Infra

  • Docker · Nginx
  • GitHub Actions
  • Azure DevOps · AWS
  • Linux · Git
  • OpenTelemetry
  • Prometheus · Grafana
  • Loki · Tempo

AI & Dev Tools

  • Claude · Cursor
  • OpenCode
  • Ollama (local LLMs)
  • GitHub Copilot

Certification

Comilla University · Poridhi.io × Brain Station 23

Education

MSc, Information & Communication Technology
Comilla University · 2025
BSc, Information & Communication Technology
Comilla University · 2024

Awards & Certifications

1st Runner-Up — DevOps Hackathon
Poridhi.io × Brain Station 23
JavaScript Algorithms & Data Structures
freeCodeCamp

Let's build something
people run their business on.

Remote · replies within a day