{"id":1178,"date":"2026-04-02T18:26:08","date_gmt":"2026-04-02T18:26:08","guid":{"rendered":"https:\/\/geteach.com\/blog\/?p=1178"},"modified":"2026-04-02T18:26:09","modified_gmt":"2026-04-02T18:26:09","slug":"geteach-sustainability-and-privacy","status":"publish","type":"post","link":"https:\/\/geteach.com\/blog\/2026\/04\/02\/geteach-sustainability-and-privacy\/","title":{"rendered":"15 Years of geteach.com: A Note on Sustainability and Privacy"},"content":{"rendered":"<p>You may have noticed a small pop-up on geteach.com recently asking if you&#8217;d like to &#8220;buy me a coffee.&#8221; I know&#8230;I know, nobody loves a donation prompt. As a teacher, I\u2019ve always wanted this site to be a friction-less resource for the classroom.<\/p>\n<p>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\u2019ve chosen this path instead of showing ads.<\/p>\n<h2>What it actually costs to run this<\/h2>\n<p>For a long time, I was able to keep costs very low. But as <a href=\"https:\/\/geteach.com\" target=\"_blank\">geteach.com<\/a> has grown to over 1.3 million views and 300+ map layers, the technical requirements have changed.<\/p>\n<p>Most months, the site costs me around <strong>$30\u2013$40<\/strong> to keep online. However, during high-usage months like this past March, that bill spiked to <strong>~$106.00<\/strong>. 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.<\/p>\n<p>Here is exactly where that money goes:<\/p>\n<table>\n<thead>\n<tr>\n<th>What<\/th>\n<th>Why<\/th>\n<th>Typical Cost<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Google Maps API<\/strong><\/td>\n<td>The engine behind the maps. First 10k loads are free; after that, Google charges per 1,000 views.<\/td>\n<td>$0 \u2013 $70+\/mo<\/td>\n<\/tr>\n<tr>\n<td><strong>Google Cloud Storage<\/strong><\/td>\n<td>Powers the 300+ custom map layers and data backups.<\/td>\n<td>~$10\/mo<\/td>\n<\/tr>\n<tr>\n<td><strong>Google Workspace<\/strong><\/td>\n<td>Keeps the site&#8217;s professional communication separate from my personal data.<\/td>\n<td>$9\/mo<\/td>\n<\/tr>\n<tr>\n<td><strong>Domain &amp; Hosting<\/strong><\/td>\n<td>The &#8220;rent&#8221; for the geteach.com address and server space.<\/td>\n<td>~$11\/mo<\/td>\n<\/tr>\n<tr>\n<td><strong>Typical Total<\/strong><\/td>\n<td><\/td>\n<td><strong>~$35\/mo<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>The philosophy: Why I don&#8217;t use ads<\/h2>\n<p>Most &#8220;free&#8221; tools for teachers aren&#8217;t actually free\u2014they are often paid for by your students&#8217; data. Companies harvest usage patterns and learning behaviors to share with third parties. This is a trend in educational technology that gives me concern.<\/p>\n<blockquote>\n<p>If you&#8217;re not paying for the product, the product is usually your students.<\/p>\n<\/blockquote>\n<p>I pay out of pocket specifically so I don&#8217;t have to do that. My deal is simple: you get a powerful, professional mapping tool, and your students\u2019 information never leaves your classroom. No ads, no logins, no data mining.<\/p>\n<h2>A nerdy detail: How the pop-up works<\/h2>\n<p>For the CS and web development teachers: I wrote this prompt to be as private as the rest of the site. It uses <code>localStorage<\/code> to remember your preferences directly in your browser. Because I don\u2019t use accounts and no data is ever sent to a server, <strong>the \u201cthank you\u201d flag follows the specific browser or computer you are using, not you as a user.<\/strong><\/p>\n<p>The logic is simple and designed to be a nudge, not a nag:<\/p>\n<ul>\n<li><strong>Clicking &#8220;Not right now&#8221;<\/strong> stores a timestamp that &#8220;snoozes&#8221; the prompt for 24 hours.<\/li>\n<li><strong>Clicking &#8220;Buy me a coffee&#8221;<\/strong> sets a flag that hides the prompt on that browser for one full year.<\/li>\n<\/ul>\n<p>I chose a <strong>one-year window<\/strong> because the site\u2019s fixed costs, like the domain and hosting, are billed annually. If you find geteach.com adds value to your students&#8217; learning experience, a yearly donation is greatly appreciated and goes a long way toward making the platform self-sustaining.<\/p>\n<p>Please keep in mind that because this is tied to your browser\u2019s local memory, <strong>clearing your browser data or switching to a new computer will reset the flag.<\/strong> If that happens, there is no need to make a new donation; simply clicking the &#8220;Buy me a coffee&#8221; link again will reset the clock for that browser.<\/p>\n<h2>What happens if I don\u2019t contribute?<\/h2>\n<p><strong>Nothing changes.<\/strong> Every tool on <a href=\"https:\/\/geteach.com\" target=\"_blank\">geteach.com<\/a>  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&#8217;t there, please do not feel any pressure. Use the tool, teach the lessons, and enjoy the maps.<\/p>\n<h2>What your support actually does<\/h2>\n<p>When you buy me a coffee, you aren&#8217;t just buying me a drink\u2014you are directly helping to pay the Google bill. You are signaling that a private, ad-free, and open educational web is worth keeping alive.<\/p>\n<p>Thank you for 15 years of support, feedback, and map-viewing. Whether you can contribute or not, I\u2019m glad you\u2019re here.<\/p>\n<p><a href=\"https:\/\/buymeacoffee.com\/geteach\" target=\"_blank\">&#x2615; Buy me a coffee<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>You may have noticed a small pop-up on geteach.com recently asking if you&rsquo;d like to &ldquo;buy me a coffee.&rdquo; I know&hellip;I know, nobody loves a donation prompt. As a teacher, I&rsquo;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 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1178","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/posts\/1178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/comments?post=1178"}],"version-history":[{"count":6,"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/posts\/1178\/revisions"}],"predecessor-version":[{"id":1184,"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/posts\/1178\/revisions\/1184"}],"wp:attachment":[{"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/media?parent=1178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/categories?post=1178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/tags?post=1178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}