We will follow this simple basic structure for our Product Requirement Document:
- Why of the product
- High level solution
- Functional Requirement Document
- Tracking Data Details
- Metrics to tracks
So let’s start.
We strive to build a new search engine which uses AI such that the queries are answered in a personalized way for each user.
Why of the product
- Google/DuckDuckGo gives us a list of the most relevant articles for our search query.
- ChatGPT although widely popular and kind of achieves our objective already but just gives us an AI generated answer but if you’re a moderate user that’s just not sufficient.
- We still need a list of the most relevant articles for the user if they want to dive deep into the topic.
- Hence, we building something that does both but very neatly.
High level solution
We are building a search engine that does the basics of what ChatGPT does but on top of that, we are going to reference the list of sites we referred to generate our answer and show them as a list on the right hand or a set of tiles on top of the generated answer.
- User lands to our Landing/Home Page
- User performs a search
- The UI returns a generated answer to the query
- The UI also returns the list of references our AI used to generate answers from
- User can click on the references and explore the topic further
- User has the option to sign-up and create an account
- Everything that the new user can do
- User can click the History button to view the list of their past search queries
- User can click on News button to fetch the latest and greatest news and go through each article as per their will (this is something that a new user can also do, but most likely will be used by a regular user)
Although we can have a lot of different ideas for this, I think we should keep it as simple as possible. Instead of having a chat bot like design (ChatGPT) we would follow Google and keep the Landing Page with just the search bar. There would be no further pages, the search query when answered would display another search bar just below it.
Coming to other things, we can add a left menu bar which shows a few tabs like News and the option to Sign In if the user has not signed it and if they have, we can show their history of queries asked.
Tracking Data Details
Since this is a search engine we should be keep a track of almost all the activity that the user performs because we don’t know at what moment that data would come to use. These are some basic stuff where we should keep trackers in our code:
- Sign-up Button
- What references are clicked
- Button click for the news button
- Usage time per user and the frequency via cookies
- Keep a feedback popup/prompt to ask the user if they are satisfied with the answer
Metrics to tracks
To give us a clear picture of how our product is performing in the market we should be tracking these metrics:
- Engagement Rate: Should be high
- Retention Rate: Should be high to have repeat users
- New Sign-ups: Should be high as well, will show us our product adoption rate
- Customer Satisfaction (with the help of prompts we use for feedback)
If we just track these metrics for now we will get a clear idea if we have replaced the primary search engine of our users. We can expand to get metrics of the references clicked for each type of query (let’s say) and use that data to feed our Generative AI and improve our answers next time on wards.
This is the part where we address any questions asked by the engineering and design teams and keep a note of the important ones. As of now, you can feel free to ask any questions in the comments.