Backend architecture
REST APIs, authentication and data models, built in clear layers so they stay easy to change as the product grows.
Node.js · Express · Spring Boot · Django · .NET
Backend depth,
full-stack perspective.
I build web applications, APIs and the infrastructure behind them. My work spans product development, cloud deployment and custom websites for businesses.
Expertise
Most of my work sits behind the interface: the API, the data and the servers it runs on. I care just as much about the part people see.
REST APIs, authentication and data models, built in clear layers so they stay easy to change as the product grows.
Node.js · Express · Spring Boot · Django · .NET
Deployments on AWS behind Nginx and PM2. I set up the domains, TLS and CI myself, and keep things running afterwards.
AWS · Docker · Nginx · PM2 · CI/CD
Responsive interfaces in React and Next.js, with the same attention to typography, motion and accessibility as the API underneath.
React · Next.js · TypeScript · Tailwind
JWT and OAuth 2.0, role-based access and input validation, designed in from the start rather than added at the end.
JWT · OAuth 2.0 · RBAC · TLS
Selected work
A live AI product, a support platform for underserved communities, the client studio I co-founded, and a ticketing platform I'm building now.

An AI-assisted resume application with writing tools, live editing, preview, and PDF export.
Next.js · Node.js · Express · MongoDB · OpenAI API
A community platform that helps people find housing, employment, education, mental health, legal and other support services through a map and searchable listings.
Next.js · React · TypeScript · Node.js · Express · MongoDB

A Toronto development studio delivering custom websites, applications, and technical SEO for business clients.
Next.js · TypeScript · AWS EC2 · Nginx · Nodemailer · Tailwind CSS · SEO
An event ticketing platform for organizers and buyers. Currently building the interface, API, data model, and integrations.
Next.js · Node.js · Express · PostgreSQL · JWT · Stripe · AWS · TypeScript
REST API for academic grade management with JWT authentication and role-based access control.
Designed and built a stateless REST API with Spring Boot and Spring Security. Implements JWT-based authentication, role-based authorization (admin / instructor / student), input validation, structured exception handling, and a layered architecture (controller, service, repository) that follows REST conventions throughout.
Java · Spring Boot · Spring Security · JWT · PostgreSQL
Real-time encrypted chat system built on Python socket programming with end-to-end SSL/TLS.
Built from the transport layer up using raw Python sockets over TCP with a custom application protocol. Implemented end-to-end SSL/TLS encryption, concurrent client handling via threading, and a Django backend for session management. The socket lifecycle is managed directly, with no framework abstractions on top.
Python · Django · Socket Programming · SSL/TLS · Threading
Geolocation-based fitness tracking app with interactive maps and OOP-driven architecture.
Built with vanilla JavaScript using an OOP class hierarchy for workout types (Running, Cycling). Integrates the Geolocation API for live position, Leaflet.js for interactive map rendering and route markers, and localStorage for persistence, without a framework.
JavaScript · Leaflet.js · Geolocation API · OOP · localStorage
Healthcare network management system with relational data models, full CRUD, and clean MVC architecture.
Built with ASP.NET MVC and Entity Framework Code-First for a multi-entity healthcare platform. Full CRUD operations across patients, providers, and facilities with relational integrity, database migrations, and clean separation between controller logic, business rules, and data access.
C# · ASP.NET MVC · Entity Framework · SQL Server · Razor
Stack
Pick a technology to see which of my projects use it.
On AI
I use AI every day to explore ideas, sketch approaches and move faster through routine work. But I don't ship code I can't explain. What an engineer brings is judgement, and judgement comes from understanding how things work.
If AI drafts a function, I read it, test it and make sure I could have written it myself. Code I can't explain is a liability, not a shortcut.
Every engineer should understand the basics: how a model predicts the next token, why it can be confidently wrong, and where its context and data run out. That's how you know when to trust it.
The best use of AI is trying more ideas, learning faster and spending more time on the hard problems. The judgement stays with the engineer.
About

A software engineering graduate who likes taking a product from an idea to something running in production, and then looking after it.
Co-founder & Lead Developer
I work directly with clients to design, build and deploy custom websites and applications. That covers the front end, backend systems, databases, cloud infrastructure and technical SEO, from the first call through ongoing maintenance.
Visit the studioBachelor of Software Engineering Technology
Graduated August 2026.
Advanced Diploma, Computer Programming & Analysis
Graduated with Honours.
Coding category, participant
Solved programming challenges alongside technical students from across Ontario.

Try it
Scale a system yourself. Add servers, a cache or a CDN, keep latency and errors under target, and stay within budget. The maths is simplified; the trade-offs are real.
On-call noteOne API server at 200% and there's no way to add a second without a load balancer.
The product goes live this morning. One server and one database won't hold 1,200 requests a second.
Contact
For engineering roles, client projects, or a conversation about my work, send me a message or book a call.