How I vibe-coded my AI Google reviews monitor "Pulse Butler"

The journey of building Pulse Butler, an AI-aggregator of customer reviews, using Replit.
How I vibe-coded my AI Google reviews monitor "Pulse Butler"

Hello, my dear subscribers!

It's been a long time since my last email - I took a 2-month parental leave, then jumped on a new business idea and haven't prioritized time to share my updates, until now =)

In this issue, I am going to share my experience using Replit (a vibe-coding tool) to create my previous side project, Pulse Butler.


🎯 The WHY

Goals:

  1. (Same as for the News Butler). Practice vibe-coding using a real example instead of watching a never-ending stream of YouTube videos. Learn by making.
  2. Build a startup by solving a real user problem.

⚗️ The What

I used ChatGPT as my business consultant: bouncing ideas, asking and answering questions, doing research, and pondering.

After some back-and-forth, I decided to tackle the problem of customer reviews tracking for small business owners. This seemed like a simple enough idea with a clear MVP to start with and plenty of room for growth and expansion.

Target audience

  • Small business owners

Key assumptions

  • They truly care about what their customers think about their products/services.
  • They don't have time to monitor all potential sources of feedback.
  • They don't want to pay for existing complex, overly powerful tools built for enterprises.
  • They want a simple and easy-to-use tool with the least effort possible.

The vision

  • A simple way for users to see all their business/product/service mentions in 1 place, reducing the need to manually track multiple websites and accounts.
  • Automated detection of new mentions across all possible channels (Reddit, X, Facebook, Instagram, Google Maps, Trust Pilot, TripAdvisor, Booking, etc.)
  • Automated notifications of new mentions based on user preferences
  • Automated sentiment analysis of key trends, problems, etc.
  • Competitors' mentions monitoring
  • New business/product opportunities recommendations based on customer feedback analysis

MVP scope

  • Web app.
  • 1 source of reviews - Google Maps.
  • Keyword detection.
  • Basic sentiment analysis.
  • Email notifications.
  • Customer segment: small hotel owners.
  • Customer business location: UK, NL, and Austin, TX.

Problem statement

Small business owners struggle to keep up with their online reputation. Google Reviews come in sporadically, and checking them manually multiple times per day is time-consuming and inefficient. Critical negative reviews can go unnoticed for days, resulting in lost customers and damage to business reputation.

Business Goals

  1. Automate Review Monitoring: Eliminate manual checking of Google Reviews.
  2. Instant Notifications: Alert business owners immediately when new reviews arrive.
  3. Smart(ish) Prioritization: Highlight negative reviews and keyword-flagged content.
  4. Affordable Pricing: Serve small businesses with limited budgets.
  5. Zero Maintenance: Fully automated with no manual intervention required.

🗺️ The process

Lots of new learnings, as usual. But...

... trying to remember the details 4 months later is a difficult task, especially after taking an intense 2-month vacation with lots of travelling.

Found an incomplete note (see the sample below) from when I was trying to log my daily progress. I can barely remember what I was doing and why, but interesting to read to refresh my memory 🙃

Screenshot showing a note with a daily log of activities and actions completed while launching Pulse Butler startup

Cold emails

This was my solid attempt at sending cold emails. Using ChatGPT as my co-founder, I decided to focus on small hotel owners (multiple guests per day = more review volume, ratings are important for attracting new customers, and easy to contact). For locations, I chose a diverse set of 3 touristy English-speaking destinations with local events/conferences activity: UK 🇬🇧, NL 🇳🇱, and Austin, TX 🇺🇸.

I used Outscraper for getting the emails. The process seemed pretty easy, and I could get lots of data, but in reality, about a quarter of the emails bounced.

Example of the scraped data source - lots of data with just a few clicks:

For the UK and Austin, I tried sending emails in bulk - zero results from 300 emails, lots of bounced emails.

For NL, I decided to try sending emails manually. Of 75 emails, only 1 reply said the sender was not interested.

Cold emailing was a failure =)

I also tried sending about a dozen emails to the local hotels - 1 reply with no interest.

Reddit

I joined a few subreddits for small hotel owners, interacted with several relevant posts, asked my questions, and DM-ed several active commenters who were very knowledgeable about common challenges of the business.

Several people were kind enough to answer my questions.

Key insights:

🏁 The result

