Skip to main content
I try to build things fast.
Not as a company.
Not with a big team.
Just me.
I ship projects.
I experiment.
I iterate quickly.
Right now I run five projects.
All of them rely on Firebase.
Auth.
Firestore.
Storage.
Functions.
It's productive.
It lets me move without friction.
But there's one thing that kept bothering me.
I didn't actually know what my reads were doing.
In development, everything looks fine.
You're one user.
Data is small.
Queries feel lightweight.
Nothing feels dangerous.
But Firestore doesn't charge per "query."
It charges per document read.
And document reads multiply.
Every page load.
Every user.
Every listener.
That multiplication is invisible while you're building.
I found myself asking:
"If 1,000 users load this page, what actually happens?"
It started with a bill that kept climbing.
Not dramatically. Just enough to make me uncomfortable.
I didn't want to wait for another bill to answer that question.
I wanted to see it immediately.
Firebase gives totals.
It shows usage charts.
Monthly numbers.
Aggregates.
But it doesn't show:
Which page caused the reads.
Which function triggered them.
Which render ran twice.
Which listener quietly loaded everything.
It tells you what happened.
It doesn't tell you why.
So I built something small.
An overlay.
When I load a page, it shows:
How many reads happened.
Which function caused the most.
What that might look like if traffic increases.
Nothing more.
No dashboards.
No analytics platform.
No SaaS login.
Just visibility.
The first time I saw:
loadUsers() → 312 reads
I realized something.
Three hundred twelve reads isn't scary.
Three hundred twelve reads per page load is different.
Multiply that by real users,
and suddenly the story changes.
The code was ok.
But it was just invisible.
I started noticing patterns across my projects.
Queries running more often than I thought because I didn't want to miss any data.
Listeners loading entire collections.
Components triggering reads twice.
Not catastrophic mistakes.
Just normal fast-moving development.
The kind all of us do.
I'm not building ReadMeter as a company.
I built it because I needed it.
I don't like guessing.
I don't like surprises.
I build quickly and want feedback just as quickly.
If you're building with Firestore,
and you've ever thought:
"I hope this scales fine and I don't get a surprise bill."
Then you're exactly who this is for.
Not because you're careless.
Because you're shipping.
And when you ship fast,
you need visibility now — not after production.
While you're building.
If ReadMeter helps you catch one expensive pattern early, it's worth it.
If not, at least you'll see your app more clearly.
That's all it's meant to do.