kayla’s scrapbooklet’s talk ↗
03 / a project pulled from the pocket
Property platform

The systems behind the listings.

Real estate runs on conversations, listings and a lot of moving parts. I worked on the systems connecting them, from the backend under a live website to the small decisions that make AI output usable.

focus

Backend migration · full-stack workflows · applied AI

built with

NestJS · TypeScript · Prisma · MySQL · Redis

the whole journey, at a glance.

a little map of the productfollow the thread ↘

An agent shares a listing in everyday shorthand.

Interactive product-flow illustration · tap a step to explore

01 / the starting point

What needed to work.

The public website needed to keep working while its backend moved from PHP/Laravel to NestJS. At the same time, agents needed less manual work to turn informal property messages into structured listings.

02 / my part

The work behind it.

My contributions included the backend migration, listing ingestion, validation and downstream publishing workflows. This page presents a sanitized view of that work.

03 / an intentional choice

The decision that mattered.

Preserve the existing MySQL schema and client contracts first. Use Prisma to bridge the old data model, then normalize incrementally. For listing extraction, let AI interpret language while deterministic code checks prices, contacts and required fields.

a note I’m taking with me

A useful migration respects the system people already depend on. A useful AI feature also needs validation, retries and an understandable path when something goes wrong.

04 / project context

A little context.

Sanitized internship case study. The diagram reconstructs the product flow; it is not a screenshot of a private dashboard. Public code is a runnable extract, not the full production system.