Replacing Bubble With a Custom Search Platform
DBB Software specialists replaced a constrained no-code meeting platform with a custom-engineered search architecture. We migrated data with zero downtime, built a Go-based Boolean search engine, and deployed custom scrapers to scale geographic coverage.
Industry
Technology
Service
Web Development
Team
1 Tech Lead, 2 BE Developers
Project State
August 2024 - June 2025
Country
United States

About the Client
Wallfly develops a platform for recording, transcribing and managing government meetings, serving government administrators and citizens who need meeting records they can actually search. Its transcription runs on speech-to-text, which turns hours of council and board proceedings into text that can be read and queried rather than replayed.
The Client's Initial Request
Wallfly engaged DBB Software to replace the parts of the product that its no-code foundation could no longer carry as the platform's data and query needs grew.
Custom transcript search
Build search across meeting documents and audio transcriptions, with the query behavior the client's own users were asking for.
01
Proprietary administration console
Replace a third-party admin panel with one the client owns, so platform settings stop depending on an outside workflow tool.
02
Expanded geographic collection
Collect meeting data from broadcast pages across many more locations than the existing scrapers reached.
03
Independent infrastructure migration
Move the system off Bubble and onto infrastructure the client controls, without losing data or taking the product offline.
04
Solutions We Delivered
DBB Software worked as a three-person team across four streams: the search service, the scrapers, the admin panel and the migration off Bubble.
Specification-driven Boolean search
Search was the hardest part of the engagement, because the behavior the client wanted was specific and the cost of guessing at it was a rebuild.
DBB asked the client to write the requirement down precisely, with worked examples of queries and the results each should return. Implementation then followed those examples.
Requirements grew during the build, so the delivered service carries both Boolean operators and fuzzy matching with custom filtering.
Transcript search runs on a MongoDB aggregation pipeline. Boolean and fuzzy matching over transcript text are handled in the query layer, with no AI involved.
Native MongoDB search integration
The platform runs two databases, each holding what it is best at.
PostgreSQL on AWS holds the core data, normalized after the move off Bubble's API-driven store.
MongoDB holds the transcription data and serves as the search engine.
Using MongoDB as a source of truth with its native search was chosen over pairing PostgreSQL with Elasticsearch, which removed a second system to run and keep in sync.
High-performance Go rewrite
Testing surfaced a problem in the search service on its original Python engine that could not be resolved inside that platform.
The service was rewritten in Golang within a short window, and performed considerably better afterwards.
Two platform decisions sat alongside it: where the service runs, weighing AWS Lambda against a load-balanced instance, and what it runs on, weighing FastAPI against Go.
Zero-downtime Bubble migration
The move off Bubble ran without downtime or data loss.
Data was kept current in both systems at once through a dual-sync arrangement, so the old and new platforms stayed in agreement while the cutover proceeded.
The destination was a normalized PostgreSQL schema on AWS, which lifted the record and API limits the no-code database imposed on complex queries.
Site-specific custom scrapers
Data collection was upgraded from HTML-only parsing to a set of scrapers written one per site.
Each source site got its own scraper, built for that site's structure and put to use as soon as it worked.
Site APIs are used wherever a source publishes one, and HTML parsing covers the rest.
The rebuilt collection reaches more than 30 source platforms, each with its own scraper behind it.
The scrapers are deployed on Elastic Beanstalk instances, with the platform's core services on Heroku.
Proprietary React admin panel
The admin panel is DBB's own build, on a FastAPI backend with a React front end, and it replaced the third-party workflows the product had been administered through.
Settings that previously had to be changed in several places are now edited once. Adding a new anchor phrase is a single action in the panel rather than an edit across multiple Bubble pages.
Part of the originally planned admin functionality was postponed and is not in the delivered panel.
Results Achieved
Advanced transcript query engine
Search went from exact match only to Boolean, fuzzy and filtered queries, with aggregations and sorting.
Centralized configuration management
An anchor phrase is added through the admin panel instead of edited across several pages.
Accelerated data review workflows
The move off Bubble sped up how quickly the client's team reviews and adds new data and settings.
Searchable transcript text index
Hours of recorded proceedings became queryable text rather than recordings to replay.
Expanded broadcast site coverage
Collection now covers many more meeting sites, each with a scraper written for it.
Move Your Product Off a No-Code Platform
DBB Software rebuilds no-code products as systems you own, migrating the data without taking the product offline.
Book a Call
Contact Us
"Most of our work starts with a 30-minute call where someone describes a product they're trying to ship and one part of the engineering picture they can't get around.
If that's where you are, let's set one up; I'll tell you straight whether we're the right fit.”
Mina Morkos
Business Development Manager
Want a similar outcome for your team?
Ask our AI assistant — it can pull related case studies, talk through the approach, and put you in touch with the team if you want a deeper conversation.





