Re-architected from a MongoDB sandbox to a robust PostgreSQL app with
7 authentication levels, from basic login forms to Google OAuth 2.0 and
secure secret storage.
Explores modular Node.js development with Express routes, Passport
strategies, and relational database design, built to simulate
real-world authentication challenges.
Deployed on Azure App Service and Azure PostgreSQL Flexible Server,
with GitHub Actions ensuring continuous deployment pipelines from
local dev to production.
Reinforced my understanding of encryption vs. hashing, session-based
security, OAuth integration, and the nuances of cloud environment
configuration and SSL handling.
Developed a comprehensive travel tracking system where each family
member can log and color countries they've visited, visualized on an
interactive SVG world map.
Significantly expanded the architecture from earlier projects with a
multi-user system, persistent data models, form validation, and
responsive SVG rendering across screen sizes.
Connected to a production-grade Azure PostgreSQL Flexible Server with
three relational tables and cloud-hosted via Azure App Service, using
environment-based database configuration.
Built with long-term scalability in mind, featuring clean Express
routing, modular EJS views, organized static assets, and full CI/CD
pipelines through GitHub Actions and Azure DevOps.
Designed as a thematic follow-up to Capitalism, this full-stack quiz
app challenges users to identify country flags using a similar Node.js
+ PostgreSQL architecture.
Reused and extended modular EJS views, routes, and public assets from
the Capitalism project to streamline feature development and ensure
consistent UI performance.
Introduced new datasets and dynamic gameplay logic for randomized flag
prompts, real-time evaluation, and customized end screens.
Deployed using GitHub Actions to Azure App Service with PostgreSQL
hosted on Azure Flexible Server, supporting secure multi-environment
configurations.
Built a full-stack capital city quiz game using Node.js, Express, and
EJS, combining dynamic rendering with server-side logic for a clean
and interactive experience.
Integrated a live PostgreSQL database hosted on Azure to dynamically
fetch country-capital data, with secure cloud-to-local environment
handling using .env and Azure App Settings.
Designed a responsive UI/UX with stateful quiz logic, instant
feedback, and modular EJS components for improved maintainability and
user interaction.
Deployed on Azure App Service with GitHub Actions for automated CI/CD,
and connected to Azure DevOps for project tracking and future pipeline
integration.
Developed an interactive recipe app using Node.js, Express, and EJS
templating where users can select their favorite taco and view
dynamically rendered ingredient details.
Designed a playful, mobile-friendly interface with responsive layouts,
emoji-based navigation, and a clean, modern aesthetic.
Utilized private JSON data as an API, practicing JSON parsing and
stringifying for dynamic content rendering.
Implemented dynamic routing and form handling using Express, improving
backend development skills.
Deployed the app on Microsoft Azure App Service with a CI/CD pipeline
integrating GitHub and Azure DevOps for streamlined updates.
Rebuilt and modernized my personal blog, originally created during my
second year at McGill, to document life stories and development
reflections.
Developed using Node.js, Express, EJS, and MongoDB, featuring dynamic
post composition, CRUD operations, and a custom contact form.
Redesigned the UI with wave animations, responsive layouts, and clean
Bootstrap styling for an engaging reading experience across devices.
Secured deployment by integrating environment variables for sensitive
data and rewriting Git history to remove exposed MongoDB URIs.
Deployed to Microsoft Azure App Service via GitHub Actions for
continuous deployment, with Azure DevOps retained for version tracking
and CI/CD experimentation.
Built a playful full-stack web app using Node.js and Express to
generate spontaneous date ideas across four categories: Cozy,
Outdoorsy, Foodie, and Wildcard.
Used EJS templating for personalized content rendering and implemented
responsive CSS for a visually appealing, mobile-friendly UI.
Deployed the app to Microsoft Azure App Service using GitHub Actions
for reliable and automated CI/CD.
Initially set up Azure DevOps for CI/CD, but switched to GitHub
Actions after deployment issues—retaining Azure DevOps for source
control tracking.
Created this project as a fun way to practice full-stack web
development and design something meaningful and personal.
Created a responsive and fun invitation website for friends by
displaying essential details, an about the host section, and a visual
guest gallery with fun bios.
Designed a clean, user-friendly layout with Flexbox, allowing for easy
navigation and quick access to key event information.
Focused on an adaptable structure that ensures accessibility across
devices, enhancing user experience on both mobile and desktop.
Gained hands-on experience with HTML and CSS, implementing media
queries and Flexbox for responsive design.
Recreated Piet Mondrian's iconic Composition III using CSS Grid,
capturing its precise layout and color scheme.
Utilized CSS Grid's grid-template and span properties to control
layout, mirroring the geometric alignment and proportional balance of
the original artwork.
Achieved a responsive design that maintains the artwork's integrity
across different screen sizes, demonstrating Grid's power for complex,
adaptable layouts.
Focused on color accuracy and clean line separation to effectively
replicate Mondrian's distinct visual style.
Created a responsive pricing table featuring three distinct tiers:
Basic, Standard, and Premium, each with unique features and pricing.
Used Flexbox for a dynamic layout that adapts seamlessly to various
screen sizes, ensuring readability and accessibility across devices.
Implemented media queries to enhance the design's flexibility,
transforming the layout into a single column on smaller screens for a
mobile-friendly experience.
Focused on clean, minimalist styling to highlight key information and
promote an intuitive user experience.
Developed a single-page portfolio to introduce my professional
background, showcasing skills, experience, and key projects in a
clean, cohesive layout.
Emphasized technical and soft skills with a minimalist color scheme,
custom graphics, and imported Google Fonts for a unique, professional
appearance.
Strengthened design consistency and responsive techniques for a
polished user experience.
Developed a multi-page portfolio website entirely in HTML, gaining a
deeper understanding of core web fundamentals by working with HTML
structures and layouts directly.
Emulated a classic computer science professor website style,
emphasizing a minimalist, consistent structure to create a vintage
academic feel.
Crafted an intuitive layout that guides visitors seamlessly,
demonstrating effective navigation and information architecture,
essential skills for future web projects.