-
Notifications
You must be signed in to change notification settings - Fork 0
Prototype: Updated Bookworm
We are updating our build for demo day to move away from Streamlit and towards a separate front and backend. This is primarily due to having more control over our entire interface while building a more robust algorithm.
We'll be using React for our front end. We'll initially use Bootstrap for our component elements but will eventually move towards styling our components (perhaps using a framework like Tailwind). In addition, in terms of features, we will be keeping the interface relatively the same, while also adding in:
- Having example prompts for users to choose from at the beginning
- Understanding why our recommendation algorithm chose the option it did
- A landing page that links to our front-facing interface.
Our corresponding issue also has existing links to inspiration for new interfaces.
Regarding deployment, we'll use FastAPI to host a backend endpoint that our frontend queries. The specification will return a JSON object with the results, containing information like metadata, titles, and so on. In the future, we plan to move to an OpenAPI specification to make it more in line with current standards.
After receiving user feedback, our algorithm will do a more granular search based on different book components. We're naming our algorithm "Find and Filter" due to embedding certain aspects of a book (reviews, descriptions, etc.), using a query to select a certain amount of searches, and then continuously filtering from there.
At a more granular level: "find and filter" works by first encoding all book reviews and descriptions into two separate vector database collections. Upon receiving the user's query, we find the 200 most similar reviews and the 100 most similar descriptions. We then find their corresponding books and take all of these unique books. Finally, we prompt a large language model, ChatGPT, to give us its top 3 matches.

Telemetry this time was pretty hacky. Jay, Evan, and Nick had forms for folks to fill out, so that's how we collected qualitative feedback and chatted with folks through our demo. In our case, we mainly instrumented telemetry by editing a .csv file with all the prompts people used to understand better what people tended to search for.
Finally, outside of the core development, we also made sure to take notice of what users wanted from our previous iteration. First, we started off by adding more data for the books, mainly the author and the book cover. Many folks also wanted our algorithm to be more explainable: why did the algorithm recommend the books it did? Thus, in addition to the added details, we made sure to prompt our model to explain the choices it made. Finally, we cleaned up the UI to add example prompts in the case people want to go down different rabbit holes or have a "cold start" and have no idea how to start prompting our platform.
See our demo.
For other information, check out our team's Google Drive. For a daily stream of thoughts, check this document.
- OKRs and KPIs
- Team Coding Standards
- Real Customer Profile
- Launch Week Recap
- Unusual Academy Pitch Event
- Final Reflection
- 1/23 - Jay Borenstein
- 1/26 - Chris Oh
- 1/30 - Glenn Reid
- 1/30 - Adam Heher
- 1/31 - Samantha Phillips
- 1/31 - Chris Tsakalakis
- 2/2 - MZ Zaveri and Kasey Zhang
- 1/25 - Introduction
- 2/1 - Proposing a Product
- 2/13 - OKRs and KPIs
- 2/27 - Catching up for Last Weeks of Winter
- 3/5 - Demo + Discussion
- 4/2 - New Quarter
- Strategy for Search for Shopping
- Ideal Customer Profile Brainstorming
- Outreach Messaging
- Tracking Outreach
- Discovery Call Outline
- Feedback from Unusual on Slides
- Meeting with Seena from Nike
- Meeting with Mike from Launch
- Meeting with Heather from Walmart
- Meeting with Sandy from Walmart
- Demo Call Outline
- Prototype v0: A New Shopping Experience
- Prototype v1: Updated Bookworm for Demo Day
- Prototype v3: SUPost Battle for Software Fair