The date is on the bag, and the bag is in the cupboard
Specialty roasters print a roast date on the bag, and people who buy that way often have several bags going at once: one open on the counter, one waiting its turn, one or two in the freezer for later. The questions that come up are always the same. When was this one roasted? Is the new bag ready yet? Which one should I open first?
Today the answers live on the bags themselves, a sticky note on the fridge, or a spreadsheet that stops being updated after the second week. Some coffee apps can store beans, but as a side feature next to their real job. Nobody wants to count days from a date on a crumpled bag, and the bag in the freezer is out of sight entirely. BeanShelf keeps every bag on one shelf and does the day counting for you.
A shelf sorted by what to drink next
The first screen is the shelf: one card per bag, each with a small version of its gauge, so opening the app shows the freshness of everything you own at a glance. The default order is what to drink next. Bags in their peak and open bags whose window is closing come first; bags that are still degassing wait further down. Frozen bags sit in their own freezer section.
You can filter by state, by roaster or by the freezer, and the top of the shelf counts how many bags you have and how many are at peak. That is all it counts. There are no streaks, goals or nudges about how much coffee you drank this week.
Adding a bag takes a roaster and a date
A bag needs the roaster and the roast date; everything else is optional. You can add the coffee's name, the origin, the bag size in grams or ounces, and a roast level of light, medium or dark, which stretches or shortens the window a little. Roasters you have used before are suggested as you type, and buying the same coffee again is one tap that copies the previous bag.
When you open a bag, mark it opened. From then on the card shows a second, shorter open-bag window alongside the roast window, and whichever closes first becomes the main signal. If a bag has no roast date at all, choose that option and BeanShelf counts from the day you bought it, with the gauge marked as an estimate.
When a bag is finished
Mark a bag as finished and it moves from the shelf to your history. The history is grouped in a way that helps the next purchase: how many bags you have had from each roaster and how many days a bag usually lasts you. Add again copies a finished bag back onto the shelf, so you only type the new roast date.
Everything you entered can be corrected later. Change a roast date or an opened date and the gauge redraws, fix a freezer entry, step the amount left back up, undo a finished bag or delete it outright.
Your shelf stays on your phone
There is no account and no sign-in, and BeanShelf makes no network requests at all. The only permission it ever asks for is notifications, and only when you turn on the reorder or peak reminders. Reminder text on the lock screen stays neutral, such as a bag on your shelf reaching its peak, with no roaster or coffee names.
Your whole shelf and history can be exported as a single file through the share sheet and imported back on a new phone. Settings also has one option to delete all data, which clears the shelf and any scheduled reminders together.
What it deliberately leaves out
BeanShelf is about the beans you have, not how you make the coffee or how it was roasted. There are no extraction tools, no roast curve or crack timing, and no tasting scores or flavor wheel. It does not scan barcodes, track prices or link to shops.
The freshness window is a general guideline drawn from common coffee practice, and every gauge says so. A bag past its peak is described as fading, which is about aroma, never as spoiled, and the app never tells you to throw coffee away. Treating frozen time as paused is likewise a common convention among coffee drinkers, not a lab measurement of your bag.
BeanShelf's freshness windows describe flavor, not food safety. They are general guidelines that vary by coffee and roast level, and your roaster's advice for a specific coffee comes first.