Command Palette

Search for a command to run...

Blog

Hello — I'm Ranjan

A quick introduction to who I am, what I build, and why this blog exists.

Backend engineer based in Kathmandu, Nepal. I design systems, write Go services, and occasionally touch the frontend when there's no one else to blame.


Who I Am

engineer.go
type Engineer struct {
	Name      string
	Location  string
	Role      string
	Focus     []string
	Interests []string
	Currently []string
}
 
var me = Engineer{
	Name:     "Ranjan Yadav",
	Location: "Kathmandu, Nepal 🇳🇵",
	Role:     "Software Engineer @ Nomor LLC",
	Focus: []string{
		"Backend Systems",
		"Distributed APIs",
		"DevOps & Deployment",
	},
	Interests: []string{
		"High-performance Go services",
		"System design",
		"Scalable SaaS products",
	},
	Currently: []string{
		"Building a NEPSE trading & learning platform",
		"Shipping quick-commerce infrastructure at Nomor",
	},
}

Experience

experience.yaml
experience:
  - company: Nomor LLC
    role: Software Engineer
    type: Full-time
    since: Sep 2024
    focus: Backend services and systems engineering
    stack: [Go, NestJS, PostgreSQL, Redis]
 
  - company: NSW IT Support
    role: MEAN Stack Developer
    type: Full-time
    period: May 2023 – Sep 2024
    focus: Built and maintained EvergrowCRM (SaaS)
    stack: [Angular, Node.js, REST API, CI/CD]
 
education:
  - institution: London Metropolitan University
    degree: BSc (Hons) Computing
    grade: First Class Honours
    via: Islington College, Kathmandu
    period: Mar 2020 – May 2023

Tech Stack

stack.toml
[primary]
languages  = ["Go", "TypeScript"]
frameworks = ["NestJS", "Next.js"]
 
[backend]
stack = ["Go", "NestJS", "Express"]
 
[frontend]
ui        = ["Next.js", "React", "Tailwind CSS"]
animation = ["Motion"]
 
[data]
databases = ["PostgreSQL", "MongoDB"]
cache     = ["Redis"]
messaging = ["RabbitMQ"]
 
[devops]
tools = ["Docker", "Kubernetes", "Linux", "Nginx"]

Projects

projects.hcl
project "nepse" {
  name        = "NEPSE Trading Analysis & Learning Platform"
  year        = 2026
  description = "Trading analysis for Nepal's stock market. TradingView charts, high-parallelism Go backend, NestJS marketplace with live streaming."
  stack       = ["Go", "NestJS", "PostgreSQL", "Redis"]
  url         = "https://bullhouseinvestment.com"
}
 
project "shopit" {
  name        = "ShopIt — Quick Commerce"
  year        = 2025
  description = "Sub-10-minute grocery delivery with zone-based routing, real-time order tracking, and a rider API."
  stack       = ["NestJS", "Next.js", "PostgreSQL", "Redis"]
  url         = "https://shopitnepal.com"
}
 
project "skoolsewa" {
  name        = "SkoolSewa — School Management"
  year        = 2024
  description = "Students, staff, fees, attendance, exams, and ID-card generation built for Nepali schools."
  stack       = ["NestJS", "Prisma", "PostgreSQL", "Next.js"]
  url         = "https://skoolsewa.com"
}
 
project "school_accounting" {
  name        = "School Accounting System"
  year        = 2024
  description = "Double-entry accounting with Bikram Sambat dates — ledgers, fee invoices, trial balance, and P&L reports."
  stack       = ["NestJS", "Prisma", "PostgreSQL", "React"]
  url         = "https://skoolsewa.com"
}

Why This Blog

I write to remember. Most of what I learn lives in production — the setups I'll forget in six months, the patterns that held under load, and the ones that quietly didn't. This is where I write them down before they leak out of my head: backend systems, the occasional sharp edge, and notes from shipping software out of Kathmandu.

blog.log
$ git log --oneline --all
8f3c1da feat: zero-downtime deploys with Docker and GitHub Actions
b2e94f1 fix: N+1 queries hiding in NestJS eager relations
7a10cc3 docs: how I structure Go services for scale
e5d6b07 perf: Redis-backed job queues with Asynq
f9d823b feat: Bikram Sambat date handling in PostgreSQL
3c72a19 chore: things I wish I knew before Kubernetes
c3f9a1e init: showing up and writing things down
Command Palette

Search for a command to run...