How I built a real estate marketplace using AI
Is it possible for a non-developer to develop a fully working marketplace app only using AI tools?
Some context
From 2015 to 2018, I developed and operated a fully-fledged real estate marketplace. We were a team of 4 to 10 people who, from 2015 to 2018, designed, developed, polished, and grew Livvin to a significant base of users, listings, and monthly traffic. In 2018, Finn.no (the major marketplace player in Norway) acquired the entirety of Livvin. You can read more about that journey here.
Since then, I have been toying with learning to code and trying to build what we built back then by myself, but I have never found the time until now. Because now, I hypothesize that I might not have learned to code to build it.
Mind blown
This new hypothesis is based on my December experience playing around with “AI-developer” products like Databutton.com and Lovable.dev.
These products made me sit and gasp for hours during December, eventually prompting me to start my little hobby project, “Project Lilla—Is it possible for a non-developer to build a fully working marketplace app using only AI tools?”
How I have “built” Lilla so far
Features built
I have spent 19 hours so far prompting the Lovable “AI developer,” and the result so far is a working marketplace app with the following features:
Auth0 authentication
User profiles
Listing creation
Listing preview
Listing page
Search (not working 100% yet)
User-feedback
The tech stack used
90% of which the “AI developer” set up itself: React for building component-based user interfaces, Vite for fast development and optimized builds, Tailwind CSS for utility-first styling, Shadcn UI for accessible Tailwind-styled components, TypeScript for static typing, Supabase for PostgreSQL database with real-time features and RLS, Mapbox for interactive maps, React Router for dynamic navigation, TanStack Query for efficient server state management, Resend for email services, and Netlify for scalable hosting with continuous deployment.
Some examples of how I prompted the “AI developer”
I started with the following prompt:
“Create a marketplace app for real estate. The app should include features like this: users should be able to log in and create a profile, users should be able to make a listing for their real estate, and users should be able to search for real estate. Use modern fonts and purple as the main color.”
Then, I followed up with 67 prompts over 19 hours, getting me to where I am today. Some examples of prompts:
“Please center the image carousel in the box.”
“Can you organize these differently on mobile so they take up less space?”
“Can you ensure the image is the same width as the "price range" module?”
“On the listing preview, can you adjust the "Coming for sale at" module to only include the month and year?”
“Add a Mapbox address search as you have done in the listing-creating tool. When a user searches for an address, you take them to a result page that shows them listings sorted on how far away from that address the listing is located.”
“Can you add some illustrative houses and housing blocks behind the text and the search field?”
The results so far after 19 hours
You can browse the marketplace app here.
What I have learned
After 19 hours of prompting, I have learned this.
Impressive stuff. (Given my non-developer background, it’s hard to know if it is impressive or just comes off as impressive.)
It builds stuff with full-fledged databases and integrations with external services. Lilla is live and working.
The front-end design looks good (It seems to be stealing a lot from established players, as one would have thought).
Setting up logging so that you can debug using the console works flawlessly (I think)
Setting up testing of certain user flows seems to be working.
Prompts do not have to be “on point”; the AI is quite good at understanding what you want it to do even though you are not using domain language.
Frustrating stuff (This list shows you how entitled we have become with AI already)
The “AI developer” can get stuck on a problem for several prompts, never really solving it but thinking it has. This has led to me spending hours going back and forth with the AI developer, trying to get it out of its loop. Tip: The trick that seems to be working is to ask the AI developer to “think through this problem in 20 steps before you take any action.”
Uncertainties as a non-developer
Does it scale?
Is it secure?
Is the code any good? Will a developer be able to take ownership of it and continue building on it?
What does this mean for the industry today, if anything?
Does it work for prototyping today?
Yes! I expect most product managers, designers, and others to use it to visualize and quickly create clickable prototypes going forward. This will increase the speed of testing ideas and probably reduce internal misunderstandings about what one wants to build, etc.
These same roles might also use these tools to test MVP versions in production without involving engineering in their companies, which could again potentially increase the speed of testing ideas.
Does it work for production-grade development today?
Short answer. I do not know yet.
However, based on what I hear and read from others, it seems that it can work for smaller “solve one problem apps,” but it struggles once you introduce app complexity.
Hypothesis - Developers will come out on top.
The better these tools get, the more I think developers will come out on top. Developers using AI will probably benefit more because they understand the context, debug output, and optimize AI-generated code, enabling faster, higher-quality results. Non-developers like myself lack the technical foundation to validate, adapt, or fully leverage AI's suggestions, risking inefficiency and errors.
Yes, I could land an airplane using the autopilot, but you would not want me to.
All the above said. After another 19 hours of prompting, I am prepared for my mind to be changed.