Skip to content
← Back to Pocketbird
Start here

First run — signing in and setting up

Sign in with Apple or email, the PDPA consent screen, the skippable four-step setup guide, your opening balance, payday and budget cycle, and the optional Face ID lock.

Find it atFirst launch — and More → Settings → "Profile & Setup" → "Run Setup Guide" any time afterLast updated · 2026-08-07
01

What the first launch actually asks of you

First run exists to get two things settled before you record a single baht: an account to record it against, and your permission for Pocketbird to hold financial data at all. That is the whole of it — two screens. Everything after them is optional, and the app is already working while you do it.

Every cold launch opens with the coin mark for 1.7 seconds, then a 0.35-second fade into whatever comes next. It is decoration only — restoring your saved session, the first sync and the App Lock check all run underneath it. With Reduce Motion on the coin does not spin; it fades in and nothing else.

A brand-new account is not an empty app. Before you have tapped anything, Pocketbird has already seeded enough for the screens to make sense.

  • 11 top-level categories and a set of subcategories are inserted on the very first launch, before you even sign in — food, transport, money sent home, student loan, e-wallet top-up, shopping, entertainment, bills and utilities, salary, side income and debt payment.
  • A default profile is created for you: payday on day 1, no salary, no goal. All three are yours to change later.
  • Thai public holidays are seeded once you are signed in — they are what the weekend/holiday payday shift reads from.
  • Three reminders start on: the Daily Logging Reminder at 20:00, Budget Alerts, and Group Activity. Everything else — payday, bill-due, over-pace, weekly recap, end-of-day cash check, App Lock — starts off.
  • The "what's new" sheet is marked as seen on a fresh install — someone who has met the whole app this minute does not need a list of what changed. It appears only after a version change.
TipPocketbird never asks for notification permission at launch. The iOS dialog has exactly two ways to appear, and both start with your finger: the button inside the sheet that the bell card on Home opens, or flipping a reminder toggle on in Profile & Budget Cycle.
TipA saved session is restored in the background during the splash, so a returning user goes straight in. Launching offline with an expired token does not sign you out — the local session is kept and refreshed when the network comes back.
02

Creating an account

The sign-in screen is the outermost gate. Nothing inside the app works before it — not the widget, not the share sheet. There are two ways in: Sign in with Apple at the top, and an email and password hidden behind one link.

TipThe card under the buttons is worth reading once: "Pocketbird never connects to your bank, so it can never move your money. Your records stay yours — we don't sell them." / "Pocketbird ไม่เชื่อมต่อบัญชีธนาคาร จึงดูดเงินของคุณไม่ได้ ข้อมูลเป็นของคุณ และเราไม่ขายให้ใคร" There is no bank connection to set up here, and none to revoke later.
  1. Tap "Use email instead" / "ใช้อีเมลแทน". The credential card opens and the keyboard lands in the email field.
  2. Check the pill above the card. On the first screen it starts on "Sign Up" / "สมัครสมาชิก", because anyone with a saved session never gets this far.
  3. Type your email, then a password of at least 6 characters.
  4. Tap the blue pill — "Sign Up" / "สมัครสมาชิก" or "Sign In" / "เข้าสู่ระบบ".
Email — "อีเมล"
Email keyboard, no autocapitalisation, no autocorrect, iOS autofill on. The check is deliberately loose: exactly one @, something before it, and a dot in the domain.
Password (at least 6 characters) — "รหัสผ่าน (อย่างน้อย 6 ตัวอักษร)"
Minimum 6 characters, checked on the device before the submit button will even enable.
Forgot password? — "ลืมรหัสผ่าน?"
Appears only in Sign In mode — there is nothing to reset for an account that does not exist yet.
Sign in with Apple — "ลงชื่อเข้าใช้ด้วย Apple"
Asks Apple for your email only — no name, nothing else. On this first screen the button actually reads "Sign up with Apple", because nobody with a saved session gets here. Cancelling Apple's own sheet shows no error at all.
  • The screen has no Close button, because there is nothing behind it.
  • When sign-up needs email confirmation, the account exists but there is no session yet: "Signed up — check your email and tap the confirmation link to finish." / "สมัครสำเร็จ — เปิดอีเมลแล้วแตะลิงก์ยืนยันเพื่อเสร็จสิ้นการสมัคร".
  • Signing up again with an address that already has an account does not error and does not send an email — you get "This email may already have an account — try signing in, or use a different email." / "อีเมลนี้อาจมีบัญชีอยู่แล้ว — ลองเข้าสู่ระบบ หรือใช้อีเมลอื่น".
  • The return key walks the form: next moves from email to password, go submits.
