Fomoji
—
·
Manual

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.

  1. Open Sign up from the welcome screen or go there directly.
  2. 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.
  3. 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.

If you connect CAT as a guest and later decide to keep it, create an account before closing the tab — guest connections don't carry over automatically.

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.

  1. 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.
  2. After a successful reset, your recovery code is rotated automatically and the new one is shown once. The old code stops working immediately.
Keep it somewhere safe. Treat your recovery code like a spare key — it's the only backup door this build has.