Open to backend roles
Nyazul Ansari
Backend Engineer — Java / Spring Boot
I build multi-tenant systems that hold up under concurrency, not just under a demo.
liveGET /api/health …01 / About
I'm a Java engineer at YSM Infosolution, finishing an M.Sc. in Computer Science at SPPU. Most of my time goes into a multi-tenant workspace platform with its own billing engine, permission system, and automation layer — built on a modular Spring Boot architecture with Kafka as the backbone between domains.
I care less about frameworks and more about what breaks under load: lost updates in billing, silent constraint violations in activity logs, non-deterministic query ordering that looks fine in dev and flakes in production. Most of the case studies below are about finding and fixing exactly that class of problem.
- Building
- Generic WorkFlow at YSM Infosolution: a multi-tenant platform of 18 modules, 174 endpoints and ~33k lines of Java.
- Studying
- M.Sc. Computer Science at Savitribai Phule Pune University.
- Exploring
- LLM system design from the ground up: retrieval (RAG), agentic systems and inference.
02 / Architecture
REST endpoint design, request validation, typed error responses
Core application logic, multi-tenant request handling
Event-driven processing, retry logic, decoupling slow work from the request path
Reducing read load on hot paths, cache invalidation strategy
Schema design, concurrency-safe writes, query performance
File/object storage lifecycle management
Background and scheduled processing
Audit logging, observability, host-level alerting on the resources that actually run out
03 / Projects
Architecture walkthroughs02
Backend · Multi-tenant SaaS · Event-driven
Generic WorkFlow
A multi-tenant, metadata-driven CRM: workspaces design their own tables, forms, permissions and automations at runtime, without a schema migration or a redeploy.
- Permission keys
- 67
- Permission keys
- Grant scopes
- 5
- Grant scopes
- After-commit listeners
- 33
- After-commit listeners
Walk through the architecture →
Backend · Multi-tenant · AWS S3
RealEstate CRM
A multi-tenant CRM for property developers: projects broken down to individual flats, the enquiry-to-booking pipeline, disbursements, and project documents kept private in S3.
- Hierarchy levels
- 5
- Hierarchy levels
- REST controllers
- 17
- REST controllers
- Download-link lifetime
- 10 min
- Download-link lifetime
Walk through the architecture →
Also built
- 2025
Follow-up Management System
A follow-up CRM built with a team of four interns I led end to end: entity design, a soft-delete audit trail, automated follow-up scheduling and Chart.js reporting dashboards.
Spring Boot · Hibernate/JPA · PostgreSQL · Thymeleaf
- 2026
Internal apps: containerised and deployed
Moved internal Spring Boot applications, including a document management system and a jewellery-store API, onto Docker with Nginx and GitHub Actions pipelines deploying to a VPS.
Docker · Nginx · GitHub Actions · Linux
- 2025
Upadhye Learning
An AI-powered e-learning platform split into Spring Boot microservices behind a gateway with Eureka service discovery and Kafka between services.
Spring Boot · Eureka · Kafka · React · PostgreSQL
- 2024
A client website with a searchable product catalogue and enquiry and sample-request forms delivered by email.
Spring Boot · JSP · Spring Mail · Bootstrap
04 / Case studies
- 01
The server that died every 5.4 days
Every five or six days the production server stopped accepting SSH, the API returned 500s and even monitoring went dark. A reboot fixed it, until it came back. The cause was a Kafka health check quietly leaking one process every 15 seconds.
DockerLinuxKafkasystemd - 02
Counting usage under concurrent requests
The first version counted usage by reading a counter, adding one and saving it, so concurrent requests lost updates. Moving the increment into SQL fixed the counting. The quota check still runs in Java first, so requests that arrive at the limit together can still both get in. The next fix puts the limit inside the UPDATE itself.
Spring BootPostgreSQLJPA - 03
Breaking circular module dependencies
An architecture test started flagging circular dependencies between domains. They worked fine at runtime but broke the system's core promise: domains talk through events, not direct calls.
Spring ModulithKafkaJava - 04
Reviewing agent-generated code before it reached users
An AI coding agent merged two related but different task types into one system. Reading its output line by line against the real permission and visibility rules surfaced 17 defects before release.
Spring BootCode reviewRBAC - 05
Document storage lifecycle for a multi-tenant CRM
Upload, download and short-lived share links for a property CRM, with every file kept under its project's prefix in a private bucket. When creating a project fails partway, a compensating delete removes the files it already uploaded. That clean-up doesn't cover every failure path yet, and the fix is to tie it to the rollback itself.
AWS S3Spring BootReact
05 / Stack
Daily
In production, every week
- Java
- Spring Boot
- PostgreSQL
- Apache Kafka
- Spring Modulith
- JPA / Hibernate
Comfortable
Shipped with it, would again
- React
- TypeScript
- Docker Compose
- Redis
- AWS S3
- Liquibase
- Linux & systemd
- GitHub Actions
- Sentry
Exploring
Learning in the open
- RAG pipelines
- Agentic systems
- LLM inference
Live from GitHub
Live GitHub data is temporarily unavailable — check back soon.
06 / Principles
- 01
Let the database enforce invariants.
If a rule must hold under concurrency, put it where every write has to pass through it. A guarded UPDATE beats a careful service method.
See it in practice→ - 02
Events across domains, calls within them.
Modules that call each other directly can't change independently. Publish what happened, let others react after commit, and make the build verify it.
See it in practice→ - 03
Read generated code like it's your own.
AI-written code compiles and demos well. The bugs live in permissions, visibility and routing, which only careful reading against the rules will catch.
See it in practice→ - 04
Clean up what you create.
Every create path needs a delete path designed alongside it. Orphaned data costs money quietly, forever.
See it in practice→
07 / Experience
Java Software Engineer
YSM Infosolution
Jun 2025 — Present
- — Architected a multi-tenant SaaS backend enforcing strict domain boundaries via named interfaces and event externalization.
- — Designed a subscription billing system with versioned plan templates and atomic usage tracking under concurrent load.
- — Built a trigger-based automation engine with event-driven consumers, retry logic, and per-execution log tracking.
Software Engineering Intern
YSM Infosolution
Jan 2025 — Jun 2025
- — Built a 15-entity multi-tenant CRM with property inventory, lead tracking, and disbursement tracking.
- — Implemented permission-based authorization with 30+ granular permission values plus per-user overrides.
- — Integrated object storage for document handling: multipart upload, download, and presigned URL generation.
08 / Contact
Open to backend/full-stack roles at product companies. The fastest way to reach me is email — the form works too.
ansarinyazul2003@gmail.com