blogs

Engineering / 6 min / June 2026

My biggest coding project did not launch. Here's why.

I built a full-stack app with auth, data, deployment, and a polished UI. Then I stopped before launch.

This project started with one goal. I wanted to build something that felt real from the first screen. I did not want a tutorial clone or a small demo. I wanted a full web app with auth, a live database, deployment, and a UI that did not look rushed.

I used Next.js, Convex, WorkOS, Vercel, and GitHub Actions. The stack taught me how the pieces of a real app connect. I dealt with route handlers, cookies, schema changes, generated backend functions, and deploy errors. Convex made the data side easier because I could inspect tables and function calls while the app ran. WorkOS slowed me down at first, but fixing the auth flow helped me understand how login works outside a tutorial.

The app reached a real preview deployment. The database worked. Auth worked. The design system was consistent. The deploy pipeline worked from GitHub to Convex to Vercel. From a code point of view, it was ready enough to show.

Then I stopped because the timing and legal risk around the properties became the problem. The app used real listing data, contact information, and pricing, and the project was supposed to be a surprise for a close friend because he wanted to sell more of his properties. But one of the owners was already dealing with a lawsuit, and putting all of his properties online could have created more exposure. After talking it through, I was told not to ship it for that reason.

That was frustrating, especially after spending around two months building it, but it was useful. The project taught me that shipping is not only code. Legal risk, data rights, and compliance can stop a product even when the app works.

I still count the project as a win. I learned how a full-stack app fits together, where production bugs come from, and why a clean launch needs more than a clean repo. The public version never happened, but the skills carried into the next thing I built.

I also made a public template version of the project on GitHub. It keeps the reusable real estate app structure, including listings, team pages, contact forms, auth, saved favorites, admin-protected lead data, validation, rate limiting, and the deployment-ready Next.js, Convex, and WorkOS setup: adamressom/________Properties.