KUNWAR
Developer · Problem Solver · Based in Japan
SAHIL
Kumar Kunwar
クンワル サヒル クマル

I build tools that solve real problems —
starting with the one I faced myself.

JLPT N1 React Git & GitHub Cloudflare Nepal → Japan
001 — About
The story
so far

I'm Sahil Kumar Kunwar, a Nepali student living in Japan, attending a language school while working two part-time jobs to cover living expenses.

Somewhere between early-morning logistics shifts and late-night hotel work, I ran into a problem no app seemed to care about — managing two jobs simultaneously while staying under Japan's strict legal hour limits for international students: 28 hours per week during semester, 40 during long academic holidays, across a rolling 7-day window that applies to all jobs combined.

So I built something to fix it. That project became my introduction to programming — not through a course or bootcamp, but through a real problem I needed to solve. I focus on software integrity and building things that actually work — tools that hold up under edge cases, legal constraints, and real-world use.

I'm currently preparing for the EJU (Japanese University Admission for International Students) with the goal of entering a prefectural university in Japan next year, while holding a JLPT N1 certification.

Certification JLPT N1
Origin Nepal → Japan
Goal Prefectural university, 2026
Exam prep EJU + 入学考査
EJU subjects Japanese · Maths Course I · Japan and the World
入学考査 Maths I·A·II·B(Sequences)·C(Vectors)
Project version v1.8
002 — Work
What I've
built
Real-world tool · Personal project
v1.8
SHIFT TRACKER
シフト管理 — Compliance-first shift management for international workers in Japan

Built to solve a problem I faced daily: working two part-time jobs in Japan as an international student while staying within the legal weekly hour limits. The app enforces Japan's labor law in real time — 28h/week during semester, 40h during academic holidays — across a rolling 7-day window that spans both jobs simultaneously.

The salary engine calculates take-home pay with full 乙欄 tax table support, deep-night premium (深夜割増), and year-end special allowances (年末年始特別手当). Every number matches actual payslip logic, not rough estimates.

Data lives in a private GitHub Gist — accessible from any device, any browser. Falls back to localStorage when offline, and blocks saves if the Gist is unreachable to prevent overwriting master data with stale local state. Deployed on Cloudflare Pages.

Rolling 7-day enforcement Checks all 7 windows containing a target day. One shift can affect windows starting up to 6 days prior — every one is validated.
Dynamic hour limits Named academic holiday periods toggle the weekly cap from 28h to 40h automatically across the entire calendar.
Full salary breakdown Hotel: base pay, night premium, year-end allowance, transport, meals, fees. Logistics: actual 乙欄 tax brackets.
Monthly projection Future shifts appear separately from worked shifts in the payslip — giving a full-month earnings estimate alongside confirmed pay.
Cross-device sync GitHub Gist as persistent storage. No backend, no database, no server costs. Works identically on phone and desktop.
Data integrity protection If Gist is unreachable on load, saves are blocked to prevent overwriting cloud data with stale local state.
React 19 Vite GitHub Gist API Cloudflare Pages Git localStorage Termux / Android
003 — Skills
Tools &
stack
Frontend
  • Reacthooks, memos, state management
  • JavaScriptasync, closures, array methods
  • HTML & CSSsemantic markup, responsive
  • Vitebundling, env vars, build
Tooling & Deployment
  • Gitbranching, tagging, history
  • GitHubrepos, Actions, Gist API
  • Cloudflare Pagesdeploy, domains, env vars
  • TermuxLinux on Android
Currently Learning
  • TypeScript
  • Node.js / Express
  • SQL / Supabase
  • EJU Maths Course I & 総合科目
Languages
  • Japanese — JLPT N1
  • EnglishProfessional
  • NepaliNative
  • HindiConversational
004 — Contact
Get in
touch

I'm open to conversations about software, university life in Japan, or anything in between. The best way to reach me is by email.