Side projects

I lead quality by day and still ship product-shaped web tools on the side, client sites, browser utilities, and demos that stay honest about scope and stack. Below: what each build is for, how it’s built, and where to try it live.

Web app · Productivity

Invoice generator for small businesses

Desk with calculator, invoice papers, and pen

A self-contained HTML tool for owners who outgrow spreadsheets but don’t want a full accounting product. You can add line items, apply tax presets, and produce a print-friendly layout from the browser.

The focus is on speed and clarity: reusable client fields, sensible defaults, and no sign-up, everything runs in the page so demos stay private and easy to host on static file hosting.

  • Problem: ad-hoc invoices in messy sheets and inconsistent PDFs.
  • Approach: single-page app patterns with vanilla JS and careful form UX.
  • Outcome: a shareable link teams can bookmark and use offline-first in practice.
Stack & notes
HTML, CSS, JavaScript · Client-side PDF / print styling · No backend

Marketing site · Healthcare

Business website for a dental clinic

Bright modern dental clinic treatment room

A marketing site for Enamel Craft Dental Studio: services, team, hours, and contact blocks that work on phones first. The goal was a fast, trustworthy presence that staff can keep up to date without fighting the CMS.

Structured content and SEO-oriented copy help local discovery; performance and accessibility choices mirror how real patients actually browse (search, maps, click-to-call).

  • Audience: new patients comparing clinics in the area.
  • Constraints: clear service taxonomy, credible bios, strong CTAs.
  • Delivery: deployed site with analytics-friendly markup.
Stack & notes
Static / template-driven pages · Responsive layout · Content structured for search

Web app · Demo

Prescription generator (PDF)

Healthcare professional reviewing medical documentation

A portfolio-safe take on a prescription-style document builder: prescriber and practice fields, patient demographics, and Rx sections exported with jsPDF. It’s explicitly a demo, no PHI storage, no server, no branding baked in.

Useful for showing how I think about multi-section forms, validation, and print/PDF output without coupling to a specific clinic’s identity.

  • Privacy: everything stays in the browser session.
  • UX: required fields, readable PDF hierarchy, accessible labels.
  • Extensibility: easy to restyle or swap copy for another vertical.
Stack & notes
HTML, CSS · jsPDF · Static hosting only

Static site · Portfolio

This portfolio (fast static hosting)

Laptop screen showing code editor and website layout

The site you’re browsing: semantic HTML, a small set of global styles, and progressive enhancement for navigation and footer niceties. It’s built to survive static hosting, CDNs, and custom domains with almost no ops.

Sections cover the career arc, project highlights, blog and podcast pointers, and contact, so recruiters and collaborators get answers without hunting through PDFs.

  • Performance: minimal JS, lazy media, system-friendly fonts.
  • Maintainability: shared CSS tokens and predictable section layout.
  • This page: deeper project narratives live here; home stays scannable.
Stack & notes
HTML, CSS, vanilla JS · JSON-LD for person/SEO · Deployed as static files

Web app · Finance · mFin

mFin, personal finance planner

Charts and analytics on a laptop for financial planning

A month-based planner for income, fixed and variable expenses, and investments, with charts that break down where money goes. Data persists in localStorage so it works as a personal dashboard with zero server.

The UI supports light/dark themes, guarded editing modes, and clear totals so you can sanity-check a budget before the month starts, not after.

  • Visualization: donut, category bars, and line-item breakdowns.
  • Modeling: generic starter data; easy to adapt categories.
  • Deployment: single HTML file, ideal for static hosting or local use.
Stack & notes
Vanilla JS · localStorage · SVG charts · INR formatting helpers