You may have noticed a small pop-up on geteach.com recently asking if you’d like to “buy me a coffee.” I know…I know, nobody loves a donation prompt. As a teacher, I’ve always wanted this site to be a friction-less resource for the classroom.
However, after 15 years of building and maintaining this platform out of my own pocket, I want to be upfront about why that prompt is there, what the money covers, and why I’ve chosen this path instead of showing ads.
What it actually costs to run this
For a long time, I was able to keep costs very low. But as geteach.com has grown to over 1.3 million views and 300+ map layers, the technical requirements have changed.
Most months, the site costs me around $30–$40 to keep online. However, during high-usage months like this past March, that bill spiked to ~$106.00. There is no company subsidizing this, no ad revenue, and no investors. It is just a teacher covering the costs of a global classroom tool.
Here is exactly where that money goes:
| What | Why | Typical Cost |
|---|---|---|
| Google Maps API | The engine behind the maps. First 10k loads are free; after that, Google charges per 1,000 views. | $0 – $70+/mo |
| Google Cloud Storage | Powers the 300+ custom map layers and data backups. | ~$10/mo |
| Google Workspace | Keeps the site’s professional communication separate from my personal data. | $9/mo |
| Domain & Hosting | The “rent” for the geteach.com address and server space. | ~$11/mo |
| Typical Total | ~$35/mo |
The philosophy: Why I don’t use ads
Most “free” tools for teachers aren’t actually free—they are often paid for by your students’ data. Companies harvest usage patterns and learning behaviors to share with third parties. This is a trend in educational technology that gives me concern.
If you’re not paying for the product, the product is usually your students.
I pay out of pocket specifically so I don’t have to do that. My deal is simple: you get a powerful, professional mapping tool, and your students’ information never leaves your classroom. No ads, no logins, no data mining.
A nerdy detail: How the pop-up works
For the CS and web development teachers: I wrote this prompt to be as private as the rest of the site. It uses localStorage to remember your preferences directly in your browser. Because I don’t use accounts and no data is ever sent to a server, the “thank you” flag follows the specific browser or computer you are using, not you as a user.
The logic is simple and designed to be a nudge, not a nag:
- Clicking “Not right now” stores a timestamp that “snoozes” the prompt for 24 hours.
- Clicking “Buy me a coffee” sets a flag that hides the prompt on that browser for one full year.
I chose a one-year window because the site’s fixed costs, like the domain and hosting, are billed annually. If you find geteach.com adds value to your students’ learning experience, a yearly donation is greatly appreciated and goes a long way toward making the platform self-sustaining.
Please keep in mind that because this is tied to your browser’s local memory, clearing your browser data or switching to a new computer will reset the flag. If that happens, there is no need to make a new donation; simply clicking the “Buy me a coffee” link again will reset the clock for that browser.
What happens if I don’t contribute?
Nothing changes. Every tool on geteach.com remains completely free and fully functional. The pop-up exists to make the costs visible, not to gatekeep the content. If you are a teacher and the budget isn’t there, please do not feel any pressure. Use the tool, teach the lessons, and enjoy the maps.
What your support actually does
When you buy me a coffee, you aren’t just buying me a drink—you are directly helping to pay the Google bill. You are signaling that a private, ad-free, and open educational web is worth keeping alive.
Thank you for 15 years of support, feedback, and map-viewing. Whether you can contribute or not, I’m glad you’re here.