Hidden feature
The email form is hidden until you ask for it
Do thisOn the first screen, tap "Use email instead" / "ใช้อีเมลแทน" under the Apple button
The Sign In / Sign Up pill, the email and password fields, the submit button and the forgot-password link all animate in together, and the keyboard focuses the email field. The screen deliberately does not focus that field on its own, so the keyboard never covers what the app is for before you have read it.
Hidden feature
Let iOS invent the password for you
Do thisSwitch the pill to "Sign Up" / "สมัครสมาชิก", then tap the password field
In Sign Up mode the field is declared as a new password, so iOS offers to generate a strong one and save it to your Passwords. In Sign In mode the same field is a saved password instead, so iOS autofills the one you already have. Needs iOS AutoFill turned on.
03

Confirmation links, forgotten and changed passwords

Both emails Pocketbird can send you — the sign-up confirmation and the password reset — contain a link that opens the app directly. They use two different addresses internally, so a reset link can never be mistaken for a confirmation.

  • Tapping the confirmation link on the same device signs you in without retyping anything: "Email confirmed — you're signed in." / "ยืนยันอีเมลเรียบร้อยแล้ว — เข้าสู่ระบบสำเร็จ".
  • Opened on a different phone or after a reinstall, the email is still confirmed but the app cannot finish the handshake: "Email confirmed — sign in with your password." / "ยืนยันอีเมลเรียบร้อยแล้ว — เข้าสู่ระบบด้วยรหัสผ่านของคุณได้เลย".
  • Confirmation links expire after 1 hour, and a mail scanner can consume one before you tap it. Either way you get "This confirmation link is invalid or has expired — sign up again to receive a new link." / "ลิงก์ยืนยันใช้ไม่ได้หรือหมดอายุแล้ว — สมัครใหม่อีกครั้งเพื่อรับลิงก์ใหม่".
  1. Forgot your password: switch the pill to "Sign In" / "เข้าสู่ระบบ", then tap "Forgot password?" / "ลืมรหัสผ่าน?".
  2. The "Forgot Password" / "ลืมรหัสผ่าน" sheet opens with whatever email you already typed pre-filled. Tap "Send Reset Link" / "ส่งลิงก์รีเซ็ต".
  3. Open the email on the same device and tap the link.
  4. Pocketbird opens "Set New Password" / "ตั้งรหัสผ่านใหม่" full screen. Type the new password twice and tap "Update Password" / "อัปเดตรหัสผ่าน", then "Done" / "เสร็จ".
New password (at least 6 characters) — "รหัสผ่านใหม่ (อย่างน้อย 6 ตัวอักษร)"
Same 6-character floor as sign-up.
Confirm new password — "ยืนยันรหัสผ่านใหม่"
Must match. "Passwords don't match." / "รหัสผ่านไม่ตรงกัน" only appears once you have typed something here, not while the field is still empty.
Current password — "รหัสผ่านปัจจุบัน"
Only on More → Settings → Account → "Change Password" / "เปลี่ยนรหัสผ่าน". Save stays blocked until the current one is filled, the new one is 6+ characters, both new fields match, and the new password differs from the old.
  • The reset confirmation never reveals whether that address has an account: "If that email has an account, we've sent a link to reset your password. Open it on this device to set a new one."
  • A reset link opened on another device is refused on purpose: "Open the password reset link on the device where you requested it, or request a new one." / "เปิดลิงก์รีเซ็ตรหัสผ่านบนอุปกรณ์ที่คุณขอไว้ หรือขอลิงก์ใหม่อีกครั้ง".
  • Tapping a reset link signs you in — a recovery session is a real session. Backing out of the Set New Password screen leaves you signed in with the old password still working.
  • The Set New Password screen cannot be swiped away, and it waits about 600 ms after the link lands so any open sign-in sheet finishes closing first.
  • Both alerts and the reset screen are held back until the splash has gone and, if App Lock is on, until you have unlocked. A link in an email cannot walk past Face ID.
