A 2016-vintage voice bot glued to Facebook Messenger
Before Alexa skills were everywhere, someone wired speech-to-text, Yelp, and news search into a single chatbot.

What it does Optimist Prime is a Facebook Messenger bot that takes voice memos, finds restaurants, fetches trending news, and saves notes to the cloud. It was built when Messenger’s bot platform was new and voice interfaces still felt novel. The stack is Python/Flask, MongoDB for user context, and a small army of third-party APIs.
The interesting bit The author treats voice as just another input channel: IBM Watson or Google Cloud Speech transcribes audio, then the same NLP pipeline handles the text. That keeps the architecture flat, though it means no real-time streaming. The “trending news” feature is a nice touch—Webhose.io scores articles by social engagement, and the bot quietly relaxes its thresholds when a topic is too niche to trend.
Key highlights
- Swappable speech-to-text: toggle IBM Watson vs. Google Cloud Speech via environment variable
- Location-aware restaurant search through Yelp API v2 or v3, with geocoding fallback via Geopy
- Contextual follow-up: the bot remembers your favorite locations and greets you by your local time
- Deployment recipes included for Heroku (with ffmpeg buildpack) and local ngrok tunnels
- Simpler “echo bot” companion repo for learning the Messenger webhook basics
Caveats
- The NLP uses the
patternlibrary with hand-tuned stopword rules; the README admits this is simple and hopes for future ML categorization - Simsimi chat requires a 7-day trial key, so the “entertaining responses” feature has a built-in expiration date
- Several screenshots and API links in the README are dead or dated (Yelp v3 was a “developer preview” when written)
Verdict Worth a skim if you’re maintaining a legacy Messenger bot or studying how pre-LLM voice assistants were architected. Skip it if you want modern conversational AI—this is glue code from an earlier era, honestly labeled as such.