🛒 tobuy
살 때가 된 물품
⚡ 바로 조치
확정 대기인 재고 확인과 예측 패턴에서 벗어난 기록이 여기 모입니다. 확인 후 확정하거나 수정·취소하세요.
💌 미응답 구매 요청
아직 답변이 없는 요청. '답변' 또는 '샀어요'로 답하면 목록에서 사라집니다.
📌 우선 확인
📦 전체 재고
🕒 최근 기록
📨 요청 후보
🔗 물품 → 그룹 할당
각 물품을 그룹에 넣거나 뺍니다. 그룹은 위에서 먼저 만드세요.
👥 사용자
텔레그램 미니 앱 자동로그인을 쓰려면 각 사용자의 Telegram 숫자 ID를 Telegram User ID 칸에 넣으세요. ID는 @userinfobot 등에서 확인합니다.
📨 송부 메시지 이력
| 시점 | 물품 | 심각도 | 상태 | 메시지 |
|---|
연결 상태
백업 및 감사 로그
💾 백업 상태
📋 최근 감사 기록
| 시점 | 행위자 | 동작 | 대상 유형 | 대상 | IP | 상세 |
|---|
How to use tobuy
💡 Core Workflow Advice (Must Read!)
- 🚨 Never log daily usage every single time! (Don't open the app every time you drink a water bottle.)
- 📦 When Purchased: Log the purchase details matching the actual time of purchase.
- 🔍 Occasional Checks: Simply count what's left and log it via Check (stocktake) once in a while.
- ✨ The system does the rest—calculating your daily usage rate and predicting the next run-out automatically.
tobuy tracks household items you buy repeatedly and tells you when it is time to order the next pack. The better your stock updates, the sharper the prediction.
Dashboard
- 🔴 Buy now — stock is at or below the buy threshold.
- 🟡 Soon — within the warning window (warn_days, code default 7 days; 21 days is the recommended starting point — tune per item in the Manage tab).
- ⚠️ Needs input — no confirmed stocktake yet.
- 🟢 Plenty — comfortably above target.
- ⚠️ Stale — no update for 14+ days. Please run the quiz or quick confirm.
- ⏳ Pending — a stocktake is waiting for you to press Confirm.
Three ways to log stock
- Quick actions on each card — tap ➕ Purchase, ➖ Use, or 📋 Check directly from the dashboard.
- Quiz mode — press 🧮 Quiz me on the dashboard. The app picks items that need attention and asks one question at a time. Easiest on a phone.
- Manual form — open the Stock entry tab for full control.
Fraction entry
Type the integer part in the quantity box, then tap one of 0 / ¼ / ½ / ¾ to set the fraction. Example: "4" + "¼" → 4.25. For stocktake, "0" + "0" means "empty". You can still type decimals directly (e.g. 0.3) when the fraction buttons don't fit.
Why Confirm matters
A stocktake is saved as pending until you press Confirm. Only confirmed values are used to predict run-out. This guards against typos and unexplained jumps. If a value looks wrong, an admin can exclude it from prediction.
Anomaly detection
If stock goes up without a matching purchase, the event is flagged as 🚨 unexplained increase and excluded automatically. Admins get a Telegram/email alert so the missing purchase can be added back.
Purchase request board
Anyone can request an item. If the name matches an existing item, the current stock and predicted run-out date are captured automatically — this is the strongest signal for the predictor.
3-week rule
Finding the lowest price usually takes about three weeks. That's why 21 days is the recommended starting value for warn_days. The code default when a new item is created is 7 days; bump it to 21 (or whatever fits the item) in the Manage tab → Settings sub-form. Earlier alerts waste storage; later alerts force you to pay more.
Seasonality
Predictions weight observations from the same season more heavily (e.g. bottled water in summer, rice in winter). Monthly correction factors will arrive once a full year of data is collected.
Consumption grouping
Items that serve the same purpose (e.g. rice 10kg + rice 20kg) can be grouped. The dashboard shows a group card with combined stock and a single run-out prediction, so you don't buy more until the whole group runs low. Create groups in the Manage tab and assign items to them.
A typical day (stepper)
- Buy: tap ➕ Purchase on the card (or use the manual form for full detail). Enter amount, price, date.
- Use: rarely needed — only when you want to record a one-off drawdown. The predictor infers daily use from periodic stocktakes.
- Stocktake: open 🧮 Quiz me on your phone, answer one question at a time. Submit → press Confirm in the dashboard.
- Pending review: open the ⚡ 바로 조치 section to confirm or correct pending stocktakes and anomaly flags.
- Read briefings: morning and evening Telegram briefings summarize buy-now items, low-stock alerts, and unanswered purchase requests — no need to open the app.
Cases
- Stocktake wrong by typo → don't bother editing it; enter a new stocktake with the correct value and Confirm. The old pending value can be discarded; admin can exclude it from prediction if it was confirmed.
- Stock went up but no purchase logged → the event is auto-flagged as 🚨 unexplained increase and excluded from prediction. Add the missing purchase (date + amount) and the anomaly resolves.
- Item too noisy (alerts every day) → Manage tab → Settings → raise
cooldown_hours(default 24h). Same-item alerts are then spaced at least that far apart. - Cereal 1kg + 3kg packs treated as one → Manage tab → Groups → create a group, drag both items in. The dashboard shows a combined card with a single run-out prediction.
Admin-only tools
- Undo a recent event: every stock event can be reverted via the ↩ 되돌리기 button on the recent-events list. Only the most recent event per item can be reverted; for older mistakes add a corrective stocktake.
- Morning / evening briefing: configure per household in the Settings tab. The briefing summarizes buy-now items, pending stocktakes, and unanswered purchase requests. Duplicate-broadcast protection runs daily.
- cooldown_hours: default 24h. Tune per item in the Settings form when the same product triggers too many alerts in a row.
- Backups / audit log / notification history: Settings tab → bottom panels. Backups older than 30 days are pruned automatically. Audit log filters by
actionandtarget_type.