Heads upThe "Change Password" / "เปลี่ยนรหัสผ่าน" row exists only for accounts that have an email-and-password identity. An account created purely with Sign in with Apple has no password, so the row is not there at all.
05

The four-step setup guide

After consent, a short welcome flow appears once: payday, first account, how much you have right now, first expense. It is a cover sitting on top of an app that already works — never a gate. Skip is in the top-left corner of every step, including the last one.

  1. "When do you get paid?" / "คุณได้รับเงินเดือนวันไหน?" — spin the wheel to your payday, "Day 1" to "Day 31" / "วันที่ 1" ถึง "วันที่ 31", then tap "Continue" / "ถัดไป".
  2. "Add your first account" / "เพิ่มบัญชีแรกของคุณ" — tap "Add Account" / "เพิ่มบัญชี". What you add appears in the list at once and the button becomes "Add Another Account" / "เพิ่มบัญชีอีก".
  3. "How much do you have right now?" / "ตอนนี้คุณมีเงินอยู่เท่าไหร่?" — type your balance into "Current Balance (THB)" / "ยอดเงินปัจจุบัน (บาท)", or leave it blank and set it later.
  4. "Log your first expense" / "จดรายจ่ายรายการแรก" — type an amount into "Amount (THB)" / "จำนวนเงิน (บาท)", optionally tap a category tile, then tap "Log It" / "จดเลย".
Payday — "วันเงินเดือนออก"
A wheel from 1 to 31, starting on day 1. Your budget cycle starts on this day, so it is the single setting that makes every other number match your month.
Current Balance (THB) — "ยอดเงินปัจจุบัน (บาท)"
Optional. With an eligible account present, the line under it names where it will go: "Added to %@ as a starting balance." / "เพิ่มลงใน %@ เป็นยอดเงินเริ่มต้น".
Amount (THB) — "จำนวนเงิน (บาท)"
Must be more than zero before "Log It" works. The category is optional, and only expense categories are offered here.
Skip — "ข้าม"
Top-left, on every step. It closes the flow and marks it done, and the flow will not come back on its own.
  • Continue is blocked on two steps, and says why: step 1 until you have actually touched the wheel — "Set the day you're paid to continue, or skip for now." / "เลือกวันที่คุณได้รับเงินเพื่อไปต่อ หรือข้ามไปก่อนก็ได้" — and step 2 until one account exists. Skip bypasses both.
  • Payday is saved the moment you leave step 1, not at the end of the flow — so skipping the rest still keeps the day you picked.
  • The first expense goes through exactly the same save path as normal Quick Add, so it inherits tag automation, learned categories and your default payment source.
  • When the cover closes, the ledger underneath shows "Logged %@" / "บันทึก %@ แล้ว" with an "Undo" / "เลิกทำ" button for 4 seconds.
  • The flow only appears on a genuinely blank install. If the app already holds any live account or transaction, it is marked done silently and never shows — that is the case for anyone upgrading in place.
  • It also holds off while a cloud restore might still be landing, so a returning user is never asked to set up an app that is about to fill itself in.
