Hired to build it.
Shipped to production.
I'm a full-stack software engineer. My flagship work is massrealtyinc.ca · the complete web platform I was hired to design and build for Mass Realty Inc., a registered Ontario brokerage. It is live, in production, and in daily use. Live MLS listings flow in from the PropTx/AmpRE IDX feed across Ontario, buyers search on an interactive Leaflet map that fetches by visible city rather than radius, sellers get an AI-assisted valuation in four steps, and every dollar figure on the site · CMHC premiums, land transfer tax, first-time buyer rebates · is calculated to Canadian conventions.
Building for a real client changes how you engineer. Features have to earn their place: the calculators feed lead capture, the insights library feeds search traffic, the valuation wizard ends in a CMA request. The platform includes a JWT-authenticated agent portal so brokerage agents manage their own listings, with every operation scoped to the agent who made it. And when my own compliance audit found a feature using IDX data in a way the PropTx agreement prohibited, I removed it · engineering for a real client means building to the contract, not just the spec. I was re-engaged in April 2026 to build the company's second site from scratch · the review that matters most.
I come from security engineering · TEE research, threat modelling, CompTIA Security+ · and it shows up in how I build software: input validation on every form surface, rate limiting at the API layer, session isolation, and audit logging from day one. Security isn't my headline anymore. It's my default.
What I've built and shipped.
Mass Realty Inc. is a boutique brokerage serving buyers, sellers, and investors across Mississauga, Oakville, and the Greater Toronto Area. They needed more than a brochure site: live listings, buyer tools that generate leads, a content library that earns search traffic, and a way for staff to manage all of it without calling a developer.
I was hired to deliver the whole thing · design, frontend, backend, data pipeline, and admin tooling. Every page and every feature on the platform is my own work.
Vanilla JavaScript frontend (ES Modules), Node.js serverless functions on Vercel, PropTx/AmpRE OData API behind a proxy. No framework overhead, SPA-like navigation through sessionStorage state, and a two-layer cache: a server-side Vercel Blob cache shared by every visitor (24-hour TTL, the maximum the IDX agreement allows) plus a client-side pin cache that restores the previous map state instantly.
Map search fetches by visible city centroids, not radius. The frontend detects which Ontario city centroids sit inside the current map bounds and fetches their listings in parallel · the fix for a real bug where distant markets like Windsor and Chatham vanished at certain zoom levels. A background pipeline geocodes street addresses through Nominatim into a persistent Blob geocache, and a warming script pre-populates it for every major Ontario market so first-time visitors see pins immediately.
Listing pages pull full property data · room dimensions, washroom breakdowns, condo details, amenities, open houses, virtual tours · with dynamically generated Schema.org structured data and Open Graph tags, price history charted from OriginalListPrice, and server-side deduplication of properties re-listed under a second MLS number.
The valuation wizard adapts its fields to the property type: a condo asks about floor level, maintenance fees, and view; a detached home asks about lot size and storeys. It ends in a Comparative Market Analysis request · the platform's strongest lead funnel.
- Map search · Leaflet + MarkerCluster · viewport city-centroid fetching · parallel loads
- Two-layer cache · shared Vercel Blob (24h TTL) + sessionStorage pin cache
- Geocoding pipeline · Nominatim · persistent geocache · city warming script
- Listing detail · rooms, washrooms, condo details, amenities, open houses, virtual tours
- Price history from OriginalListPrice · "Price Reduced" badges · re-listing dedup
- Schema.org structured data + Open Graph generated per listing · SEO throughout
- Mortgage calculator · land transfer tax estimator · Walk Score · demographics widget
- 4-step home valuation wizard · dynamic fields per property type · CMA lead funnel
- Insights library · 6 long-form buyer & seller guides · transactional email via Resend
- JWT-authenticated agent portal · agents create, edit, and manage their own listings
- UX · non-blocking load pill · map position persistence · spiderfy for same-building units · "View on Map" deep links
My security background shows up in the plumbing rather than the pitch:
- Agent auth via signed JWT · all CRUD operations scoped to the authenticated agent by middleware
- Audited the platform against the PropTx IDX Data Agreement · implemented required compliance notices
- Capped the shared data cache at the 24-hour TTL the agreement requires
- Removed an AI chat feature that used IDX data in a way prohibited under Section 6.2(k) · shipping sometimes means saying no to your own feature
- Compliance-aware copy · CMHC, LTT, and valuation disclaimers written to Ontario conventions
chmod 600. Includes a separate decryption utility for log review. Designed to demonstrate the architectural difference between a malicious keylogger and a consented audit tool.
Writing it down.
Tools of the trade.
Education & training.
I took an unusual route here: a psychology degree, then security engineering, then client work that put my code in production. That path built an engineer who thinks about the user, the maintainer, and the attacker at the same time. Certifications tell you part of the story · the better evidence is live. massrealtyinc.ca is my work, end to end. Judge me on that.