Kathmandu, Nepal·Available for select work

Roman KC

Full-stack product engineer

I build and run production software for Nepali businesses — ERP, retail operations and marketplaces. End to end: schema and API design through to the interface people actually use, deployed and maintained.

Currently — KaaryaOne is live: a configurable multi-tenant ERP with Nepali VAT, TDS and Bikram Sambat dates in the core, running on web, mobile and desktop.
01 — Selected work

Products I design, build and operate

Not client tickets — whole products, from the data model to the shop owner using it on a Tuesday afternoon.

A property rental marketplace for the Kathmandu Valley. Renters search real listings; agents manage their own inventory from a dedicated dashboard.

  • Three roles, one marketplace — renters browse and enquire, agents and owners list, admins moderate and run automations
  • Automated image processing — watermarking in Pillow, inpainting-based clean-up in OpenCV
  • Organic growth engine — SEO-led acquisition tracked through Google Search Console
  • Bilingual TikTok DM auto-responder that reads Nepali and English enquiries and replies with matching listings
Next.js 15ExpressPrismaPostgreSQLSocket.IOExpoPythonCloud Run

A configurable ERP and workflow platform for Nepali businesses — one system that reshapes itself per industry instead of one rebuild per client. Web, mobile, desktop and realtime clients all run off a single API.

  • Multi-tenant by agency and branch — per-tenant module toggles and industry templates, so a clothing retailer and a distributor run the same core configured differently
  • Accounting and inventory core — invoicing, bills, expenses, cashflow, stock movements with variants and barcodes, POS sessions and role-based permissions
  • Four clients, one API — React 19 web app, Expo mobile, Electron desktop, and a Redis-backed WebSocket service for live updates
  • Built on the Nepali fiscal calendar — Bikram Sambat dates, VAT and TDS, and NCM courier integration with per-tenant tokens so COD settles into each client's own account
  • End-to-end Playwright suite gating production releases on Cloud Run
Laravel 13PHP 8.4React 19TypeScriptExpoElectronPostgreSQLRedisCloud RunPlaywright
02 — Experience

Where I've worked

Two years in other people's codebases before going independent.

Junior Full Stack Developer

Beta Analytics Pvt. Ltd. · New Baneshwor, Kathmandu

Apr 2023 — Dec 2023
  • Built new features across a Django MVC codebase
  • Data modelling, database queries and data-integrity work
  • Worked directly with senior developers on requirements, planning and implementation
PythonDjangoDjango REST FrameworkJavaScriptPostgreSQLDockerGitCI

Elixir Developer, Intern

Tyrosoft Pvt. Ltd. · Kathmandu

May 2022 — Sep 2022
  • Functional programming in Elixir
  • Built RESTful CRUD APIs designed for concurrency, fault tolerance and scalability
  • First run through a full project lifecycle — collaboration, communication, iteration
ElixirPhoenixEctoREST APIsPostgreSQLDockerGit
03 — Stack

What I work with

Chosen per project, but this is where I'm fastest.

Backend

  • Laravel · PHP 8.4 · Sanctum
  • Node · Express · Prisma
  • Django · Python
  • REST API design
  • Multi-tenant architecture
  • Role-based access control
  • Queues & background jobs

Frontend

  • React 19 · TypeScript
  • Next.js App Router
  • Vite · Tailwind · Radix UI
  • Dashboard & data-dense UI

Data

  • PostgreSQL
  • Prisma · Eloquent
  • Schema & migration design
  • Double-entry accounting models
  • Redis

Infrastructure

  • Google Cloud Run · Cloud SQL
  • Cloud Build · GitHub Actions
  • Docker · Caddy
  • Cloudflare · DNS

Quality & tooling

  • Playwright end-to-end tests
  • QA automation
  • Python scripting — Pillow, OpenCV, BeautifulSoup

Apps beyond the browser

  • Expo · React Native
  • Electron desktop
  • Socket.IO · WebSockets

Beyond the stack

I know the Nepali business context from the inside — IRD filing, VAT and TDS, the Nepali fiscal year, local courier and cash-on-delivery settlement, and how to write product copy that works for owners who switch between Nepali and English mid-sentence. That context is usually the hard part of shipping software here, not the code.

04 — Earlier work

Where I started

Built between 2020 and 2022 while studying for my BSc — Python and Django, mostly for people around me who needed something to exist.

Driving licence form automation
Python · Django · Selenium

Turned Nepal's online driving-licence application into a short form — applicants entered only the mandatory fields and the tool handled the rest of the submission flow.

Automated passport form filling
Python · Django · private repo

Automated biometric appointment scheduling on Nepal's online passport system, built to cope with the site's traffic spikes and walk applicants through the form. Cut the time to fill it manually by more than half.

CSIT Association of BMC
Django · PostgreSQL

Website for the college CSIT association: blog, event listings and a shared notes library for students.

Blog platform
Django

Multi-user blogging application with authentication and full create, read, update and delete flows.

YouTube music downloader
Python · Tkinter · REST APIs

Desktop app wiring together the Spotify, YouTube and Genius APIs, with automatic metadata and lyrics embedding.

Spaceship shooter
Python · Pygame

An arcade space shooter — collision detection, sprite animation and scoring, written to learn game loops.

The original Heroku deployments retired with the free tier in 2022. Source for most of these is on GitHub.

05 — About

A bit of background

I started out self-taught, writing Python because something in front of me needed automating. That hasn't really changed — it just got bigger. Today I run two products at once, which means I do the database design, the API, the web, mobile and desktop clients, the deployment, and the support conversation that follows.

Working across the whole stack on products I also operate has made me opinionated about restraint. Most business software fails here not because it lacks features but because it has too many, aimed at workflows nobody has. I'd rather ship a narrow thing that a shop owner opens every morning than a broad one they abandon in a week.

I'm open to consulting and product work, particularly where local compliance, multi-tenancy or Nepal-specific integrations are the hard part.

Based in
Kathmandu, Nepal Working with clients across the country
Education
BSc. CSIT Tribhuvan University, Institute of Science and Technology · 2019–2022
Languages
Nepali & English Native · Professional proficiency
Focus
ERP · Retail · Marketplaces Multi-tenant B2B products

Let's build something

Have a product that needs to exist, or one that needs someone who can own the whole of it? I read every message.

[email protected]