Based inIndia

Student & Developer

Arpit Karna

I build full-stack web apps, real-time systems and applied-AI tools, from the database to the interface.

Learning and developing something beyond the ordinary.

Scroll
/ Selected work

Paid client work, and projects I built for myself.

Two paid client projects first, then four personal builds. Links go to real source or live sites where they exist, and any number shown comes from the project's own documentation.

01 / PAID CLIENT PROJECT · FULL-STACK

RDM Client Portal

A client–admin portal for RDM Aaya Kar Tatah Mu. Aa. Kar. Paramarsha Kendra, an IT, tax and VAT consultancy and audit firm, so clients can access their audit reports securely.

The problem
The firm's clients need their audit reports, tax reports, financial statements and compliance documents, and each client must see only their own.
What I built
Everything: the React interface, the Express API, the MySQL schema, and the Google Drive integration. Clients sign in and see only the documents in their own Drive folder. Administrators manage clients, folder mappings, users, uploads and the audit trail.
Key decision
Google Drive stays the file store, and the API is the authorisation layer. It checks ownership and streams the file bytes, so no Drive link, file ID or credential ever reaches the browser. Every access failure returns the same 404, so clients can't probe for other clients' document IDs.
Security
Rotating refresh tokens in HTTP-only cookies, CSRF tokens, rate limits, single-use password reset, and a full audit log of logins, views, downloads and admin actions.
  • React 19
  • TypeScript
  • Tailwind CSS
  • Express 5
  • Prisma
  • MySQL
  • Google Drive API
  • JWT

Paid client engagement. The code and client data are private, so there is no public repository or demo.

Access checks · scratch-database run
404

What client A gets when requesting client B's document: metadata, view and download alike.

Selected security behaviours verified in the project
AttemptResult
?client_id= on list endpointignored
Write without CSRF header403
Client calls admin endpoint403
Refresh-token reusesession revoked
02 / PAID CLIENT PROJECT · WEBSITE

Luv Kush Dairy

The public website for Luv Kush Dairy, a milk-processing company in Pokhara, Nepal, presenting the company and its dairy products online.

What I built
All of it: design, build and launch of a static, responsive site with a home banner, an About section, a product catalogue (milk, curd, ghee, butter, ice cream and more) and a contact page. Customers can send product, dealership and feedback enquiries through a form that delivers by email.
Engineering notes
Hand-written HTML, CSS and JavaScript with no framework or build step. It has a mobile menu, a sitemap.xml and robots.txt for search engines, and it runs on the client's own .com.np domain.
  • HTML
  • CSS
  • JavaScript
  • EmailJS
  • SEO

Paid client project. The source repository is private.

Screenshot of the Luv Kush Dairy website on a phone: a green navigation bar, a banner reading Pure Goodness Every Day with the dairy's products, and the About Us section. luvkushdairy.com.np · live screenshot
03 / REAL-TIME SYSTEM

Watch Party

A web app where everyone in a room watches the same video in lock-step, with live chat, reactions, polls and a shared queue.

Goal
Keep every viewer's playback in sync, including late joiners and people who reconnect.
How it works
The server holds the playback clock and every action carries a sequence number. Clients drop anything older than what they have applied, so conflicting actions converge on the same state. A client-side loop detects drift and corrects it.
Engineering notes
One runtime dependency (ws) and no build step. Typo-tolerant search uses Damerau–Levenshtein distance. Tests cover the protocol, concurrency, reconnects and the sync algorithm.
  • Node.js
  • WebSockets
  • JavaScript
  • YouTube IFrame API

Not deployed. Run locally with npm start.

Control propagation · p95
2–4 ms

Measured on loopback, 10 to 50 users in one room. Not measured over a real network.

Load test results by room size
Usersp95 latency
101.99 ms
252.36 ms
503.47 ms
04 / FULL-STACK · DJANGO

E-Clinic

An online clinic where patients find doctors, book video or in-clinic appointments and receive digital prescriptions.

What it does
Separate sign-up flows and role-based dashboards for patients and doctors. A doctor directory with search and speciality filters. Slots generated from each doctor's working hours. Confirming a video appointment generates a Jitsi Meet link, and prescriptions can be printed or saved as PDF.
Engineering notes
Booked, past and double-booked slots are excluded, and a database constraint enforces the double-booking rule too. Appointments move through pending → confirmed → completed, with cancellation and rejection paths. The repo includes tests and a seeded demo.
  • Django
  • Python
  • Bootstrap 5
  • SQLite
  • Jitsi Meet
  • Vercel

The live demo is a serverless deployment with no persistent database. Data you enter resets on every cold start.

Appointment workflow
cancelled by patientrejected by doctor
2 roles

Patients and doctors, each with their own dashboard and profile.

05 / FULL-STACK · SIMULATION

TWIN

A personal-finance “digital twin” that lets you ask what could happen before you commit to a loan, an investment or a car.

