Freshness is the argument, so make it visible
A roastery sells on the roast date more than anything else. Put it in the product description and update it each batch, and the shop makes the argument for you every time somebody opens it.
Publishing and unpublishing takes seconds, so this week's roast is a short task rather than a website update.
Grind is an option, not a message
Whole bean, filter, espresso, moka. Every roastery answers this in messages, and every one of those answers is a delay. Grind belongs on the product as an option so the buyer chooses it at order time.
The repeat order is the business
Someone who likes your Ethiopian buys it again in three weeks. A shop that lives in the chat is one tap from that person, and their last order is still on screen. That distance is the whole difference between a customer and a one-off.
Subscriptions without a payment platform
Plenty of small roasteries run standing orders by hand: same coffee, same day each month, collected the way they always collect. The Mini App carries the catalogue and the order; the arrangement stays yours. If you would rather take card payments in Telegram, that runs on a paid plan with your own bot and your own Stripe account.
Brewing kit belongs in the same shop
Filters, a grinder, a scale. They are the second thing a new customer buys, and a category next to the beans is where they find it. Ready-made designs for coffee are already in the catalogue, so the palette and layout are set before you upload a single bag.