Profile & Onboarding
Published Jul 6, 2026
When you land in Praxis924 as a new learner, the platform doesn't drop you into an empty dashboard and hope you figure it out. It routes you through a short guided onboarding flow, then hands you an editable profile you can shape over time, avatar included. This walkthrough is for learners setting up their account for the first time — and for anyone who wants to tidy up their public presence later. By the end you'll know exactly how to complete onboarding, fill in your profile, and upload an avatar that sticks.
What you'll need
- A verified account. Registration sends an email verification step, so confirm that first — an unverified account can't move cleanly through the app.
- A square-ish image for your avatar, under 2 MB. Anything larger is rejected at upload.
- A couple of minutes. Onboarding is deliberately short.
Note: Praxis924 uses short-lived JWT access tokens with a refresh token behind them, so you stay signed in across the flow without re-entering your password. If a step ever bounces you to the login screen, sign back in and pick up where you left off — nothing you've saved is lost.
Step 1 — Complete the guided onboarding
After you verify your email and sign in for the first time, head to /onboarding (you'll usually be sent there automatically). This is a guided flow, not a wall of optional fields: it asks for the essentials it needs to personalize your experience and it validates as you go.
Because the fields carry validation constraints, expect the form to push back if something's off — a required field left blank, a value that's too short or too long, or a format it doesn't accept. Read the inline message, fix the field, and continue. The flow won't let you advance past a step that isn't valid, which is intentional: it means your profile starts clean instead of half-empty.
Work through each step in order. When the final step validates, you're done and dropped into the learner shell — /learn to browse published lessons, plus your dashboard, progress, and Lucy the AI teacher.
Tip: Treat onboarding as the fast path, not the final word. Anything you set here — display details and the like — you can revisit and refine on your profile page afterward. Get through it, then polish.
Step 2 — Open and edit your profile
Once you're in, go to /profile. This is your editable profile, and it's the canonical place to manage how you appear to the rest of the community. Praxis924 has a social layer — public profiles, a directional follow system, member search, and an activity feed — so your profile is what other members see when they find or follow you.
Update the fields you care about, then save. Edits are validated the same way onboarding is, so the same rule applies: if a save doesn't go through, look for the inline error rather than retrying blindly. A rejected save almost always means one field failed a constraint, not that the whole form broke.
Step 3 — Upload your avatar
On the same /profile page, use the avatar control to upload an image.
- Choose your file. Keep it under 2 MB — that's the hard cap, and oversized files are refused before anything is stored.
- Confirm the upload. The image is saved to a persistent volume on the server, not held in a temporary buffer, so it survives restarts and redeploys.
- Your avatar is then served from the
/uploadspath and shown across the app — your profile, the activity feed, discussions, and anywhere your presence appears.
That persistence detail matters: because avatars live on a mounted volume, a routine docker compose up -d --build or a deploy doesn't wipe them.
When it goes wrong
Most snags here are validation or file-size issues, not outages. Quick reference:
| Symptom | Likely cause | Fix |
|---|---|---|
| Onboarding won't advance | A field failed a validation constraint | Read the inline error, correct that field, continue |
| Avatar upload rejected | Image exceeds the 2 MB cap | Compress or resize below 2 MB and retry |
| Avatar doesn't appear | Browser cached the old image | Hard-refresh; confirm the upload succeeded on /profile |
| Bounced to login mid-flow | Access token expired | Sign back in; saved steps are preserved |
| Profile save silently fails | A field is invalid, not a server error | Check every field for an inline message before retrying |
Warning: Don't try to grow the avatar cap by sending a huge file "just once." The 2 MB limit is enforced at upload, so oversized images never land on the volume — the request is refused, not truncated. Resize on your end.
What you get
A completed onboarding and a filled-in profile unlock the parts of Praxis924 that assume you're a real, identifiable member. Your avatar and details flow into public profiles, member search, the follow system, discussions, and the activity feed — so when you comment on a lesson, post a note, or earn an achievement, you show up as you.
From here, the natural next moves: browse /learn and open a lesson in the focused viewer, jump into /practice/[lessonId] to work exercises, ask Lucy a question straight from a lesson, or run a mock interview. Your profile is the identity that ties all of that activity together — set it once, refine it whenever, and the rest of the platform picks it up automatically.