Website (https://pulsebulter.com):

Newsletter

My admin dashboard

User dashboard

To allow users to view their business settings and update their subscription plan (cleaned all test data, so no real screenshot)

⛓️ What exactly does my Pulse Butler system do?

Once a day at 8 am CET:

  • Scrape Google Maps reviews (using the Outscraper API).
  • Detect if any new reviews have been published since the last scraper run.
  • Group the new reviews into categories based on the number of stars: 1-2 - negative, 3 - neutral, or 4-5 - positive.
  • Prioritize low-rating reviews.
  • Highlights keywords specified by business owners (paid feature)
  • Sends email alerts for new reviews (daily or weekly digests) (using MailGun API)

... plus Stripe payments (using Stripe API) and many more backend features, and iterations

User flow

  1. Visit the landing page
  2. Enter business name, Google Maps URL, and email
  3. Select the plan (Free or Starter)
  4. Redirect to Stripe checkout
  5. Payment confirmation and business account creation
  6. Receives secure management token via email

If you have specific questions about my implementation, feel free to reach out 🤙

🧰 Tech Stack

⚙️ For operation

  • Replit: app cloud storage and deployment
  • Outscraper: Google Maps data scraper
  • Mailgun: sending email alerts
  • GitHub: version control

🧱 For creation

  • Replit: vibe-coding
  • Chat GPT: business & debugging consultant
  • GitHub: version control

💰 Cost

Total

109.32€ (16 June - 17 July, 2025)

Breakdown

  • Replit: 40€ (total cost with free credits - 50€)
  • Outscraper: 19,81€ (total cost with free credits - $64)
  • MailGun: 0
  • ChatGPT: 23€ / month (ongoing, not project-specific)
  • Domain name: 6.51€
  • Coffee/workspace: ~20€

Monthly running cost

~ 8.5€ / month

  • Replit: ~2€
  • Outscraper: ~5€
  • Domain name: ~1.5€

It will be more with usage.

📌 Key learnings

📝 Document along the way. Every day!

This was a self-inflicted wound. I know that it's important to keep documenting the process/progress. I was making some notes, but after a few months' gap, I found it very difficult to recall all the details.

It made me realize how much work and thought I put into a project. Trying to create something from scratch, being a "solo-founder", is a monumental task. The to-do list is endless, and you are adding more than crossing off.

Kind of makes me feel a bit proud of how much I manage to accomplish AND learn. Invest in yourself, as they say.

In this situation, you think that focusing on the next task in the list is more important than documenting. I kept thinking, "I'll do it after this next task." This didn't work well for me.

Tip: Set a recurring task to write down the journey; do not deprioritize. Probably, it would be better to have a frictionless way of documenting this. I've been using Notes, but something is still not totally working with this process.

🤖 Replit can be powerful

Many times, I felt shocked by how smart it was. Just type some commands and ask in English, and it can plan the entire project system architecture and file structure, generate all the code, look up how to connect to other systems with APIs, and much more.

🤦‍♂️ Replit can be stupid

Many times, I felt shocked and pissed off by how useless it was. Too often, it was breaking features while fixing or adding new things. Too often, it was saying that it fixed something and verified the fix (!!), when in reality the feature was still broken.

Tip: Use context-engineering methods (pretty cool stuff) to capture important pieces of conversations into a persistent file(s), so you can start a new chat any time and it will be able to read this previous history easily.

💸 Replit is expensive

The more you use it, the more expensive it gets. There are ways to minimize this cost growth, but you can see how your money is disappearing.

Tip: Set usage limits!

📀 Scraping data for spamming is extremely easy

My first experience was being on the other side of people sending bulk cold emails selling something, though I was not selling, just wanted to ask a few questions. Soooo.. more like market research =)) but still as annoying for recipients, probably 🙃

💸 Scraping can get expensive

Because of Replit's inefficient code, I ended up overpaying for scraping data from Google Maps.

Tip: Set usage limits! Or use an open-source alternative (I saw a few, but haven't tried myself)

🚫 It's easy to get blocked on Reddit

My first time being blocked anywhere (!). My heart sank a little 😜

Tip: Read subreddit rules carefully =)

⏭️ What's next

After seeing zero interest from all my outreach, getting feedback from the industry veterans on Reddit telling me clearly that this is not a problem for them, I realized that this is not a good solution, at least for this target audience.

The next step would be to rethink and try a few other customer segments.

However, on my summer vacation, I learned about a completely new problem for a completely different target audience. After looking more into the current process and opportunity, I decided to switch over to this new idea 🫠

It's already live and people visit/use it. Again, a lot of new learnings, which I will be sharing with you soon. Pretty good interest and feedback, so far.

It's a directory website to help companies in Luxembourg find team-building events and organize them easily by contacting vendors directly.

As for the Pulse Butler, I put it on the shelf for now. I still believe there is value in knowing what customers talk about and having an easy way to see this information in one place. Also, the whole monitoring system has been built and is functioning. Later, I may decide to reuse it for something else or the next stab at this problem.c But, for now, it's on pause.

PS I resumed the Replit server for the next month, but will not be renewing it after.

Talk to you soon ✌️

Member discussion