TipThe "Add Account" button opens the real Add-Account sheet on top of the cover — type, bank, colour, opening balance, all of it — not a stripped-down onboarding copy. The list behind it updates as you go.
TipNothing else is allowed to interrupt while this flow is up. The app permits at most one spontaneous prompt per session anyway, and none at all during a first-run flow — so no coach-mark lands on top of your first expense.
Hidden feature
Run the whole welcome flow again whenever you want
Do thisMore → Settings → "Profile & Setup" / "โปรไฟล์และการตั้งค่า" → "Run Setup Guide" / "เปิดตัวช่วยตั้งค่า"
The same four steps come back, with the wheel already on your saved payday. Re-running is safe: your salary, goal and weekend rule are left alone, and the balance step writes nothing if your ledger already matches the figure you type. If your saved payday is not day 1, Continue on step 1 is unlocked from the start.
Hidden feature
Skip works on the last step too
Do thisReach "Log your first expense" / "จดรายจ่ายรายการแรก" and tap "Skip" / "ข้าม"
The flow closes without logging anything and is marked complete. The step asks you to log something because that is the whole app in five seconds — but an ask with no exit would turn onboarding into a gate, which it never is.
Hidden feature
Tap a chosen category tile again to unchoose it
Do thisOn the last step, tap the category tile that is already highlighted
It deselects, and the expense saves with no category — which is allowed here, exactly as it is in the normal form. Useful when you tapped the wrong tile and there is no obvious way to clear it.
06

Your opening balance

Step 3 asks how much money you have right now for one reason: safe-to-spend is computed from a real balance, so on day one it has to start from your actual money rather than from zero. The figure is not a setting — Pocketbird turns it into one ordinary income adjustment in your ledger, which is why it can be checked, edited and undone like anything else.

  • The adjustment is dated 1 second before your current cycle starts. It reads as money carried in, and it is not counted as this cycle's income — so your income figure for the month stays honest.
  • It lands in the earliest-created account you have that is still live, not archived, and not a credit card.
  • If the only account you added is a credit card, this step does nothing at all — a card's balance is money you owe, not money you have.
  • If you also typed an opening balance inside the Add-Account form, that field is zeroed and folded into this one adjustment, so the same money is never counted twice.
  • Leaving the field blank is fine. You can set the balance later by running the setup guide again, or let it build itself as you log income.
TipTyping the same balance twice does not double it. If your ledger already sits at the figure you entered, nothing is written — which is what makes re-running the setup guide safe.
07

Payday, salary and the reminders

Everything the setup guide could have asked for lives on one screen afterwards, together with every reminder toggle: More → Settings → Profile & Setup → "Profile & Budget Cycle" / "โปรไฟล์ & รอบงบ". Budget cycles start on payday, and in a month too short for the day you picked, the cycle starts on the last day of that month instead.

Monthly Salary (THB) — "เงินเดือนต่อเดือน (บาท)"
Optional. Blank means not entered, which is not the same as zero. It is one of the fields that needs Save.
Payday — "วันเงินเดือนออก"
Day 1 to 31, shown as "Day %lld" / "วันที่ %lld", and clamped into that range.
Shift Weekend Paydays Earlier — "เลื่อนวันเงินเดือนที่ตรงวันหยุดสุดสัปดาห์ให้เร็วขึ้น"
Off by default. On, a payday falling on a Saturday, a Sunday or one of your holidays starts the cycle on the previous working day.
Holidays — "วันหยุด"
Opens the holiday list that the weekend shift reads from. Thai public holidays are already seeded for you.
First Goal (Optional) — "เป้าหมายแรก (ไม่บังคับ)"
A name — "Goal name, e.g. Emergency Fund" / "ชื่อเป้าหมาย เช่น เงินฉุกเฉิน" — and a "Target Amount (THB)" / "ยอดเป้าหมาย (บาท)".

The reminder toggles on the same screen all start off except three, and each one names its own schedule underneath it.

  • "Daily Logging Reminder" / "แจ้งเตือนบันทึกรายวัน" — on by default, 20:00.
  • "Budget Alerts" / "การเตือนงบประมาณ" — on by default; warns you as a category nears its budget and again if it goes over, for categories that have one.
  • "Group Activity" / "กิจกรรมในกลุ่ม" — on by default, but it needs a signed-in account and cloud-sync consent to deliver anything.
  • "Payday Reminder" / "แจ้งเตือนวันเงินเดือนออก" — off; fires at 09:00 on the day a cycle starts.
  • "Weekly Recap" / "สรุปรายสัปดาห์" — off; defaults to Sunday at 18:00, with "Recap Day" / "วันสรุป" and "Recap Time" / "เวลาสรุป" beside it.
  • "Bill-Due Reminder" / "เตือนบิลครบกำหนด", "Over-Pace Alert" / "เตือนใช้จ่ายเร็วเกินไป" and "End-of-Day Cash Check" / "เช็คเงินสดสิ้นวัน" (21:00) all start off.
