sabin@workshop ~ zsh

currently somewhere in Nepal, writing Java and occasionally questioning my life choices

Spring Boot
React
TypeScript
PostgreSQL
JWT
Docker
pgvector
JPA
Gemini AI
Mockito
Apache Tika
Tailwind
Spring Boot
React
TypeScript
PostgreSQL
JWT
Docker
pgvector
JPA
Gemini AI
Mockito
Apache Tika
Tailwind
About

I'm a backend developer who got into this because I actually enjoy it — which I realize sounds obvious, but apparently isn't. I like the part where you figure out why something should be built a certain way, not just how.

My backend is Java and Spring Boot. My frontend is React and TypeScript. I've containerized applications with Docker, set up JWT auth properly, designed normalized schemas and have experience in building application which needs retrieval of relevant context for accurate results.

I'm doing my BCA at Nepathya College in Butwal. Graduating 2026.I am fond of building projects which solves relevant problems to learn the materials better rather than following tutorials without building anything.

currently
working on things.
open to work — internships, entry to mid-level positions.
Backend
Java Spring Boot Spring Security JPA PostgreSQL MySQL
Frontend
React TypeScript Tailwind CSS Zustand
Tooling
Docker Maven Git Postman
Projects
01
MindSpace
Spring Boot · React · TypeScript · Docker

Students upload their documents and have actual conversations with them. I used pgvector for semantic search so it finds genuinely relevant context, not just keyword matches. Gemini generates the flashcards. JWT keeps everyone's stuff isolated.

RAGpgvectorGemini APIApache Tika
View on GitHub
02
Finance Tracker
Spring Boot · React · Tailwind · Docker

Track money in, money out, and where it all went. The schema is properly normalized with foreign keys between users, transactions, and budgets. Nothing lands in the database without validation. Each user only ever sees their own data.

REST APISpring SecurityCRUD
View on GitHub
03
MediFlow
Spring Boot · Spring Data JPA · PostgreSQL

Hospital CSV formats are a mess — different headers, inconsistent fields, all of it. MediFlow handles that async, without blocking anything. Strategy pattern lets you add new record types without touching existing code. Tested properly with JUnit.

AsyncStrategy PatternJUnit · Mockito
View on GitHub
Let's make
something
real.

If you're working on something interesting and you need a backend that doesn't fall apart or a frontend that doesn't look like a template — reach out.

Based in
Nepal
Education
BCA, Nepathya College
Butwal — 2026
Availability
Open to work
Timezone
NPT (UTC +5:45)