paint-brush
How I Built (and Sold) an AI-Powered Gift Idea Generatorby@simonblogs
2,978 reads
2,978 reads

How I Built (and Sold) an AI-Powered Gift Idea Generator

by Simon PFebruary 28th, 2023
Read on Terminal Reader
Read this story w/o Javascript

Too Long; Didn't Read

Buying gifts can sometimes be difficult, especially when you don’t have direct contact with the person you’re wanting to give a gift to. And it takes time and energy trying to think about what someone might like. So I I created givemegiftideas.com. It’s a gift idea generation tool that helps you find gift ideas that don’t stink. Here's how I did it.
featured image - How I Built (and Sold) an AI-Powered Gift Idea Generator
Simon P HackerNoon profile picture

If you’re anything like me, giving gifts is as enjoyable as receiving them (sometimes better!).


There are few things as enjoyable as buying a great gift for someone that you know they’re gonna love.


Search traffic pattern of "Gift Ideas" (Ahrefs Data)


But sometimes that can be difficult right? Especially when you don’t have direct contact with the person you’re wanting to give a gift to. And it takes time and energy trying to think about what someone might like.


And what’s worse than getting an awful gift? Seeing that undeniable, uncomfortable squirm as the person you’ve just given a present to try’s to sneak out an “It's wonderful”. But it’s clear that it's clearly not wonderful.



And that's why I created givemegiftideas.com. It’s a gift idea generation tool that helps you find gift ideas that don’t stink.


Give Me Gift Ideas home page


So… how did I do it?

Started with Demand

The first thing I always do when I’m scoping out a new idea is check out Ahrefs to see what the demand is like.


Why Ahrefs? Well, if people are searching for things, and there is intent behind their search — there is demand.


The three main metrics I look for are:


  1. Monthly search volume: How many people are looking for the potential thing I want to build?

  2. Competitiveness: Is there (realistically) a way I could steal some of that traffic, or is it completely dominated by the big dogs? If it is, I usually niche down a step further.

  3. CPC: If it's non-existent ($0), then it most likely means there is no commercial intent behind the searches. Their intent is not commercial, it's informational. If it’s really high ($10+ per click) I steer clear. No way I’ve got the budget to compete in that space. So when the above three are ticked — it likely means there is a market.


In the case of my niche:

  • There’s a very healthy volume,
  • There’s some competition, but it’s not insurmountable,
  • There’s a CPC, but it’s not super high.


Data from Ahrefs for “Gift Generator” in the US

Tick, tick, tick.

Checked What Was Ranking

Once I knew there was demand, I went into the search results on Google and checked what type of content was actually ranking.


What do I mean by what “type” of content?


There are broadly two types of content that rank on Google:

  1. Editorial content,
  2. Programmatic content


Editorial content is written (like I’m writing now).


Programmatic content is… programmatic. It gives the User a tool to use - to solve their problem that they came to Google with.


In my case, it makes sense that the pages that are ranking are programmatic. The User is there to do something. They don’t want to learn something, or read about something (editorial content).

So — I needed to build a tool.

Building the Tool

I have a bias for no-code (because it’s what I know), but the power of no-code tools and AI at the moment is massive. It literally allows anyone to spin up a business in a matter of hours.


I’m not exaggerating when I say what’s possible in a few hours now would have taken a team of engineers months to achieve a few years ago. Insane.


My idea was simple:

  1. Capture data about someone. Enough to get a sense of who they were.
  2. Use that data to generate a dynamic prompt using GPT-3’s natural language engine. I
  3. nterpret the result and display it using Bubble.
  4. Link the result text to a product on Amazon/anywhere.
  5. Show the results as a “Comparison” page at the end of the process.


Here’s how I did it:

1: Started with GPT-3 in the playground.

I played around with a ton of different prompts. I was trying to find a balance of the following:


  • Prompt length: The longer your prompt, the better the model works. The longer your prompt, the more it costs for every API call.
  • Prompt data (inputs): What was the minimum amount of data I needed to give the engine about the gift and the person to get it to give accurate results
  • Prompt output: How did I want the data out so that I could use it and process it downstream.
  • Prompt settings: Tuning the settings like temperature, maximum token length, presence penalty, frequency penalty etc.
  • Capabilities: How much of the discovery of ideas could the engine do for me? (Could it find links and prices to items?)


Once I had a model kind of working, I started integrating it into Bubble.

The Open AI playground where I experimented with different prompts and outputs2. Bubble Build

I started with the Open AI integration.


Luckily, their API is super simple, and getting everything set up was easy.


What I had to work out was converting the output of the Open AI request which was 5 lines of raw text all inside one string, into an array of single strings of text.


With a bit of javascript help, I got it done pretty quickly!


Once I knew:

  1. The format of the output data, and

  2. The required input data…


I started building a front end for the data collection process.


How it started:

The beginnings of the app build


Finishing touches:

The "launch" version.


(There are actually a ton of finishing touches still needed)

It’s a super simple flow now.

3: Extending the discovery/search function

So what I have now is:

  1. A way to generate gift ideas using data prompts, and

  2. Display them to the user at the end of the process.


What I’d really like is a way to link those gift ideas to actual products available to buy on the interwebs, so that…

  1. People can go directly to the product pages and browse their options, and
  2. I can hopefully make some affiliate revenue from any sales that result (and pay for the cost of running the app, if nothing else). First — I tried to get it right with GPT-3. It got close!


