Technical Skills
9+ years in the software industry, mainly on the back-end and server side — designing APIs, automating servers and scaling infrastructure for location-based services and e-commerce platforms at companies like Techjays, IQVIA and Dingi. Over the last few years that's expanded into the AI/ML side: building with Large Language Models and shipping agentic AI systems using LangChain and LangGraph, both for clients and for products I've built solo end-to-end, like ChatExpense. Below is the stack broken into categories, each with the actual project it shipped in:
Programming Languages
Python first, always — it's what I reach for whether I'm building an API, an AI agent, or a data pipeline. I used it end-to-end for stocksurferbd, scraping and modeling Dhaka & Chittagong Stock Exchange data and publishing it as a PyPI package. JavaScript and C# fill in for front-end work and integration scripting when a project needs them.
Back-End & APIs
Django and Django REST Framework are my default for production APIs. I built the entire ChatExpense backend on DRF with async support, wiring in OpenAI for voice/chat/receipt-image expense entry — it's since grown to 1,300+ web users and 100+ Play Store installs, cutting logging time by up to 70%. The same stack drives the Hazard Reporting System's incident and volunteer APIs, and the QR-driven maintenance logging behind ScanFixNow. FastAPI, Flask and Node.js cover lighter services and integrations.
Front-End
Just enough UI to make the back-end usable — I'm a backend engineer first, but I've shipped the customer-facing screens for ChatExpense and ScanFixNow myself rather than waiting on a dedicated front-end hire. React and Next.js for anything component-heavy, Django templates and jQuery when server-rendered is simpler, and Bootstrap to get a clean layout out fast (this site included).
Databases & Caching
Relational databases stay the source of truth — PostgreSQL underpins ChatExpense's async DRF backend and the Hazard Reporting System's incident/volunteer store, alongside MS SQL Server and Snowflake on client projects. MongoDB and DynamoDB cover document workloads; Pinecone, Qdrant and ChromaDB handle retrieval-augmented generation for agentic AI builds; Redis and Memcached keep the hot paths fast.
AI/ML & Agentic AI
LangChain and LangGraph are what I reach for when a problem needs an agent, not just a prompt. The multi-agent pipeline I built for ChatExpense handles insight generation, spending-pattern detection, chart building and smart query answering on top of OpenAI's voice, chat and image APIs — turning a raw receipt photo or voice note into a categorized transaction and a personalized recommendation. PyTorch, scikit-learn, YOLO and Sentence Transformers cover the classic ML side when a trained model beats an LLM call.
Automation & Messaging
Async workers and queues for anything that shouldn't block a request. Comparable background-processing logic powers the Hazard Reporting System's volunteer-matching engine, which automatically pairs distressed callers with the nearest available volunteer based on distance and availability. Celery also drives scheduled campaign broadcasts on a WhatsApp automation platform I built, and Socket.io covers real-time updates when polling isn't fast enough.
DevOps, Servers & Cloud
Docker and Kubernetes for shipping, Gunicorn/uWSGI and Nginx tuned for cost and scale on the server side. I used that combination — plus reduced file-system I/O and introduced test coverage — to cut server costs by 50% while scaling Dingi Map APIs on AWS ELB and Autoscaling to a few hundred requests per second for high-profile clients like Shohoz.com. ChatExpense runs on Railway with Stripe/Bkash payment integrations. AWS (EC2, RDS, Lambda, S3, ECR, EKS) and Azure (Cosmos DB, Embedded Power BI) round out the cloud side.
Monitoring & Observability
Because "it works on my machine" isn't a production strategy. Grafana dashboards and Elasticsearch/Kibana for tracking system health and digging through logs at scale, Sentry for catching and triaging exceptions before users have to report them — the kind of visibility that turns a 3am page into a five-minute fix instead of a fire drill.
A few numbers from the field: 1,300+ registered users and 100+ Play Store installs on ChatExpense, up to 70% less time spent logging expenses, a 50% server-cost cut while scaling Dingi Map APIs to a few hundred requests per second for clients like Shohoz.com, and a published PyPI package, stocksurferbd.