Inspiration

Small online sellers don't have an analytics team. They find out about stock-outs, failed payments and abandoned carts late, or never, because dashboards are slow and complex. I run my own power-tools store project (Rohit Power Tools), so I wanted to ask my store a simple question out loud, like "Why did my sales drop this week?", and get a real answer.

This is also the first project I've finished after a long break from building, so shipping it end to end mattered to me.

What it does

PowerPulse is a voice and AI business copilot for small sellers. You ask a question and it answers from your own store data:

  • Why did sales change? Compares the last 7 days with the 7 before, by category, and names likely causes such as low stock and failed payments.
  • What is running low? Ranks products by days of stock left.
  • Abandoned carts: lists idle carts by value, with a drafted recovery message.
  • Latest orders and recent orders: finds order ids and shows what needs action.
  • Draft a customer reply: writes a reply from the real order status and store policy. It only drafts. Nothing is sent without the owner.

Every number is computed in code from the database. The AI is never allowed to make up figures.

How I built it

  • A Node.js MCP server (official MCP SDK, Streamable HTTP at /mcp) with 6 read-only tools, designed for the Alexa+ track.
  • A web interface that calls the same tools, with voice input and read-aloud, so the tools can be tried in a browser.
  • MongoDB Atlas for data, using my real product catalog (283 products). Orders, failed payments and carts are synthetic demo data that I generated, because my store only had one real order. A seeding script builds them in a separate demo database.
  • Deployed on Render, using a read-only database user.
  • Automated tests (23 cases) check the analytics, the field mapping and the demo-data story.

Challenges I ran into

  • Canceled orders were counted as revenue. My tests caught it, and I fixed it.
  • Matching my real database schema to the tools, since field names differ between stores.
  • A 403 error after deploying. My own origin-safety check blocked the live page until the allowed address was set correctly.
  • The web search box uses keyword matching, so it understands only a limited set of questions. Alexa+ is meant to choose tools from natural language.

Accomplishments that I'm proud of

  • Answers that name real causes (low stock, failed payments) instead of guessing.
  • Read-only tools and draft-only replies, so the owner stays in control.
  • Taking a project from idea to a live deployment in about two weeks.

What I learned

Grounding AI answers in real data, and computing the numbers in code, makes them far more trustworthy. I also relearned that shipping beats waiting until you feel ready.

What's next

  • Save real Razorpay failed-payment events and real carts from my store so PowerPulse runs on live data.
  • Test the MCP endpoint with a live Alexa+ connection.
  • Let a language model choose the tool from free-form questions.

Built with

Node.js, Express, Model Context Protocol (MCP), MongoDB Atlas, Render, JavaScript, Claude (AI coding assistant)

Live demo: https://powerpulse-x2z2.onrender.com/ Code: https://github.com/Mudgal09/powerpulse.git MCP endpoint: https://powerpulse-x2z2.onrender.com/mcp

Built With

Share this project:

Updates

Submission history