queue-advisor-pricing-app
Compare SQS, Kinesis, EventBridge and MSK costs with interactive simulation based on your throughput.
git clone https://github.com/fernandofatech/queue-advisor-pricing-app.gitListen to guide
generated on playGenerated only on first play
Powered by Amazon Polly + OmniVoice
QueueAdvisor is an interactive cost and fit calculator for AWS's primary messaging services — SQS, Kinesis, EventBridge, and MSK — built for architects who need to justify platform choices with real numbers.
Why this project exists
Choosing between SQS, Kinesis Data Streams, EventBridge, and MSK is not straightforward. Each service has a distinct pricing model — SQS charges per request, Kinesis per shard-hour and payload, EventBridge per event published, MSK per broker-hour and storage. When you're sizing a workload with millions of messages per day, small architectural differences produce meaningful cost deltas at month-end.
I built QueueAdvisor because I needed a fast tool for client conversations and architecture reviews — something that translates throughput and retention parameters into side-by-side cost estimates without opening multiple AWS calculator tabs. It doesn't replace a detailed cost analysis in AWS Cost Explorer, but it gives you an objective starting point for the discussion.
The project is part of the public portfolio ecosystem published at moretes.com, focused on solution architecture, AWS, and pragmatic engineering practices.
What the tool offers
How the application works
Data and rendering flow: the user inputs parameters in the browser, pricing logic runs on the client (Next.js), and results are displayed instantly. There is no stateful backend — all simulation is client-side.
- Architect · browser
- Input Form · throughput & retention
- Pricing Engine · TypeScript logic
- Results Panel · side-by-side costs
- Decision Guidance · service fit notes
- SQS · per-request pricing
- Kinesis · shard-hour pricing
- EventBridge · per-event pricing
- MSK · broker-hour pricing
- Vercel · queue.moretes.com
Technical stack and design decisions
The application is built on Next.js with TypeScript and styled with Tailwind CSS. Deployment is handled by Vercel, which keeps the delivery cycle simple and operating cost near zero for a portfolio project.
The decision to run all pricing logic on the client — without a backend API — was deliberate. AWS pricing models are public and relatively stable; there's no need for an intermediary service to fetch live values. This simplifies the architecture, eliminates network latency in the simulation, and makes the project trivially deployable on any CDN.
TypeScript was chosen to ensure pricing calculations are correctly typed — unit errors (e.g., confusing messages per second with messages per month) are caught at compile time, not in production. The modular project layout separates calculation logic from the presentation layer, making it straightforward to update pricing parameters when AWS revises its tables.
The project follows a production-oriented structure, even as a portfolio tool — the intent is to demonstrate how I organize TypeScript code in real-world contexts.
Installation and local use
- 1
Prerequisites
Node.js 18+ and pnpm installed locally. The project uses pnpm as the package manager — if you use npm or yarn, equivalent commands work, but the lockfile is pnpm-based.
- 2
Clone the repository
Clone the repository and navigate into the project directory.
- 3
Install dependencies
Run
pnpm installto install all dependencies listed inpackage.json. pnpm uses a global package store, so subsequent installs are fast. - 4
Run in development mode
Run
pnpm devto start the Next.js development server. The application will be available athttp://localhost:3000with hot-reload active. - 5
Production build (optional)
Run
pnpm buildto generate the optimized production build, followed bypnpm startto serve it locally. This is useful to validate production behavior before deploying. - 6
Use the hosted version
If you just want to use the tool without running it locally, go directly to
https://queue.moretes.com. No account or login is required.
# Clone the repository
git clone https://github.com/fernandofatech/queue-advisor-pricing-app.git
cd queue-advisor-pricing-app
# Install dependencies (pnpm recommended)
pnpm install
# Start development server
pnpm dev
# → http://localhost:3000
# Optional: production build
pnpm build
pnpm startAbout the pricing models
The values used in the simulation are based on AWS public pricing in the us-east-1 region. Prices vary by region and are subject to change. Use the estimates as a comparative reference, not as a basis for budget commitment — for that, use the official AWS Pricing Calculator with your workload's exact parameters.
Frequently asked questions
Does the tool use the AWS Pricing API in real time?
No. The pricing models are embedded in the client-side TypeScript logic. This keeps the application fast and free of backend dependencies, but it means values need to be manually updated when AWS changes its pricing tables.
Can I use this project as a base for an internal tool at my company?
Yes. The project is licensed under MIT. You can fork, adapt, and redistribute. If you make meaningful improvements, pull requests are welcome.
Is MSK (Managed Streaming for Apache Kafka) included in the comparison?
Yes, MSK is listed as one of the compared services, alongside SQS, Kinesis, and EventBridge. MSK's pricing model is based on broker-hour and storage, which makes it significantly more expensive at low-volume workloads — the tool makes that difference visible.
Are there plans to add other services like SNS or Amazon MQ?
The roadmap mentions continuous improvements but does not specify additional services. If you have a specific use case that justifies adding SNS or Amazon MQ, open an issue in the repository to discuss.
Who this tool is for
QueueAdvisor is useful for solutions architects and senior engineers who need a quick comparative cost reference when evaluating messaging services on AWS. It doesn't replace the AWS Pricing Calculator for production estimates, but it's substantially faster for exploring the decision space during an architecture conversation or design review. As a portfolio project, it demonstrates the ability to build domain-oriented TypeScript tooling with Next.js — modular structure, Vercel deployment, and a focus on practical utility over unnecessary complexity. If you're evaluating my work as an architect or engineer, this project shows how I think about decision-support tooling: simple, grounded in public data, and directly actionable.
Architecture, AWS, AI and market deep dives — straight to your inbox. Free.
No spam · unsubscribe anytime