What it does
An onboarding wizard builds a financial profile. You then pick a scenario (loan, invest or car), adjust it and see projected outcomes on an animated chart, with a history of earlier runs.
Architecture
A FastAPI backend with auth, profile, scenario, simulate and history routers, backed by SQLAlchemy. The simulation package is split into an engine, Monte Carlo runs, scenario effects and sensitivity analysis. The React frontend draws the forecast as an animated SVG line.
  • FastAPI
  • Python
  • SQLAlchemy
  • React 18
  • TypeScript
  • Vite
  • Tailwind
  • Radix UI

A prototype, not deployed. Run locally from the repo.

Scenarios
LoanInvestCar
enginecore simulation
monte_carlorepeated runs
scenario_effectsper-scenario impact
sensitivitywhat-if analysis
06 / FULL-STACK · MERN

Evermore

A personalised wedding planner: each couple gets an account and private data for their guest list, budget, checklist and vendors.

What it does
A dashboard with a days-until-the-wedding countdown. A guest list with RSVP status, meal preference and plus-ones, and an automatic head count. A budget tracker comparing estimated and actual cost against the overall budget. A checklist that flags overdue tasks, and a vendor tracker.
Architecture
Express and Mongoose API with JWT authentication. React frontend with React Router, Axios and context-based auth.
  • React
  • Node.js
  • Express
  • MongoDB
  • JWT
  • Vercel
Four private workspaces per couple
GuestsRSVP · meals · plus-ones
Budgetestimated vs actual
Checklistpriority · overdue flags
Vendorsquotes · booking status

Account-scoped data behind JWT authentication.

/ More work

Databases, computer vision and smaller builds.

01

PCRMS — Police Records & Criminal Management

DBMS course project (team of 4). I built the full stack: MySQL schema with views, procedures and triggers, a role-based Express API, and the React UI. It ships with 44 API and database tests.

MySQL · Express · React · Vite · JWT View code ↗
02

AI Pothole Detection

Real-time pothole detection on road video using a YOLOv8 model, with an audible alert and a Streamlit interface. A separate Faster R-CNN training pipeline was explored alongside it.

Python · YOLOv8 · OpenCV · Faster R-CNN Private repo
03

Student Management System

A web application for managing student records and academic information.

PHP · HTML/CSS · JavaScript · MySQL View code ↗
04

Office Management System

Client and employee software for managing office operations and employee records.

Dart View code ↗
05

Smart Classroom Attendance

An attendance service with a FastAPI backend, an SQLite store and a dashboard page.

FastAPI · SQLite · HTML Private repo
06

Screenshot Analyzer

A Firefox extension that captures the visible tab and sends it to a serverless backend, which passes it to Google Gemini for analysis.

JavaScript · Firefox WebExtension · Vercel · Gemini API Private repo
07

Transportation & Timetable Systems

Two Python projects: one for transportation operations and ticket CRUD, one for academic schedules and class timetables.

Python · MySQL (timetable) View code ↗
08

Mess Management & Eco Banking

Two console applications written in C++.

C++ View code ↗
/ Skills

What I work with.

Grouped by what they are used for, and all of them appear in the projects above.

Languages

  • Python
  • JavaScript
  • TypeScript
  • PHP
  • C
  • C++
  • Dart
  • SQL

Frontend

  • HTML/CSS
  • React
  • Vite
  • Tailwind
  • Bootstrap
  • Figma

Backend & data

  • Node/Express
  • Django
  • FastAPI
  • REST + JWT
  • WebSockets
  • MySQL
  • MongoDB
  • SQLite
  • Prisma

AI & data

  • YOLOv8
  • Faster R-CNN
  • OpenCV
  • NumPy
  • Pandas

Tools & fundamentals

  • Git/GitHub
  • VS Code
  • Vercel
  • DSA
  • OOP
/ About

Creative at the core.

Student. Developer. Builder. Curious by nature, driven by code. I love turning ideas into real, working things — from clean UIs to backend logic.

Currently studying and sharpening my skills across the full stack. I bring energy, fast learning, and a genuine passion for creating software that matters.

20Repositories
8Languages used
3Live deployments
2Paid client projects

Counted from my GitHub projects: public and private repositories, languages from the Skills list, and the three live sites above (E-Clinic, Evermore, Luv Kush Dairy).

/ Journey

Education & experience.

2026

Freelance Web Developer

RDM Consultancy · Luv Kush Dairy (paid client projects)
2025 – Present

B.Tech CSE Student

Vellore Institute of Technology
2025

Dataset Intern

Sstudize
2024

Freelance Developer

Independent projects
2024

Sci-Tech Exhibition Participant

Various events
2023

Open Source Contributor

GitHub projects
2022 – 2023

Self-Taught Coder

Online platforms & personal projects
/ Contact

Let's talk.

Recruiting, a project, or just a question? Send a note with the context and I'll reply with the next step.