Mess360
A multi-mess SaaS for Bangladeshi messes: daily meals, bazar, deposits and an automatic month-end meal rate and settlement that every member can see.
- Java 17
- Spring Boot
- Spring Security
- PostgreSQL
- +6 more
Available for select engagements
Software Architect, Full-Stack Engineer and Technical Leader
I design and deliver enterprise software that stays clear under pressure: well-modelled data, explicit boundaries, and systems a team can still reason about three years later.

Selected work
Each case study describes the problem, the design decisions and the measurable outcome — without publishing confidential client detail.
A multi-mess SaaS for Bangladeshi messes: daily meals, bazar, deposits and an automatic month-end meal rate and settlement that every member can see.
An email platform built around deliverability and correct handling of Bangla-language content across the full send and receive path.
Re-architecting a long-running academic ERP into a modular, well-bounded platform that institutional teams can extend without regression.
Services
Engagements range from a focused architecture review to complete product delivery.
Domain modelling, service boundaries and data design for systems that need to stay changeable for years.
Learn moreEnd-to-end delivery from data model to deployed application, built by one person who holds the whole picture.
Learn moreStaged modernisation of systems that have to keep running every day while they change underneath.
Learn moreIndependent review of an architecture, codebase or delivery approach, with findings ranked by consequence.
Learn moreMeasured performance work: find where the time actually goes, fix that, and verify the change.
Learn moreConnecting systems that were never designed to talk to each other, with failure handled as a normal case.
Learn moreApproach
Technical leadership is mostly about removing ambiguity — making the target state explicit and keeping the loop between a decision and its evidence short.
More about meWriting
Notes on architecture, data modelling, caching and the engineering practice around them.
Most stale-cache bugs are not caching bugs. They are write paths that forgot they had readers. Here is how to make invalidation structural instead of remembered.
Application-layer validation protects the request path you thought of. Database constraints protect every path, including the import script written at 2am eighteen months from now.
A versioned base path is not a versioning strategy. What actually determines whether an API can evolve is the shape of its responses and the discipline of never widening a promise you cannot keep.
Beyond the work
Time away from screens, and time with other practitioners.
Get in touch
Tell me about the problem, the constraints and what success looks like. Inquiries are typically answered within two business days.