Saturday.
Creemore, Ontario.
Distance from Toronto:130 km. Population in 2021: 1,194.
My friend and I were sitting in a coffee shop in this tiny town. We had a dinner reservation at 7pm. The plan was to spend a few hours chilling at the coffee shop, take a walk along the beach, and enjoy the weekly special menu at The Pine, which only recently received a Michelin Star. That’s what got us here all the way from Toronto after all.
I was working on some casual projects to pass the time. By casual I mean there is no timeline and no business plan; it was more of a self-reflection-turned small project that might be helpful to more than myself.
My friend, a founder-turned-PM, looked up from her laptop and asked, “Did you know Lovable is having a weekend hackathon? You can build anything for free.”
Did I know? Of course I didn’t. I’m (still) not on any social media platform and my weekend was reserved for non-tech related activities (hence the drive, the beach, and the dinner). Did I have something in mind that I wanted to build but never got the chance because of (imaginary) technical barriers? Too many. In fact, I have a file in the note app titled My great ideas 1-50 and I have already reached item #50.
That sounded like a cool idea. I just needed to pick one from my list and try it out. I needed something that could get the most value from what Lovable offers, something small enough to be built within the weekend, something I already have enough content for so that I could focus on building the app instead of writing new content. I had something in mind.
Little did I know Lovable was doomed to ruin my weekend.
The thing about building out an idea you care about is that it’s really hard to stop mid-way. You saw it coming into life, first in baby-format (cute), and you knew it had so much potential to grow into something legit. Then you got feedback, even though at this stage the feedback came mostly from you. You knew you needed to add this part and that thing to make it fuller - not to the audience’s taste but to your vision. Before you knew it, you had spent hours and hours in the flow state.
The remaining hours at the coffeeshop was spent on typing and poking around the prompts. I had the initial idea but I knew I’d need to communicate it well for Lovable to execute. The site was built easily but there were a lot of changes and features I’d like to add. We ended up going to a Tim Hortons to continue the work after realizing the beach water was not as promising. At the dinner table when Chef Jeremy introduced his re-imagination of traditional Chinese dish La Zi Ji I was thinking about what more I could have done to my site project.
Sunday was supposed to be my long bike ride day. I made the mistake of opening up my laptop when I woke up and saw where it was left from the night before. My mind gave me the immediate next steps, and (unfortunately) thanks to how fast the changes can be deployed by AI I was once again trapped in the immediate feedback loop. Bike ride was replaced by internet surfing and there went my Sunday.
I built a marketplace for local artists to sell their love and perspectives of their cities. A traveller that cares more than must-see destinations finds inspirations through digital foodie maps, personal essays, and photo collections.
The first prompt generated 80% of what I needed
As a person that’s not that technical, I expected the task of setting up the main structure as one of the high-lift, medium-return, table-stake to-do with the potential of turning into a blocker and distraction. Lovable removed that blocker with only one prompt, which is pretty impressive.
Visual and UI are surprisingly pleasant without explicit prompting
some of them are even better than the Figma designs I attempted in the past
Lovable explained the implementation plan so that I roughly understood what’s behind the scene
Which gives me a sense of accomplishment that I know more than before
Lovable explained the additional setup, such as database connection, that was required for the site to be fully functional
My brain was able to package all of those next steps as “things to deal with later” while focusing on building the frontend experience
It took more than 5 prompts to update one mismatched image
Each of the product is associated with a city, and I wanted the photo to match the city (simple request, eh?). In the first version I got, all of the photos were unsettling mismatched - Golden Gate Solitude with a random forest pic, Toronto Habourfront with children playing in a park.
It took me a couple of prompts to realize just by telling it to match the photos was not enough. No matter how confident Lovable was in its response, I still saw the uncanny mismatched photos from my human eyes.
Then I thought maybe I needed to provide the specific link. I went to Unplash, manually picked the photos I liked, fed the links to Lovable, specified which product the photos belonged to. I even wrote “this is important; please be working” in the prompt; and it didn’t work.
At that point I successfully embodied the frustration of the hiring manager of an intern. In fact, it might have been the collective memories of all my managers from my internships - there was clearly something wrong, while neither me nor the intern could make it right.
Finally I realized I’d been giving it the link to the unsplash page, instead of the image itself. I swapped the links and it worked out like magic. I kind of wish I was informed that the links wouldn’t have worked because they were wrong. Now in hindsight, I should not have spent this much time trying to correct the photos as I would replace all the placeholder products with real products created by me and my friends before doing user testing.
I needed to be explicit and specific about my requirements
I would love to add a website link to an artist’s profile info.
On the DreamOff site, there are three places where this information is shown: on the product detail page, on the Artists listing page, and finally on the artist’s profile page. Initially I asked Lovable to update the artist’s profile and found only 1 out of the 3 places were updated. I modified the prompt to make request explicit: I needed this change, on such and such pages. Calling this a frustration was an exaggeration; however this means in order to to implement the changes as expected, you’d need to have knowledge of the site and be able to communicate in language that’s not entirely non-technical.
Now my weekend was ruined but I hope you can read my story and don't let what happened to me happen to you.