How Fomoji works, end to end.
Every section below describes a feature that actually exists in this build and does what it says. Where something is only partly built or not built yet, it's labeled that way instead of pretending — see the CAT manual for running CAT itself, or Security for the deeper security walkthrough.
1Fomoji overview
Fomoji is a single identity you use to sign into other apps — starting with CAT — instead of managing separate accounts everywhere. It's also a personalization layer: themes, tab bar layout, gestures, and motion are all yours to configure and they persist per-browser.
Two honesty rules run through the whole app and this manual: nothing is stored on a server (everything lives in this browser's local storage), and no control exists in the UI unless it actually does something. If a feature isn't built yet, you'll see it marked Planned rather than a button that quietly does nothing.
2Create an account Live
Sign-up asks for a name, username, email, and password. Your password is hashed client-side before it's stored — there's no server, so "stored" means in this browser's local storage.
- Open Sign up from the welcome screen or go there directly.
- Fill in your details. Username and email can't be changed later in this build — changing either safely needs a real backend to migrate references, which this build doesn't have.
- Save your recovery code. It's shown once, right after signup, and it's the only way back into your account if you forget your password. There's no email-based reset — see Account recovery.
3Login Live
Sign in with your username or email and password. Sessions persist across browser restarts until you sign out from Settings → Security. Repeated failed attempts trigger a short lockout on that identifier, so brute-forcing a password isn't free even in a client-only build.
4Guest mode Live
Guest mode gives you a real, working session — you can browse the app and even connect CAT — without creating an account. The difference is durability: a guest session lives in this tab only and disappears when you close it, and profile or password fields are disabled because there's no account behind them to save to.
5Fomoji Link Live
"Fomoji Link" is the umbrella name for signing into a third-party app with your Fomoji identity instead of a separate password. Today that means CAT; the door is open for more apps, but they show as Planned under Connected applications until something real is behind them.
6CAT connection Partially built
From Home or Settings → Connected apps, "Connect" opens a consent modal describing exactly what CAT would get: identity verification, no password sharing, and one-tap future sign-ins. Confirming it genuinely saves the authorization to your account (or, as a guest, to the guest session).
What's not built yet: CAT itself doesn't call this flow, so there's no live redirect back into a running CAT session — see the CAT manual's authentication section for the current, honest limit.
7Devices Planned
There's no trusted-device list in this build. Because everything is stored per-browser with no server, there's nothing to sync across devices yet — signing in on a second browser or device just starts a separate, independent session there. A real "Devices" panel needs a backend to track sessions centrally, which is planned but not built.
8Security Live
Password changes, session info, and sign-out are real and live under Settings → Security. For the full picture — including what's genuinely built versus planned, like passkeys and 2FA — see the dedicated Security page.
9Privacy Live
The Privacy Policy explains what's collected (short answer: nothing leaves your browser in this build) and how third-party AI providers would be handled once that layer exists. Per-mode AI data preferences are planned, tracked alongside the AI connection modes work.
10Themes Live
Themes live under Settings → Appearance. Every theme — dark or light — is generated from the same underlying color system, so switching modes doesn't just invert colors, it recomputes a full palette (background, surface, text, and accent) that's built to stay readable together.
Appearance also covers icon weight (outline, bold, duotone, ascii, or emoji), surface texture (Flat, Glass, Liquid Glass, Neumorphic, Skeuomorphic), glow effects, ambient parallax, and a global reduce-motion switch independent of your OS setting.
11Theme Studio Live
Theme Studio, at the bottom of Appearance, lets you pick nine individual colors (background, surface, primary, secondary, text, muted text, border, success, error), choose a dark/light group and a corner shape, then save it as a real custom theme you can select like any built-in one.
12Tab Bar Studio Live
Under Settings → Navigation, you can add a tab, rename it, change its icon, reassign what it points to, reorder tabs, hide or pin them, and switch the bar between floating-bottom and full-width-top layouts. Every custom tab points at one of a fixed set of real actions (open a page, open the command palette, sign out) — never arbitrary code — so a tab you build can't end up dead or fake.
Changes apply to the live tab bar immediately and persist across reloads. Home always stays visible and can't be removed — it's the guaranteed way back if you've hidden everything else.
13Gesture Studio Live
Under Settings → Gestures, you can bind swipes, taps, and long-presses to actions, toggle gestures on entirely, or switch to a reduced set (just swipe left/right and long-press on the tab bar). Every gesture mirrors a button or link that already exists elsewhere in the app — nothing here is gesture-only, so turning gestures off never removes functionality, just a shortcut to it.
14Keyboard shortcuts Live
Under Settings → Shortcuts, every global shortcut can be remapped: press the remap button, then press the new combo. The command palette itself (searchable list of every action in Fomoji) opens from there too, and shortcuts reset to defaults with one button if you want a clean slate.
15Account recovery Live
Recovery works entirely through the one-time recovery code shown at signup — there's no email-based reset in this build, since that needs a mail server this build doesn't have. On the login screen, "Forgot password?" opens a real reset form: enter your username or email and your recovery code, then set a new password.
- Lost your recovery code too? There's currently no way to recover the account without it — that gap closes once identity-verified support exists behind a real backend.
- After a successful reset, your recovery code is rotated automatically and the new one is shown once. The old code stops working immediately.