We had an incredible experience collaborating with Constructor to integrate their search service into a new site launch. Personally, I could not have asked for more in a partnership. Everyone from Constructor had excellent attention to detail and timeliness on virtually everything. When we were in the trenches the last couple weeks crunching for launch, it really felt like we were working with another team at our company, in the best way possible. The enthusiasm, optimism, and willingness to go above and beyond with weekends and expedited feature changes was all really incredible. Constructor has an excellent group of people and a wonderful energy that shows in their passion to provide an excellent service. The technology itself was great. It comes with thorough documentation and overall has well thought out models for deep customization as well as some next-level merchandising controls ("searchandizing"). Out of the box, the semantic search capabilities were far superior to our previous implementation. The admin dashboard contains meaningful analytics and insights, with a particular strength in communicating the decisions and effects of their machine-learning system. Review collected by and hosted on G2.com.
Overall the experience was very positive, but there were a few hiccups along the way. Some of which we knew going into it, and some of which we found out along the way. In no particular order, a few things that stood out that could be improved:
- Methods for syncing the search catalog generally favor a discrete cadence of full catalog syncs (daily, hourly, etc.). For our use case, we need to immediately re-sync individual records as they are modified, continuously. All of the methods for this support exist, and ultimately we were able to develop a strong implementation. I believe with additional efforts from Constructor, this process could be further streamlined.
- Our web application is primarily server-side rendered. The javascript implementation was a little tricky because it required a separate SDK for use in the node context vs the browser context. These two packages were very similar, but had some key divergences that created some friction in integration. Again not a blocker, but could be streamlined for sure.
- Our use case heavily utilizes Constructor's "collections" feature. We sync a lot of information about collections through the REST API. These endpoints have somewhat strict rate limiting, and felt a little incomplete compared to the rest of the API. Again, workable but could use improvement.
- Hierarchical facets would be an amazing feature to add. We had to implement a custom workaround to accomplish a hierarchical filter design (e.g., category). We would have prefered to have first order support for this kind of design. Review collected by and hosted on G2.com.



