projects.jimsonyang.com/storage

Why am I paying for 100GB when I need 20?

Google asks you to upgrade when you're low on storage. Thier cheapest plan starts at $2 a month. Great but I only use 20GB more than the allocated free plan, yet somehow I still gotta pay for the whole plan.

Why

Do you want to upgrade?

I wanted an offsite backup of maybe 20 gigabytes, documents, a few project folders. Important documents that I'd be upset to lose. Google One's cheapest paid tier is $2 a month for 100 gigabytes. Fine but what if I use half of that, well I'm still stuck on that plan . And I get it, the users only 10GB subsidizes the users who are using 90GB. But with AI I can code my own versions, no need to be bounded by software providers.

Why be bounded by consumer pricing. After all developer pricing is always based by usage. If I use 100GB vs 10GB then I should pay 10x more, and likewise if I used less-no subsidization

I then found this dev friendly option called BackBlaze. They're a public company that does cloud storage. Seems reliable and definitely cost efficient.

Backblaze B2 charges $0.006 per gigabyte per month, no minimum, nothing for uploads. Twenty gigabytes is about 13 cents, even at 50 it's under a dollar. Tho the money isn't really the point, it's small either way, but I'd rather pay for what I actually store than pay a flat fee for a tier.

And if my needs ever change, Backblaze also sells a flat $9 a month plan with unlimited storage, so at most I'll pay $9 a month if I ever decide to host terabyrtes of data. For now my needs are small and my bill is small.

I'm also dropping a subscription as well. I'm dropping a Dropbox (pun intended)plan I barely used, so that's about $10 a month back on top of the storage saving by replicating it's capabilities. After all dropbox is just a folder that syncs up with a cloud service. Surely that's pretty easy to replicate as well.

Why should I pay $2 a month when I'm using $.13 worth of storage?

While this isn't a technically impressive project, it's a small one. What it shows is a habit, when something mundane in my life has friction I can build the tool that removes it.

Tech detail

The sync itself is rclone, reimplementing hashing or encryption would be a pain in the butt. So what I built is the layer around it, a disk-usage map to figure out what's taking the most storage and its frequency of usgage to decide what to keep, a local dashboard, one-click launchers so it runs without me having to open a terminal.

What it is

Two folders, two rules

The math

Flat tier vs. per gigabyte

What a small backup actually costs, per month
OptionPricing model20 GB50 GB200 GB
Google Oneflat tier, 100 GB minimum$1.99$1.99$2.99
Backblaze B2$0.006 / GB, no minimum~$0.12~$0.30~$1.20
There's also a flat $9 / mo unlimited plan for Backblaze if I ever use like 3TB of data

In this economy, a couple of dollars can go a long way, espeically if it is running in the background. I'll be able to afford ~1.50*12=>$18.An extra meal per year by doing this. But the satisfying part is that the bill is proportional to usage- the peace of mind that I won't be screwed over by google's increase in pricing or plan changes .

Under it

How it's put together

rcloneDoes all the transfer, hashing, resume and encryption. My CLI is a thin layer of policy and reporting on top
Python · Typerstorage init / status / cost / sync / offload / restore / analyze / web / watch / doctor. Python 3.11+ for tomllib.
crypt remotesrclone crypt wraps the Backblaze backend, both file contents and filenames are encrypted before upload
stateLast-sync times and the bisync baseline flag live in a small JSON file in ~/.storage, no database.