RishavpreetSingh
Building practical software at the intersection of cloud, data, and AI.
Turning data and ideas into practical software.
I'm a Computer Science grad from UBC (Class of 2026) with a Data Science minor. I build full-stack software: backend pipelines, cloud infrastructure, and functional frontends.
At Aeroqube, I deployed and maintained AWS-hosted web apps for AI healthcare products. I built a React/Tailwind landing page for a clinical assistant and set up a Lambda and SendGrid email workflow for form submissions. Admin console load times dropped 70% after I added API pagination and fixed slow data-loading calls.
My projects tend to involve messy data or tight constraints. JobLens is a full-stack AI/data tool for analyzing Canadian job postings against your resume. CaseFlow is a Spring Boot and Angular case-review app with a maker-checker approval rule, idempotent APIs, and a transactional outbox. Adventure of the Ages is a C++ platformer with a custom OpenGL engine. Loopr is a mobile-first React Native app for musicians to record and layer loop sessions, backed by a TypeScript service and Terraform-provisioned AWS infrastructure.
BASED IN
Vancouver, BC
EDUCATION
BSc Computer Science · Data Science Minor · UBC
GRADUATED
May 2026
EXPERIENCE
Software Engineer Intern · Aeroqube
TARGETING
Backend · Full-Stack · Cloud & Data Engineering
CURRENTLY
Open to Full-Time Roles
How colleagues describe me
Tech I work with
The tools I reach for.
Organized by category. Hover any skill for context from real projects.
Programming languages I've used across coursework, projects, and production work.
Where I've worked.
Production experience building cloud and AI products.
Aeroqube
InternshipSoftware Engineer Intern
Cloud, AI products & web
Designed and built Aeroqube's 100+ page marketing website in Figma, React, and Tailwind, structured for WordPress/PHP handoff. Also designed 2 client landing pages and an AI chatbot app.
Cut activity-log load times on a healthcare admin console from 5–10s to under 1s by rebuilding the table around server-side pagination, debounced search, and dataset-wide sorting, one of 5 feature PRs shipped across the console.~90% faster
Redesigned a veterinary AI chatbot across 6 screens plus a shared responsive sidebar (React, Next.js, GraphQL, Firebase), adding date-grouped chat history, mobile drawer navigation, and an admin panel for AI model and prompt configuration.
Built a serverless lead-capture pipeline with AWS Lambda, API Gateway, and SendGrid, replacing an Express/Nodemailer setup and sending branded HTML emails via CloudFront.
Things I've built.
From 48-hour hackathons to semester-long engineering projects.
Apr – Jun 2026
JobLens AI
An AI/data portfolio project for analyzing Canadian tech job postings, role fit, resume match, and skill gaps.
The Problem
Tech job postings are scattered across employer sites and are hard to compare. As a candidate, it can be difficult to tell which roles match your current skills, which gaps matter most, and why one job may be a better fit than another.
My Approach
Built a full-stack AI/data project that collects first-party Canadian tech postings from Greenhouse, Lever, and Ashby, normalizes the data, and uses Groq to extract structured skills from job descriptions. Instead of a black-box score, it shows matched skills, missing skills, role-fit signals, learning priorities, and job-level evidence. A separate read-only Flask ops console surfaces failed skill extractions with their provider, model, and prompt version, so pipeline issues are inspectable instead of silent. Includes a Streamlit dashboard, FastAPI backend, PostgreSQL with Alembic migrations, Docker setup, AWS deployment, and automated tests.
Key Results
- Ingestion pipeline for Canadian tech postings from Greenhouse, Lever, and Ashby with normalization, deduplication, and Groq-based skill extraction
- Read-only Flask ops console over persisted pipeline-run metadata, joining extraction results to postings so empty extractions surface with their provider, model, and prompt version
- GitHub Actions refresh workflow that rebuilds the Canada jobs snapshot, validates data quality, runs tests, and opens a PR when the snapshot changes
- Explainable role-fit and resume-matching logic showing fit scores, matched skills, missing skills, learning priorities, and job-level evidence
- FastAPI + PostgreSQL backend with Alembic migrations, saved analyses, validation, CORS controls, rate limiting, and safe error handling
- Streamlit demo with job search, semantic/hybrid search modes, role-fit analysis, resume match, skill gaps, CSV upload, and Markdown/PDF export
- 283 passing Pytest tests covering API behavior, matching logic, ingestion, search, resume analysis, upload validation, security basics, and regression cases
Tech Stack
Where I learned to think.
Four years at UBC: CS theory, data science, and real systems.
University of British Columbia
Bachelor of Science · Computer Science
Minor in Data Science
Relevant Coursework
4+
Years at UBC
CS + Data Science double-track
