Robin G. Thapa — Full-Stack & Mobile Engineer
About me
I'm a self-taught developer. I don't have a computer-science degree, and I haven't yet worked on someone else's engineering team. Everything on this site is how I learned instead: pick a real problem, build the thing, and keep going until it is finished and live.
That has meant learning the parts tutorials tend to skip — keeping one customer's data away from another's, making forms work without JavaScript, testing the arithmetic that handles people's pay, and writing down why each decision was made.
How I work
Security at the database, not just the screen
ClassHaven separates schools with Postgres row-level security, and DuoCount with Firestore rules keyed on server-issued claims — so one customer cannot read another's data even from dev tools.
Tested where it matters
ShiftPay keeps its money and time maths in a pure layer, in whole cents and minutes, with unit tests. This site runs Vitest and Playwright on every change.
Built for phones and for everyone
Mobile-first layouts, 44px tap targets, keyboard access and contrast checked in both themes. DuoCount ships a recorded WCAG AA contrast audit.
Finished, and written up
Each project page says what the problem was, how I approached it and what came out of it — the same thing I would write in a pull request.
Where to start
If you only read three project pages, read these.
What I build with
- Languages
- TypeScript
- JavaScript
- SQL
- HTML
- CSS
- Front end
- React
- Next.js (App Router)
- Tailwind CSS
- Radix
- Progressive web apps
- Data
- Postgres (Neon, Supabase)
- Drizzle ORM
- Firebase Auth and Firestore
- Redis
- IndexedDB
- Auth and security
- Auth.js
- Passkeys (WebAuthn)
- Authenticator codes (TOTP)
- Row-level security
- Testing and hosting
- Vitest
- Playwright
- Vercel
What I'm looking for
I'm looking for a junior full-stack or front-end role where I can learn from people further along than me, and I take on freelance work for small businesses. If you are hiring, or have something that needs building, I would like to hear about it.