It’s been a few months since we posted an update. 2 out of 4 of our team members (including yours truly) were having babies in December, and that kept us plenty occupied outside core operations. All’s well, and our team just increased by 50% thanks to two adorable little additions.
Chris kept developing at a strong pace, and we knocked out a number of bug fixes, features, and maintenance issues. Read Release Notes for Q4 2021 for a full list. Keep reading here for highlights.
New Feature Highlights
This is the big one. Results lists now have an “Advanced Filters” text link that expands for Amazon-esque, checkbox facets that let users narrow down results by any data that was supplied to be filterable.
If that last statement seems a little vague, it’s because there aren’t a lot of standards around what should be filterable, so we made a system that can work with any data that we identify as a facet during creation of search indexes. It’s up to the data provider to identify what those facets are. Elasticsearch makes it super easy to display only those facets that exist on any given results set, so we don’t have to worry about filters that return 0 results.
Switch to Mapbox, or Introducing the “Adapter Pattern”
It turns out that Google Maps APIs can be really friggin’ expensive. In the interest of saving our clients a ton of money, and making the code base more viable for small organizations, we switched to using Mapbox by default. There is a very slight degradation in user experience with the location suggestions, but a roughly 90% reduction in costs for the location APIs.
Before leaving Google Maps API, however, we made a standard interface for using any maps API. It’s called the Adapter design pattern, and it means we can use either Google Maps API or Mapbox (or any other service our community makes an adapter for!) by simply choosing the correct adapter in config. In a developer meetup, Chris swapped out Google for Mapbox in about 2 minutes.
We are so happy with the results of this design pattern that we are planning to start implementing it wherever possible to add some flexibility to the platform.
Analytics Via Kibana
As part of our managed service, we implemented a big new feature: analytics. Using Kibana, we are keeping anonymous data on every search that is submitted to the search engine, tracking WHAT is being searched for, and WHERE (if there is a specified location filter) it’s being searched from. This is a start towards providing valuable coverage data to our data providers, and we hope to keep expanding on these insights in future.
Closing Out the Year
It’s been an amazing first year for our little project, and we are so grateful to our partners for making this possible. In particular I’d like to call out:
- Washington 2-1-1 for initiating and funding our work. They have such a huge mission and passion for helping people, and we are honored to be a part of that.
- Creator Columbia ACH for contributing funding toward development of the search engine, and being evangelists for our service in our local region. Again, this is a team that works tirelessly to help their communities.
- Open Referral for doing the groundwork service like us need for data standards, and for providing a valuable international community of developers working towards common goals.
We’d also like to thank Chris Short for joining our team. His work has been a sea-change in code quality and innovative solutions.
For anyone else who might be following along and reads this, thanks for your support as well. May 2022 continue to be a groundbreaking year of advancement for us all. We are grateful.