Software engineer in Dhaka, Bangladesh (UTC+6), working remote. 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.
| Step | Example |
|---|---|
| Find out how the business really runs | A property ERP billed as if the org were the landlord. It isn't; it sells a service to flat owners. |
| Change the model, not the screen | Rebuilt money into three tracks that never mix: rent, service charge, org accounts. |
| Decide what not to build | Dropped a planned mobile API service; the app calls the existing APIs through the gateway. |
| Ship every surface myself | Offline document app for field workers: sign-in, outbox, background sync, 405 tests, three weeks. |
| Make failure loud | The SaaS refuses to boot if any tenant table is missing a row-level security policy. |
| Product | For | The call | Size | Status |
|---|---|---|---|---|
| Certain QMS (Netpower) | Quality managers, HSE staff and field workers at industrial companies | Treated an "evaluate this measure" email that led nowhere as a migration blocker; shipped evaluation, an offline Handbook app and one sign-in for all apps | 7 apps + mobile | in production |
| CampusQ | Coaching centres in Bangladesh running on paper and a personal mobile-money number | Built for the niche: Bangla first, guardian SMS without accounts, printed receipts; isolation checked at boot | 26 + 12 modules | live, pre-revenue |
| Rent-ERP | An organisation managing residential buildings for flat owners | The org is not the landlord: rent, service charge and org accounts never mix | 14 modules, 4-role phone app | in production, private |
| Footwear ERP (MultiTech) | Merchandisers and stores staff at a footwear factory | Re-platformed a garment ERP instead of starting over; QR document capture, Excel order intake | 6 modules | in production |
| Institute payments (freelance, 2025-06 →) | Two coaching institutes confirming fees by hand | One shared gateway with signed callbacks, no shared database | 5 apps | in production, private |
| Family Connect App | Families keeping health records offline, each person with their own login | Health data sensitive by default: encrypted phone database, export and hard delete | 7 modules | in acceptance |
| DebuggerMind Commerce | Shoppers on low-end Android paying cash on delivery | One storefront codebase for many merchants; onboarding is one file, no fork | 5 templates × 5 variants | live |
- 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.
Optimus UI: 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.
ngx-primeng-toolkit: table and query-state helpers extracted from ERP work, published to npm with CI.
Frontend
Backend & data
Testing
DevOps & infra
Observability
AI & dev tools
Rendered from the GitHub API into an SVG stored in this repo and refreshed weekly by a workflow — no card service to go down.
| Platform | Handle | Profile |
|---|---|---|
| LeetCode | saiful70 |
leetcode.com/saiful70 |
| Codewars | saiful70 |
codewars.com/users/saiful70 |
| Codeforces | KhaWareZmI |
codeforces.com/profile/KhaWareZmI |
Dhaka, BD · UTC+6 · saiful-70.github.io/saiful-70



