The one number: safe to spend per day
Your bank balance doesn't know that rent is due on the 28th, or that ฿4,000 of it is already promised to a savings goal. It reads as more money than you really have. Pocketbird's answer sits at the top of the Transactions tab: what you can spend today, and every remaining day, without coming up short before payday.
The card shows its own working, in three steps. Your personal balance, minus everything set aside in Pockets, adjusted for credit-card installment smoothing, is what's available. Take off the recurring bills still due before the cycle ends and you have what's spendable. Divide that by the days remaining — today counts, and the divisor is never less than 1.
The "upcoming fixed costs" it subtracts are not a guess. They are the real occurrences of your recurring rules.
- Every occurrence of an active, non-paused, non-transfer expense rule that falls between today and the end of the cycle counts. A weekly bill counts each remaining week, not once.
- An occurrence you have already posted as a real transaction drops out — it hit your balance, counting it twice would double-charge you. Skipped occurrences drop out too; a snoozed one counts on its new date; one with an overridden amount counts at that amount.
- A rule marked as estimated widens its window back to the start of the cycle, so an overdue bill you haven't paid yet still counts against you. A rule with an expected range is forecast at the midpoint.
- Debt payments are deliberately excluded. They are ad-hoc — there is no scheduled amount to subtract, and guessing one would make the number worse, not better.
- Credit-card installments are smoothed: only this cycle's monthly slice is charged against safe-to-spend, the rest is deferred. The Balance line on the card is not smoothed — it is your real balance.
- Shop and business money never enters the calculation, and the whole number recalculates the moment you save a transaction — there is nothing to refresh.
The pay cycle — how Pocketbird defines a month
Pocketbird does not think in calendar months. It thinks in pay cycles: a cycle starts on your payday and ends the day before the next one. The first day of the next cycle belongs to the next cycle only, never to both. Every number in this chapter is measured over that window.
- Go to More → Settings → "Profile & Budget Cycle" / "โปรไฟล์ & รอบงบ".
- Under "Salary" / "เงินเดือน", fill in "Monthly Salary (THB)" / "เงินเดือนต่อเดือน (บาท)".
- Set "Payday" / "วันเงินเดือนออก" — a picker from "Day 1" / "วันที่ 1" to "Day 31" / "วันที่ 31".
- Optionally turn on "Shift Weekend Paydays Earlier" / "เลื่อนวันเงินเดือนที่ตรงวันหยุดสุดสัปดาห์ให้เร็วขึ้น", and add your own days under "Holidays" / "วันหยุด".
- Tap "Save" / "บันทึก".
- The start date is decided in a fixed order: a manual override for that one cycle wins, then the weekend/holiday shift, then the short-month clamp, then your plain payday.
- The weekend shift alone moves the start back at most two days. With holidays — a Songkran run abutting a weekend, say — it can reach about five, and the start can land in the previous calendar month. The backward walk is capped at 366 days so an all-holiday list can never hang the app.
- "Days left" always counts today and is never less than 1, so the daily figure can never divide by zero on the last day of a cycle.
- Payday, the weekend setting and your holidays sync to your other devices. They define what a cycle is, so they have to agree everywhere.
- An adjusted cycle carries a small calendar-with-clock glyph next to its range in the stepper, read out as "Start date adjusted" / "ปรับวันเริ่มแล้ว".
- Step the cycle with the ‹ / › chevrons and a "Back to Current" / "กลับไปรอบปัจจุบัน" pill appears beside the range, returning you to the live cycle in one tap. On the current cycle there is no pill at all.
- Overrides sync between devices, last write wins. One that arrives from an old build and sits outside the legal window is ignored outright — the cycle quietly reverts to its computed start rather than half-applying a bad date.
The Summary dashboard
The Summary tab is the whole cycle on one scroll: a stack of twelve cards, all of them measured over the current pay cycle. There is no stepper here — Summary is always "now". All twelve can be dragged into your own order, and eleven of them can be switched off; the Budget card is the one that always stays.
- "Budget & Safe to Spend" / "งบประมาณและยอดใช้ได้ต่อวัน" — the lead card, described below. Cannot be hidden.
- "This Cycle" / "รายการรอบนี้" — the cycle's net as a headline, with "Income" / "รายรับ" and "Expenses" / "รายจ่าย" side by side and a "Saved" / "เก็บได้" savings-rate ring.
- "Total Balance" / "ยอดเงินสุทธิ" — your all-time running total, or "Net Worth" / "ความมั่งคั่งสุทธิ" once debts are folded in.
- "Category Budgets" / "งบตามหมวด" — up to 4 budgeted categories, most at risk first, then "+%lld more" / "อีก %lld รายการ". The cap can never hide an over-budget category, because rows sort by fraction of limit.
- "Insights" / "ข้อมูลเชิงลึก" — up to 3 observations about this cycle, with "Ask Pocketbird" / "ถาม Pocketbird" as the last row.
- Then the charts: "Net Trend (6 Cycles)" / "แนวโน้มคงเหลือ (6 รอบ)", "Income vs Expense" / "รายรับเทียบรายจ่าย", "Daily Spending" / "รายจ่ายรายวัน", "Spending by Category" / "รายจ่ายตามหมวด", "Category Trend" / "แนวโน้มตามหมวด", "Top Payees" / "จ่ายให้ใครมากสุด" and "Spending by Tag" / "รายจ่ายตามแท็ก".
The lead card has three different faces, depending on how much you have told the app.
- With a budget set, a second daily allowance appears at the bottom of the card — "Safe to spend" / "ใช้ได้ปลอดภัย" + "/day" / "/วัน" — computed from what is left of the budget, not from your balance. The two numbers sit side by side; the budget one never replaces the balance one. Once the budget is gone it reads "Budget reached" / "ใช้งบครบแล้ว" in red rather than going negative.
- Whenever a pocket holds money, a "Set Aside in Pockets" / "กันไว้ในกระเป๋า" row sits at the bottom of the card; tapping it expands the per-pocket breakdown in place, without leaving the card.
- Cards that have nothing to draw hide themselves: no expenses this cycle hides the donut, nothing budgeted hides Category Budgets, no payee on any expense hides Top Payees, six flat cycles hide Net Trend. "Budget & Safe to Spend", "This Cycle", "Total Balance" and the Insights feed always render.
- The "Total Balance" card becomes "Net Worth" once you turn on More → Settings → "Include Debts in Net Worth" / "รวมหนี้ในยอดสุทธิ" (off by default, and a per-device display preference that does not sync). Off, outstanding debt and money owed to you appear as separate "Outstanding Debt" / "หนี้สินคงเหลือ" and "Owed to You" / "เงินที่คนอื่นค้างคุณ" cards.
- Below zero, the balance card adds a "Below zero" / "ติดลบ" pill. The card surface itself never turns red — the state lives in the number and the pill.
- The savings ring on the This Cycle card is removed entirely in a cycle with no income — there is nothing to rate against, and 0% would be a lie. That card also carries a slow green wash only while net is at or above zero; a shortfall cycle drops to a plain card rather than glowing at you.
- Before any transaction exists at all, the whole tab reads "No activity yet" / "ยังไม่มีความเคลื่อนไหว". Signing in on a new device shows a restoring placeholder instead, so a pending first sync never looks like an empty account.
Reading the charts
Seven charts share the dashboard, and each answers a different question. Two of them are also doors: the rows under the category donut and the rows on Spending by Tag open the transactions behind them. The other five are for reading, not tapping.
- A category with real but tiny spend reads "<1%" rather than 0%; a category with genuinely nothing draws no legend row at all.
- Subcategory spend rolls up into the parent's slice everywhere on this screen — the donut and the Category Trend bands use the same rule.
- Renaming a person under More → People retroactively merges their whole history in Top Payees, because the grouping is by identity, not by the typed name. A deleted payee's transactions keep the name they were saved with.
- A category you deleted keeps its own slice in old cycles, with the name and colour it had. History is not rewritten to match today's setup.
- Chart axis ticks compact past a million — a tick reads "฿6M" so one label cannot eat the plot. This affects axis ticks only; every amount you read as a figure stays written out in full.
- Bars grow in, the donut sweeps clockwise and headline amounts count up from zero when a screen appears. All of it is skipped instantly under Reduce Motion. With VoiceOver on, each chart is read out as text — the donut as name, amount and share; Net Trend as cycle, amount and whether it was a surplus or a shortfall.
Browsing past cycles
The dashboard is always the current cycle. When you want to know how last month actually ended, or whether three cycles ago was really as bad as it felt, open "Cycle Summary" / "สรุปรอบ" from the calendar icon in the Summary toolbar.
- Summary tab → the calendar icon top-right → "Cycle Summary" / "สรุปรอบ".
- Move with ‹ "Previous cycle" / "รอบก่อนหน้า" and › "Next cycle" / "รอบถัดไป".
- Read "Net this cycle" / "สุทธิของรอบนี้" with its "Income" / "รายรับ" and "Expenses" / "รายจ่าย" split.
- Check "Spending vs Budget" / "ใช้จ่ายเทียบงบ" — a dashed "Plan" / "งบ" line, a solid "Actual" / "ใช้จริง" line and a dotted "Projected" / "คาดการณ์" run-rate.
- You cannot browse into the future, and you cannot go back before your earliest transaction. At those edges the arrow dims to 30% instead of disappearing, so the control never jumps under your thumb.
- The burn-down chart only appears when an overall budget was set for that cycle. A past cycle shows plan and actual but no projection — there is nothing left to project.
- The "Recent cycles" / "รอบที่ผ่านมา" list and the cross-cycle trend always count back from the current cycle, at most 6 entries, no matter which cycle the stepper is parked on.
- The current cycle's totals here match the Summary hero exactly — both run the same aggregation over the same half-open window, so the two screens can never tell you different things.
Insights — the app noticing things for you
Most of what goes wrong with money is visible in the data a week before you feel it. Pocketbird reads your own numbers against a fixed set of rules and writes what it finds in plain sentences. There is no AI service behind this — the maths runs on your phone and the same numbers always produce the same cards.
- Uncategorized cleanup — fires when 40% or more of this cycle's spending has no category. It is the only row in the feed you can tap; it opens the bulk categorization screen.
- Over-pace projection — once at least 10% of the cycle has elapsed, if the run-rate says you will land above your budget or your income.
- A category up (20% or more above last cycle and at least ฿500 this cycle) or down (was ฿500 or more last cycle, now 80% of that or less).
- Your biggest category, when there are at least two categories and the largest takes 25% or more of expenses.
- Savings rate — praise at 20% of income kept or better, a plain warning when you spent more than you earned.
- No-spend days — three or more days this cycle with no expense at all.
The full screen sits behind the ✨ "Insights" / "ข้อมูลเชิงลึก" button at the top-right of Summary. It opens with "Highlights" / "ไฮไลต์" — at most 4 ranked cards, critical first — then the cycle overview, the wealth and breathing-room cards, "Spending Trend" / "แนวโน้มการใช้จ่าย", "Where It Goes" / "เงินไปไหนบ้าง", "Subscriptions" / "การสมัครสมาชิก", "Upcoming This Cycle" / "ที่จะถึงในรอบนี้" and "Debts" / "หนี้สิน". A section with no data is not there at all.
The long view — where this is all heading
Two cards on Insights answer a question a cycle cannot: if nothing much changes, what does a year from now look like? One projects your net worth out 12 months, the other breaks a single month down into where your income actually goes.
- The net-worth line is a straight one: today's net worth plus each month's surplus. Monthly surplus is your salary minus subscriptions, debt service, card minimums and everyday spending.
- Everyday spending is averaged over your last three complete pay cycles — the current partial one is left out so a cycle three days old cannot skew it. It counts only expenses with no recurring rule and no debt behind them. If you have fewer than three complete cycles, it divides by what you actually have, so a new account is not diluted by empty history.
- Debt payments deliberately do not pull the wealth line down. Paying principal moves your cash and your liability by the same amount. They do count in monthly breathing room, because that money genuinely leaves your hands each month. The two lenses give different numbers and both are right.
- "When your payments ease" holds subscriptions, card minimums and everyday spending flat — only debts finishing move the steps. Its step chart needs at least two obligations to draw; with one, you still get the rows.
- Read the assumptions before you trust a number: the "How this is estimated" / "คำนวณจากอะไร" card at the bottom of the outlook screen lists all six in plain language, from "Your salary stays steady" / "เงินเดือนคงที่" to "No surprises are modelled" / "ไม่รวมรายการที่ไม่คาดคิด". It is reachable only from that screen, not from the two inline cards.
Being told before it's too late
A dashboard only helps if you open it. Four notifications you control — three of them off until you turn them on — and one quiet card on the Transactions tab do the work of noticing when you are not looking. All of them run on the same cycle maths as everything else, and all of them are evaluated when you open or return to the app — nothing is watching your money from a server.
- All four live in More → Settings → "Profile & Budget Cycle" / "โปรไฟล์ & รอบงบ", in the sections below the salary and payday fields. Unlike those fields, the toggles apply the moment you flip them — Save and Cancel govern only the synced salary, payday, weekend and goal settings.
- Permission is asked at the toggle, never by a notification appearing. If you have denied notifications, nothing is presented at all.
- Tapping a category alert opens that category's transactions for the cycle; the pace, recap and overall-budget alerts open the Budget screen.
- On the Transactions tab, under the hero, a "Spending Too Fast" / "ใช้จ่ายเร็วเกินจังหวะ" section lists any budgeted category burning its budget faster than the cycle is elapsing — more than 5 percentage points ahead, and past 10% used. Each row reads "%@ is spending faster than budgeted" / "%@ ใช้จ่ายเร็วกว่างบ" with an amber percentage. It always measures the live cycle, even when you have stepped the ledger back to an old one.
The same number, outside the app
Nine of Pocketbird's widgets are built on the pay cycle, and all of them read one shared snapshot the app rebuilds after every save and every sync. The widget target aggregates nothing of its own, which is why a widget can never quietly disagree with the screen it came from.
- Until the app has any data at all, every one of them reads "Open Pocketbird to get started" / "เปิด Pocketbird เพื่อเริ่มใช้งาน" — one shared truth, so widgets never contradict each other.
- Where a budget exists, the widget's daily figure is the budget-aware one; otherwise it is the balance-based safe-to-spend. A deficit adds a warning triangle, so the state is carried in shape and not colour alone.
- Every cycle and dashboard widget opens the app on the Summary tab; the two safe-to-spend widgets open Quick Add, and the Budget widget opens the Budget screen. Summary is the only screen in this chapter with a deep link — there is none for Insights, Cycle Summary, the outlook or the customize sheet.
- Siri answers three read-only questions here without opening the app: "How much can I spend today in Pocketbird", "How's my budget in Pocketbird", and a Shortcuts-only "Spend by Category" over this cycle, last cycle, this month or last month. Signed out, they say so rather than reading you a fabricated zero.
- Pulling down on Summary, Insights, Cycle Summary or Financial outlook runs a real sync, holding the spinner until the round trip finishes — not a cosmetic refresh.