Updates for February 2022
New search modal and more.
This is the 53rd full month (4 YEARS and 5 month) that I worked on Listen Notes full-time.
1) New search modal
Previously, we used a dropdown sheet under the search bar to show typeahead results. We recently built and launched a new search modal to replace the dropdown sheet:
Now you can set a few commonly used search filters before seeing the search result page, i.e., episodes or podcasts, sort order, and only match titles. Previously, you had to search episodes first, then use search filters only on the search result page.
We’ve got bigger space to show typeahead results, which makes it easy for future extensions (e.g., history searches, saved searches…).
A side effect of using a modal is better web accessibility.
2) Better support for search queries with double quotes
When you search on Listen Notes, you can use double quotes for exact match. But we had very limited support for using double quotes. Specifically, these queries were not working previously:
Multiple pairs of double quotes, e.g., “elon musk” “tesla stock” didn’t do exact match for both “elon musk” and “tesla stock”.
The entire phrase not inside double quotes, e.g., “elon musk” tesla stock didn’t do exact match for “elon musk”.
Now we support the above cases.
3) Embedded search bar to search episodes of multiple podcasts
People can embed a Listen Notes search bar on their own websites: https://www.listennotes.com/custom/
Previously, the embedded search bar can search episodes of up to 1 podcast.
Now, we support multiple podcasts - Example.
4) A lot of behind-the-scenes improvements
Vertically & horizontally scaled up our servers. Specifically, we added more beefy database & elasticsearch EC2 instances. We are paying more $$$ to AWS!
Added feature switches to be able to one-click disable some critical 3rd party APIs. We can’t 100% trust 3rd party APIs. We want to be able to instantly pause using certain 3rd party APIs when they have outage.
Increased visibility to our infra, e.g., built more monitoring dashboards & alerts on critical metrics. And in the past month, we already discovered & fixed a few bugs that had existed for 2+ years, thanks to the increased visibility of how our system works.
Refactored the script that fetches new episodes for all podcasts. This is the oldest piece of code that I wrote for Listen Notes :) It has grew to an unmanageable state - ~2,000 lines of messy python code in a single file. It’s time to refactor the code for further improvements.
Be able to dynamically do rate limit on certain API endpoints. This reduces the chance that we get DDoS-ed by some wild API requests.
Support the Ukraine people: https://ukraine.ua/news/stand-with-ukraine/