Heads upThis screen has two save models at once. The toggles and time pickers write themselves the moment you flip them and re-arm their notification straight away; Save and Cancel govern only salary, payday, the weekend rule and the goal. Backing out with "Cancel" / "ยกเลิก" after unsaved money edits asks "Discard unsaved changes?" / "ละทิ้งการแก้ไขที่ยังไม่ได้บันทึกหรือไม่?" — but it does not un-flip a toggle.
TipTapping Save here counts as confirming your payday even if you did not change the day, and the Home nudge "Cycles start on your payday — set yours so the numbers match your month." / "รอบงบเริ่มวันเงินเดือนออก — ตั้งวันของคุณให้ตัวเลขตรงกับเดือนของคุณ" disappears for good.
Hidden feature
Make the cycle start early when payday lands on a weekend
Do thisMore → Settings → Profile & Setup → Profile & Budget Cycle → turn on "Shift Weekend Paydays Earlier" / "เลื่อนวันเงินเดือนที่ตรงวันหยุดสุดสัปดาห์ให้เร็วขึ้น"
It ships off, which means that out of the box a payday on a Saturday opens your cycle on the Saturday — while the money landed on the Friday. Turned on, the cycle starts on the previous working day instead, matching an employer who pays early rather than late. The list of days it treats as holidays is under "Holidays" / "วันหยุด" on the same screen, already filled with the Thai public holidays.
Hidden feature
Say "Maybe later" to notifications and they arrive quietly anyway
Do thisTap the bell card on Home, then "Maybe later" / "ไว้ทีหลัง" — then quit the app and open it again
On the next cold launch Pocketbird asks iOS for provisional notifications — no dialog is shown, ever. Reminders then start turning up silently in Notification Centre, where iOS offers its own Keep / Turn off buttons, so you can judge them before committing. This happens exactly once, and only while you have not yet answered the real permission dialog.
Heads upThe bell card on Home only appears once you have logged at least one transaction. Dismissing it with the ✕ once snoozes it for 14 days; twice stops it for good. And if you deny the iOS dialog, that answer is final at the system level — the card becomes "Notifications are off" / "การแจ้งเตือนปิดอยู่" and taps straight through to the app's iOS settings.
08

Locking the app with Face ID

Your phone's own passcode protects the phone; App Lock protects this app in particular, for the moment you hand your unlocked phone to someone. It is off until you turn it on, and it is per-device — switching it on here does not lock Pocketbird on your other phone.

  1. Go to More → Settings → Privacy & Security → "App Lock" / "ล็อกแอป".
  2. Turn on "Lock App with Face ID" / "ล็อกแอปด้วย Face ID". It applies immediately — there is no Save.
  3. Next launch, or the next time you come back from the background, "Pocketbird Is Locked" / "Pocketbird ถูกล็อกอยู่" appears and the biometric prompt fires by itself.
  4. If you dismissed the prompt, tap "Unlock" / "ปลดล็อก" to bring it back.
  • The footer states the deal plainly: "Requires authentication every time you open or return to the app." / "ต้องยืนยันตัวตนทุกครั้งที่เปิดหรือกลับเข้าแอป"
  • If Face ID is unavailable or keeps failing, your device passcode is accepted instead — you cannot be locked out of your own records by a bad camera angle.
  • Re-locking only happens after a real trip to the background. Control Centre, the biometric sheet itself and a quick peek at the app switcher do not re-prompt.
  • The lock screen is fully opaque, so the app-switcher snapshot shows the lock, not your balances.
  • At launch the lock engages before the saved session is restored, so the lock screen can appear while the app does not yet know whether you are signed in.
  • Turning it off takes effect on the very next launch or foreground — no restart, no sign-out.
