CS New Grad · Open to SWE roles across Canada & US

RishavpreetSingh

New Grad Software EngineerFull-Stack DeveloperCloud & Data Builder

Building practical software at the intersection of cloud, data, and AI.

Nice to meet you

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 scrapes and scores real Canadian job postings against your skill profile. Adventure of the Ages is a C++ platformer with a custom OpenGL rendering pipeline. Graider was a 48-hour hackathon prototype for AI-assisted grading.

I'm currently building Loopr, a mobile app for musicians to record, layer, and save loop sessions. It's a way to get hands-on with React Native, TypeScript, and AWS together in one project.

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

Building Loopr

How colleagues describe me

Built production-facing featuresCloud and data curiousPerformance-focusedFast learnerSystems thinkerDetail-orientedCollaborativeHackathon veteran
0%
Admin Console Improvement
Via API pagination and data-loading optimizations at Aeroqube
0
Software Engineering Internship
Production-facing web, cloud, and AI product work at Aeroqube, 2025
0
Technical Projects
Data intelligence · C++ systems · AI prototype
0
Degree Disciplines
Computer Science + Data Science, UBC 2026

Tech I work with

PythonTypeScriptReact.jsReact NativeAWS LambdaNext.jsDockerPandasNode.jsTailwind CSSPostgreSQLSQLAWS S3GitHub ActionsTerraformOpenGLC++StreamlitExposcikit-learnPythonTypeScriptReact.jsReact NativeAWS LambdaNext.jsDockerPandasNode.jsTailwind CSSPostgreSQLSQLAWS S3GitHub ActionsTerraformOpenGLC++StreamlitExposcikit-learn
Skills

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.

Python
TypeScript / JavaScript
SQL
C++
Java
C
R
Experience

Where I've worked.

Production experience building cloud and AI products.

Aeroqube

Internship

Software Engineer Intern

Cloud, AI products & web

April – August 2025Vancouver, BC
  • Deployed and maintained production web apps on AWS (S3, EC2, Lambda, CloudFront) serving a live AI healthcare product, with zero downtime across the 5-month internship.

  • Built a React.js + Tailwind landing page for an AI clinical assistant and wired a SendGrid email workflow through AWS Lambda, converting form submissions into automated lead-capture emails without a backend server.

  • Cut admin console load times by 70% by replacing full-table fetches with API pagination and restructuring third-party API calls, going from roughly 8s to under 2.5s on the main dashboard.70% faster

  • Tightened the AI chatbot UX for healthcare professionals by reworking chat history storage, response state flow, and error states, which reduced support tickets about conversation drop-offs during the final sprint.

React.jsTailwind CSSAWS LambdaS3EC2CloudFrontSendGridREST APIs
Selected Work

Things I've built.

From 48-hour hackathons to semester-long engineering projects.

3 projects
JobLens AI
PythonPandasscikit-learn
Apr – Jun 2026
View on GitHub

Apr – Jun 2026

JobLens AI

Real Canadian job data, explainable role-fit scoring, and actionable skill-gap intelligence.

The Problem

Job boards show postings but no signal on fit: which roles match your skills, which gaps matter most, or why one role is better than another. Real job data is also fragmented across employer sites and inconsistently formatted.

My Approach

Built an ingestion pipeline that pulls first-party postings from Greenhouse, Lever, and Ashby, runs Groq-powered skill extraction on each posting, and refreshes the dataset automatically every week. A role-fit scoring engine uses TF-IDF similarity and role-specific weighting across 6 technical categories so candidates see a numeric fit score and ranked list of missing skills. Shipped a Streamlit dashboard backed by FastAPI and PostgreSQL with free-text search, CSV upload, saved analyses, and one-click Markdown/PDF report export.

Key Results

  • Ingestion pipeline pulling first-party postings from Greenhouse, Lever, and Ashby with Groq skill extraction and weekly automated refreshes
  • Role-fit scoring engine with TF-IDF similarity and role-specific weighting across 6 categories: numeric fit score and ranked skill gaps, not a black-box match
  • Streamlit dashboard backed by FastAPI and PostgreSQL: free-text search, CSV upload, saved analyses, and one-click Markdown/PDF export
  • Containerized with Docker, deployed on ECR, ECS Fargate, ALB, private RDS, and Secrets Manager with 195 Pytest tests green in CI

Tech Stack

PythonPandasscikit-learnFastAPIPostgreSQLGroqStreamlitDockerECS FargatePytestGitHub Actions
GitHub
AIData EngineeringBackendCloudPython
Currently Building

What's next.

A TypeScript and cloud project in progress, built as a real system.

Loopr

In Progress

A mobile-first multitrack loop-building workspace for musicians to capture ideas, layer recordings, and save loop sessions.

The Problem

Musicians capture ideas across messy voice memos and scattered recordings but have no easy way to layer, organize, or replay them as structured sessions. Full DAWs are too heavy when the goal is quickly capturing and building on a musical idea.

The Approach

Building a mobile-first TypeScript app where musicians can create loop projects, record short audio tracks, layer multiple recordings, and manage saved sessions. Starting with a strong local-first workflow, then expanding into a cloud-backed architecture with a TypeScript backend API, DynamoDB metadata persistence, S3 audio storage, and infrastructure-as-code.

What I'm Building

  • Mobile loop workspace: create projects → record tracks → layer ideas → save sessions
  • Local audio workflow with recording, playback, mute controls, volume sliders, rename/delete, and file cleanup
  • TypeScript backend API with project/session routes, validation, tests, and repository boundaries
  • DynamoDB metadata design for projects, sessions, and track records
  • Planned S3 audio storage, AWS Lambda/SQS processing path, Terraform infrastructure, and CI/CD

Planned Tech Stack

React NativeExpoTypeScriptNode.jsExpressDynamoDBAWS S3AWS SQSAWS LambdaTerraformGitHub ActionsJestVitest

Treating it as a real production system: mobile app, TypeScript backend API, and AWS infrastructure in one project.

Education

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

Sept 2021 – May 2026Vancouver, BC

Relevant Coursework

Machine LearningData Structures & AlgorithmsComputer SystemsDatabasesSoftware EngineeringComputer GraphicsStatistical InferenceData WranglingOperating SystemsAlgorithm Design

4+

Years at UBC

CS + Data Science double-track

Contact

Let's
connect.