But then I remembered Amazon has a pretty robust Associates API (too bad I don’t have access to it, since I haven’t made any qualifying purchases).


Nothing Rapid API can’t fix.


I found an Amazon product search API on there, and hooked it up to Bubble to get the three main data points I wanted about a product:

  1. Thumbnail image

  2. Price

  3. URL to Amazon product.


I want to transition to the Associates Advertising API as fast as possible because the Rapid API will get super expensive super quickly.

Initial Launch

I launched/tested the idea just over a week ago in a private entrepreneurial group. Everyone seemed to love it.


I didn’t think I’d get much traction, but they obviously shared it with friends and family, and within 7 days I’d ticked over the 10k visits mark.


A pretty decent engagement time, too!

Since then I’ve written about it and shared it organically, each with varying degrees of accuracy.


I missed the Christmas “rush” by a week or so - only launching properly around the 20th of December when most thoughtful gift-givers had already made their choices.


No matter!


Where to then?

What’s Next

My hope is that through that and some other outreach and more writing, I build enough of a Domain Authority so that I can start capturing organic traffic through Google.

Features

There’s a ton of stuff still to be done, but because of the above, I can’t afford to work much more on features right now.


But here’s what's in the pipeline:

  • Opening up all paths on the app & finishing off. There are a few options unavailable on the “data capture” form of the app. I want to open those all up. What is required is me going and building specific prompts for those specific situations and then modifying the API requests to account for those.

  • Fine-tuning the text-davinci-003 model. The idea recommendations right now are about meh. The model could definitely do with a bit of fine-tuning. This will help on two fronts. First — the tool will get better at it’s job (great product recommendations), and second — I will be able to reduce the size (tokens) of my prompts that generate the ideas, and therefore the cost of each call to the Open AI Completion endpoint.

  • Programmatic pages. Right now, I only have the one page. To capture more search traffic for a wider pool of search keywords I want to create programmatic pages that cater for requests like “Best gifts for girlfriends” or “Best gifts for 10 year old boys”. That would mean creating pages like /gifts/girlfriends and /gifts/10-year-old-boys.

  • Curated collections. To do that… I want to start relying less on GPT-3 generated gift ideas, and more on human-curated lists of ideas. I don’t just want big brands being recommended the whole time. I’d really love to build great local-business focused guides to the best things you can buy in your area.

  • Feedback loops on suggestions. Using User’s 👍🏽 and 👎🏽 to guide how well the prompts are working, and what needs to be adjusted. This will also allow Different entry points. There are definitely more ways to build prompts that will generate gift ideas that are different from my “Characteristics” approach. One I’ve thought of is using a pool of “baseline” suggestions and then asking the user to consistently choose their best of the group until you refine down to a set of great ideas that they love.

  • Saved ideas. Start building my own models for the best gifts in each category and sub-category based on how people interact with my site! Slowly take the responsibility of curation/discovery away from GPT-3 and more to my own recommendations.

  • Amazon Associates API. As soon as I have 3 qualifying sales, I want to replace the Rapid API Amazon product search API with the Associates API.

  • Go direct to local businesses. Start building a way for businesses to list their products and get discovered. Paid and organic.

  • SEO. Mentioned it above, but start focusing on the different types of search traffic and capturing as much of the niche as possible.

  • User-generated suggestions. Allow people who generate great gift ideas to share a portion of the revenue generated from those suggestions.


And that’s it! There’s a lot more I could have written about the last week of activities, but I need to go and do some actual work that makes actual money!

The Sale

All of the above was written just as I launched the product. Since then, 3 things have happened:

  1. My application to the Associates API was denied by Amazon (something about not producing original content).

  2. I lost the motivation to keep fighting with them about it, and the RapidAPI endpoint that I was using started costing A LOT of money.

  3. I decided to list the product for sale so someone with some fresh energy can get it up and running.


I also wanted to use Acquire (formerly Micro Acquire) and see what the process was like.

At first, I didn’t even think my listing would be verified.


It was. Then something surprising happened…


People actually started showing some interest.

Currently under offer


I got about 30-odd signed NDA’s to get access to the information.


From that, there were about 5 serious buyers, and the fastest one put in an offer.


I’m currently working with him to finalize the sale and finish up a few loose ends.


Main Takeaways

In case you’ve got this far, these are the main things I learned in the process.

API + No-Code Front-End

Building products super quick is becoming so easy.


The Paas model has become the new Saas.


That means all you need is to plug in a few APIs to a frontend and away you go.


Bubble is my preferred tool to do it. A nice mixture of speed of development and customizability.

Speed of Release

I’m a perfectionist, and part of building products like this is actually teaching myself to release imperfect things. And that’s simply because I don’t have the time to make them perfect.


Speed of release is so important. I could have waited till all the features I wanted were there, but chances are I would have probably lost motivation before I got them all done… and then never launched.

Value in the eye of the holder

Just because you don’t see value in something, it doesn’t mean someone else won’t.


I never thought anyone would pay a cent for this. I was fully willing to give it away to someone who would like to carry on tinkering.


Don’t undervalue the work you do.


What you find as simple as making a cup of tea is an insurmountable obstacle for someone else.


Thanks for reading!