RonilGhoghari

Full-stack developer in Toronto. I build web applications and I track down why they break — from an unexpected render glitch in React down to the database record that caused it. Five years shipping across TypeScript, React, Node.js, Java, and SQL.

scroll — the falls are upriver from the city

Things I have built and can show you

Every project below is real, running code. You can click into the live deployments to test them out, or jump straight to GitHub to inspect the source code and git history.

Label Cropper

React · Express.js · Node.js · Supabase · Web Workers · PDF-Lib · WCAG 2.1 AA

A production tool for e-commerce sellers converting multi-page shipping documents into thermal 4x6 labels, currently handling 50K+ monthly visits. Built as a monorepo with React and an Express backend with Supabase auth. To protect customer privacy and eliminate server compute bills, I offloaded all PDF parsing and image slicing to browser Web Workers via PDF-Lib. Customer shipping addresses never touch my servers, processing time dropped by 40%, and Lighthouse scores stay above 90.

Device Protection Portal

Java 17 · Servlets · JSP · JDBC · MySQL · Tomcat · Docker · Render

An enterprise hardware warranty portal where customers register covered devices and file repair claims, while staff audit claims and pull consolidated reports. Built with a clean Java Servlet MVC architecture, a DAO layer over JDBC, and connection pooling across a 4-table MySQL schema. Wrote custom servlet filters for session-based role separation and packaged the Tomcat runtime into a Docker container for automated deployment on Render.

RentHub — Rental E-Commerce Platform

TypeScript · React · Next.js · Node.js · Express · PostgreSQL · REST APIs

A peer-to-peer rental marketplace for booking equipment and temporary rentals. The hardest technical piece was availability scheduling: designing PostgreSQL queries and date-range overlap validation that prevent double-booking without race conditions. Powered by a typed Next.js/React frontend, modular Express REST endpoints, and transactional state tracking from reservation hold to checkout.

Workplace Mental Health Analytics

Apache Spark · Spark SQL · MLlib · Hadoop · HDFS · Hive · Scala

A distributed data pipeline over 1,259 survey responses and 24 workplace variables: ingested raw records into HDFS, queried schemas with Hive, and trained MLlib classifiers (logistic regression and decision trees achieving 0.707 and 0.695 AUC). Most of the real engineering was data cleaning — normalizing 49 free-text gender strings and repairing spreadsheet errors where company-size ranges had silently converted into calendar dates.

Trinity Dining & Reservation Experience

JavaScript (ES6+) · HTML5 · CSS3 · Fluid Layouts · GitHub Pages

A fast, lightweight restaurant showcase and reservation site built intentionally without bloated frontend frameworks. Pure semantic HTML5, modern CSS Grid/Flexbox, and vanilla JavaScript. Zero runtime bundle overhead means near-instant cold loads, smooth touch gestures on mobile, and full keyboard accessibility.

Metropolitan Crime Intelligence Dashboard

Tableau BI · SQL · Open Data ETL · Geospatial Analysis

An interactive BI dashboard digging into 1M+ open-data crime incident records published by the LAPD. I wrote the SQL queries to clean, transform, and aggregate the raw data across 21 divisions, mapping crime densities by time of day, weapon types, and clearance rates to turn massive datasets into readable geographic trends.

Polysomnography Sleep-Stage Classifier

Python · TensorFlow · Keras · BiLSTM · CNN · MNE · Signal Processing

Classifying continuous physiological sleep recordings (EEG, EOG, EMG) into the 5 clinical stages (Wake, N1-N3, REM). I used Python and MNE for bandpass and notch filtering to strip electrical noise, then trained a hybrid 1D-CNN and Bidirectional LSTM in TensorFlow to model temporal sleep stage transitions over time.

What I do on a Tuesday

I am the web and frontend support developer at Ambrosia Natural Foods here in Toronto. When something breaks on our live storefront, it lands directly on my desk.

Most of my days are about rapid diagnostics: catching an unhandled exception in DevTools, replaying broken REST payloads in Postman, and writing SQL against the database to find the exact corrupt row or bad sync that caused it. It is unglamorous, high-stakes work that has made me ten times faster at debugging unfamiliar codebases than building greenfield tutorials ever could.

I also brought our storefront into compliance with Ontario's AODA / WCAG 2.1 AA accessibility guidelines (improving contrast, keyboard tab order, and screen reader announcements), and authored our internal engineering runbook so our team could resolve recurring issues without developer escalation.

Before moving to Toronto, I built web and email interfaces at Uplers, candidate onboarding systems at SForce Services, and Angular + Node/Express services backed by MongoDB at K.M. Soft.

What I reach for

The languages, libraries, and tools I actually work with day-to-day.

Languages
TypeScript, JavaScript (ES6+), Java 17, SQL (PostgreSQL, MySQL), Python, HTML5, CSS3
Frontend
React 18/19, Next.js (App Router), Angular, Redux Toolkit, Tailwind CSS, Bootstrap
Backend & APIs
Node.js, Express.js, Java Servlets, RESTful APIs, JWT / Session Auth, JDBC, DAO Pattern
Databases & Big Data
PostgreSQL, MySQL, MongoDB, Supabase, Redis, Apache Spark, HDFS, Hive
DevOps & Cloud
Docker, Git & GitHub Actions, AWS (S3, EC2), Apache Tomcat, Maven, Vercel, Render
Testing & Diagnostics
Postman, Chrome DevTools, Jest, Lighthouse, Root-Cause Analysis, Network Triage
Standards & Accessibility
AODA (Ontario), WCAG 2.1 AA Compliance, Core Web Vitals, Semantic HTML5
Workflow & Collaboration
Agile / Scrum, GitHub PRs & Code Reviews, Incident Runbooks, Live Production Triage

Say hello

I'm actively looking for a full-stack developer role in Toronto.

Work PermitOpen Work Permit (PGWP) • Eligible for full-time employment across Canada (no visa sponsorship needed).
ronilghoghari2149@gmail.com
+1 (437) 830-7427Toronto, ON