Full-stack developer · Dhaka, Bangladesh

I write the error message before the happy path.

Nazmul Hossain

Adnan

NetLens

NetLens, screenshot.
See the code
Chrome extension · 2026A page’s API calls — payloads, responses, headers — in a side panel, with no DevTools open. Calls fired during load are caught anyway.JavaScript · Chrome extension · MCP
Problem
DevTools has to be open before the page loads or load-time calls are lost; it is noisy, and encoded payloads get decoded by hand elsewhere.
My part
Sole author: capture layer, side panel, auto-decode, replay and diff, Reveal API Source, CSS inspect, MCP server. 50 commits.
Outcome
Load-time calls are visible after the fact, with no debugger banner. Chrome and Firefox, versions 6.4 to 6.9, 11 test files.

smart-class-lookup

smart-class-lookup, screenshot.
Install
VS Code extension · 2026Paste a class list copied from DevTools and jump to the component that renders it — even through cn(), clsx() and conditionals.TypeScript · VS Code API · Babel · Worker threads
Problem
DevTools shows the classes an element rendered; the source builds them with cn(), clsx() and conditionals, so a text search finds nothing.
My part
Designed, built and published it alone: the AST index, the ranking, the replace engine, and the worker pool that keeps it fast.
Outcome
Over 4,000 downloads across two stores, and still shipping: 0.4.9 moved all parsing off the editor’s own thread.

DevRadar

DevRadar, screenshot.
DevRadar mobile view
Visit live
Web app · 2024—26A job-search platform that combines organisation, analytics and AI interview preparation.TypeScript · Next.js · Drizzle · Gemini
Problem
CVs list uncheckable skills while code sits unread in GitHub; job trackers record status, but not if your real work qualifies you.
My part
End-to-end product, design system (“Instrument”) & engineering: GraphQL skill engine, Gemini job fit, browser-only private CV parsing, 217 tests.
Outcome
Instant requirement fit reports proving skills against repos, visible split score (95 = 92 code + 3 CV), 217 tests, live on Vercel.

mnemo

mnemo, screenshot.
mnemo mobile view
Mobile app · in progressA memory app for interrupted lives: say a thought, and AI gives it a title, a summary and a next step, so you can pick the thread back up.React Native · Expo · Gemini
Problem
Notes apps capture well but are bad at coming back: a trip or errand ends up as scattered notes, with nothing saying where you left off or what you’ve spent.
My part
Solo, product to code: the thread data model, offline Bangla/English note reading, hybrid search, on-device maths, reminders and encrypted backup.
Outcome
Works fully offline in Bangla and English. 55 unit tests and 13 end-to-end suites (about 165 checks) pass in CI.

Also built

Everything else is on GitHub ↗
  1. 05CalorieMeterAI web app · 2025Photograph a meal and get its calories and macros back. Fixing a wrong guess is one sentence: “that’s grilled, not fried”.TypeScript · Next.js · TanStack Query — Live ↗
  2. 06ExpresslaneWeb app · 2024Parcel delivery with live tracking, role-based accounts and an admin dashboard.React · Node.js · PostgreSQL · Prisma · Stripe — Live ↗

Story

I build the parts of a product people touch.

At work, that’s flight and travel platforms. On my own time it’s mostly tools for the work itself: a Chrome extension that catches the API calls DevTools misses, and a VS Code extension that finds the component behind a class list. That one has passed 4,000 downloads.

I fuss over how things move and respond: which way a panel slides, how a list settles when you stop scrolling, what a button does in the half-second after you press it. This page is mostly that kind of fussing.

Off the clock: games, getting outdoors, and learning things I’ll probably never need.

Time card
  1. Jan 2025On the clock

    Innovate SolutionAssociate software engineer · Dhaka

    Production features for B2B and B2C flight and travel platforms, demo sites for client pitches, and faster pages.
    1 yr 10 mo
  2. Dec 2024Jan 2025

    TaskirsViewFull-stack developer, intern · China

    Helped plan the architecture of a new internal collaboration platform, and designed and integrated its REST APIs.
    2 mo
Nazmul Hossain Adnan, off the clock.
Off the clock · 1 / 2 →

House rules, marked up

Most people meet a screen in a state nobody drew: the answer was “no”, the row is still saving, the request failed while they were already typing the next thing. So I draw those first, and the version where everything works comes after.

NetLensa call that dies before it answers still gets its row, marked ERR.

Every animation has a job.

It shows where something came from, keeps your place through a change, or tells you the system heard you. A movement that does none of those still costs frames and attention, so it gets cut.

This pageeach sheet slides over the last, so you always know which way you came.

Keep the plumbing boring.

The database driver, the auth library, the date maths: under a product I want dependencies that have never surprised anyone. If something has to be new and risky, it should be something a visitor can see.

Expresslanemoved from MongoDB to PostgreSQL with Prisma, so the database itself rejects bad data.

Every technical decision trades something away. Smooth scrolling costs you the browser’s native scroll. A pinned section costs you a predictable page height. Not writing down what a decision cost is how a codebase ends up with three of them quietly fighting each other.

smart-class-lookupparsing runs on worker threads capped at half the cores, and each carries its own copy of Babel, so they are torn down when the index is built.

Contact

Working on something that has to hold up?

Write to[email protected]

Open to
  • Contract work
  • Collaborations
  • Permanent roles

Email is fastest: I answer within a day. Dhaka, GMT+6.

© 2026 Nazmul Hossain Adnan