Hidden feature
There is a second App Lock switch, three levels deep
Do thisMore → Settings → Profile & Setup → Profile & Budget Cycle → "Lock App with Face ID" / "ล็อกแอปด้วย Face ID"
The same toggle sits among the reminder switches on the Profile & Budget Cycle screen, and writes the same device-local setting with no Save. Handy when you are already in there setting your payday and reminders, and do not want a second trip through Settings.
Hidden feature
The Unlock button tells you which biometry your phone has
Do thisCancel the automatic prompt on the lock screen and look at the button
Its icon and VoiceOver label follow your actual hardware: "Unlock with Face ID" / "ปลดล็อกด้วย Face ID", "Unlock with Touch ID" / "ปลดล็อกด้วย Touch ID", or a plain padlock reading "Unlock with passcode" / "ปลดล็อกด้วยรหัส" on a device with neither. The system prompt itself always gives its reason: "Unlock Pocketbird to view your financial data" / "ปลดล็อก Pocketbird เพื่อดูข้อมูลการเงินของคุณ".
09

A new phone, and getting out again

First run is also what happens the second time — on a new phone, after a reinstall, or when someone else signs in on your device. Which of those you get depends entirely on whether you granted Cloud Sync.

  • With Cloud Sync on, signing in on a new phone shows "Restoring your data" / "กำลังกู้คืนข้อมูลของคุณ" over skeleton rows while the first sync runs — never a false "you have nothing" empty state.
  • Your consent log comes down with everything else, so the consent screen usually does not appear again, and the welcome flow is marked done silently once your data lands.
  • If that first sync fails — the network dropped right after you signed in — the app does not hang waiting. It falls through and offers the welcome flow for what looks like a blank slate.
  • Signing in with a different account on the same phone wipes the local store first, then restores the new account — consent and profile included. The new person gets the consent screen, fresh seeded categories and the welcome flow.
  • Before you are signed in and consented, the Share Extension refuses politely — "Sign In Required" / "ต้องเข้าสู่ระบบก่อน" or "Consent Required" / "ต้องยินยอมก่อน" — and a Quick-Add widget tap is queued rather than lost.

Signing out is not a light action here. More → Settings → Account → "Sign Out" / "ออกจากระบบ" erases everything on this phone and returns it to a fresh-install state: "Signing out erases everything on this device. Synced data comes back when you sign in again." / "การออกจากระบบจะลบทุกอย่างในเครื่องนี้ ข้อมูลที่ซิงก์แล้วจะกลับมาเมื่อคุณเข้าสู่ระบบอีกครั้ง"

  • Pending edits are pushed to the cloud first and the app waits for that sync to finish, so an online user does not lose anything unsynced.
  • This device's push token is dropped server-side while the session is still valid, so the phone stops receiving that account's group notifications.
  • If sign-out itself fails, the erase does not run at all — you stay signed in with your data intact.
  • A full-screen "Signing out…" / "กำลังออกจากระบบ…" holds the app until the wipe is finished, so the sign-in screen never flashes over a half-erased store.
  • The erase also clears the device-local onboarding latch, so the next account signed in on this phone is offered the welcome flow again.
Heads upThe red "Delete Account & All Data" / "ลบบัญชีและข้อมูลทั้งหมด" in Settings is a different thing: it deletes the cloud copy first, then the phone. If the cloud delete cannot run because you are offline, nothing local is wiped either. The dialog is blunt about it — "Permanently deletes your data on this device and in the cloud. This can't be undone — export your data first."
Hidden feature
Say no to Cloud Sync now, turn it on later without losing anything
Do thisMore → Settings → Privacy & Security → "Privacy (PDPA)" / "ความเป็นส่วนตัว (PDPA)" → switch on "Sync data to the cloud (Supabase)" / "ซิงก์ข้อมูลขึ้นคลาวด์ (Supabase)"
Everything you logged locally starts syncing from that moment on, so declining at the consent screen costs you nothing but the backup you did not have yet. The same screen shows every purpose with its "Last Changed" / "เปลี่ยนล่าสุด" date and "Policy Version" / "เวอร์ชันนโยบาย", and the same switch withdraws cloud sync again — a withdrawal syncs at once, as the last thing written to the server.