Backend engineer in Dhaka, Bangladesh. I design APIs, data models, and the infrastructure that keeps them running — about two years of professional work, mostly in Python and Go.
I spend most of my time on production systems: access control, background jobs, deployments, and the failure paths that show up after launch. I use frontend tools when a product needs them, but the work I care about is backend architecture, cloud infrastructure, and making AI features safe enough to put in front of real data.
- Backend APIs and domain modeling in Go (Gin) and Python (Django, FastAPI)
- PostgreSQL schema design, query behavior, and Redis-backed background work
- Docker, AWS, Terraform, Nginx, and GitHub Actions for repeatable deploys
- AI features that are grounded in schema and constrained before they touch a database
A multi-branch education platform for day-to-day school operations — students, classes, assessments, fees, and staff workflows.
The backend is a Go / Gin REST API on PostgreSQL. Notifications, email, and SMS run through Redis and Asynq so the request path stays separate from delivery work. Role-based access control sits in the API, and an outbox pattern keeps side effects aligned with database writes.
I also own the operational side: Docker on AWS EC2, networking and compute provisioned with Terraform, images published to ECR, and GitHub Actions for format, tests, lint, vulnerability scanning, and deploy. PostgreSQL is self-hosted with scheduled dumps and S3 backups. Observability beyond health checks (Prometheus, Grafana, Loki, OpenTelemetry) is planned, not shipped.
Source is private. Architecture, CI/CD, and infrastructure decisions are documented here:
A natural-language-to-SQL system: ask a question in English, get a result from a connected database.
The implemented path is a LangGraph workflow — plan, ground against discovered schema, generate SQL, validate, then either execute, repair, or refuse. Schema is constrained to allowed tables and columns. SQL is parsed and checked before it runs: SELECT-only, no SELECT *, table/column allow-lists, read-only transactions, and statement timeouts. Failed queries go through error analysis and limited retries; anything that cannot be answered safely is refused.
The public app is Django with PostgreSQL. Docker, Nginx, Terraform, and GitHub Actions exist on the LangGraph work. MCP is in the dependency set and on a dedicated branch; the safety path that actually runs is the validator and executor, not an unrestricted model calling the database.
A restaurant management product covering QR digital menus, guest ordering, and staff workflows behind role-based operations.
I work on the backend API and on packaging it for Docker and AWS. The source is not public.
Work a recruiter can open without asking for access. These are personal or lab projects, not the school platform.
- QueryMind — natural-language-to-SQL with schema grounding and a validator that can refuse unsafe queries. Django, PostgreSQL, LangGraph.
- Education platform case study — architecture, CI/CD, and AWS/Terraform notes for the production school product (source stays private).
- Scannify — browser QR/barcode scanning with auth, scan history, and AWS packaging. API · Terraform.
- Blogify — Django REST API with JWT auth, search, likes, comments, and infinite scroll. Frontend.
- FastAPI microservices — lab: user, product, inventory, and order services with PostgreSQL locking on stock. Not production.
Used in shipped systems, not a wish list.
| Area | Tools |
|---|---|
| Languages | Python, Go, SQL |
| Backend | Django, FastAPI, Gin |
| Data | PostgreSQL, Redis |
| Delivery | Docker, Nginx, GitHub Actions, Linux |
| Cloud | AWS (EC2, ECR, S3, VPC), Terraform |
| AI / agents | LangGraph, schema-grounded NL-to-SQL, SQL validation |
Django and Go are where most of the production work lives. FastAPI shows up in service-oriented projects. Kubernetes is something I am practicing in labs and workshops, not what I run production on today.
- Operating and tightening the education platform: CI/CD, backups, and production maintenance
- Continuing QueryMind: safer SQL generation, clearer failure modes, and a README that matches the code
- Deepening Kubernetes, observability, and how AI agents behave against real schemas
If you want to talk about backend systems, infrastructure, or AI features that have to be careful with data, email is the easiest way to reach me.


