Member Portal

A self-service area for your members

Overview

The Member Portal turns your members from records into active participants. Instead of your secretary chasing RSVPs in a group chat or your treasurer fielding "how much do I owe" questions every week, members log in directly and handle it themselves: tap I'M IN to commit to a project, see what they're running as a chairperson, check their participation toward Active Member status, pay their dues, keep their own profile current.

How members find their portal:

  • Direct link: orgbasehq.com/portal/your-slug (e.g. orgbasehq.com/portal/jcimandaue) — share this with your members
  • Org finder: orgbasehq.com/portal — members type their org name to find the right portal. Useful if they forget the slug.
  • From your Public Page — the "Apply to Join" / "Member Login" CTAs surface automatically when the portal is enabled.

From Application to First Login

New people don't need an admin to type them in by hand. The full intake flow is self-service from the registration link onward:

1

Apply via your registration link

Prospective member visits the link (e.g. orgbasehq.com/portal/your-slug or a custom slug like /your-slug/2026), fills out the form, and submits. Custom fields you defined in Settings → Member Registration Form are asked here too.

2

Admin reviews + approves

New submissions land in Members with status "Pending." An admin clicks "Approve" inline on the row (or from the side panel). Duplicate detection warns the admin if someone with the same email or full name already exists.

3

Member logs in for the first time

Once approved, the member visits the portal login page, enters their email, gets a 6-digit code, and they're in. No password to set up. Session lasts 7 days.

How Members Log In

Members don't need a password or an OrgBaseHQ account. They log in using a one-time code sent to their email — similar to how many banking apps work.

  1. 1Member visits the portal login page and enters their email address
  2. 2A 6-digit code is sent to their email (expires in 15 minutes)
  3. 3Member enters the code and is logged in for 7 days

Who can log in? Only active members with an email address on file. Inactive, suspended, or pending members cannot access the portal. If a member doesn't have an email in their profile, they'll need an admin to add one first.

Enabling the Portal

The Member Portal is disabled by default. An admin or founder can enable it in a few clicks:

  1. 1Navigate to Settings > Organization
  2. 2Scroll down to the Member Portal card
  3. 3Toggle Enable Member Portal on
  4. 4Click Save Changes — the portal URL will appear

If you also have your Public Page enabled, a "Member Login" badge will automatically appear in the hero section. Members can click it to go straight to the login page.

What Members See When Logged In

The portal home is built around three priority zones — what to do, what's happening, and how a member is doing. Anything that doesn't serve one of those questions doesn't belong on home.

Home — Zone 1: Things to do

An action-items section that only renders when there's something there. Empty = invisible (no "nothing to do 🎉" pep talks). Surfaces:

  • Outstanding dues — "Pay your dues — ₱500 outstanding", links to the Dues page
  • Upcoming projects awaiting RSVP — "RSVP for 2 upcoming projects", jumps to Zone 2
  • Pending your approval — when the member holds a position assigned to a custom-form approval stage (e.g. Treasurer reviewing Liquidation Sheets) and a chairperson has submitted something, this row links to /portal/[slug]/review/[id] where they approve or reject. Counts substitutions via active approval delegations too — if you're covering for someone on leave, their pending items show up under your portal.
  • Chairperson actions — projects where the member is the chairperson and a Post-Activity Report or Liquidation Sheet is still pending. Links straight into the chairperson dashboard for that activity.

Home — Zone 2: What's happening

The chapter's upcoming projects in the next 4 weeks — the wedge of the whole portal. Each card shows:

  • Project title, date, time, location
  • How many other members are in
  • One big "I'M IN" button — tap to RSVP. UI flips instantly (optimistic), retries on the server in the background. Tap again to undo.
  • 👑 chairperson treatment — if the member is chairing the project, the RSVP button is replaced with a "You're chairing" badge.

Home — Zone 3: My standing

Light gamification — recognition without leaderboards.

  • Three-up stat grid — projects attended this quarter, this year, all-time
  • Active Member ✓ — appears when the member hits the chapter's quarterly threshold (default: 3+ projects per quarter). Otherwise shows a soft prompt like "2 more this quarter for Active Member."
  • N-month streak 🔥 — consecutive months with at least one attended project. Only counted while still alive (no zombie streaks).
  • Officer roles — current term shown if the member holds a position
  • Chairperson assignments — count of projects they're currently chairing

Activities

Full filterable list — Upcoming · Past · Chairing tabs. Each row shows the activity title, date, and the member's status pill (✓ Attended / 📅 RSVP'd / 👑 Chairing / — Missed / ❓ No-RSVP). Tap into a row for activity details.

Chairperson dashboard

When a member is assigned as chairperson on an activity, they get a dedicated dashboard at /portal/[slug]/chairperson/[activityId] where they manage that activity from start to finish — no admin login needed.

  • Attendance check-in — manual headcount, sign-in sheet photo uploads.
  • Documents — upload supporting files (programs, contracts, vendor quotes).
  • Expense liquidations — line-by-line expense entry with receipts.
  • Post-Activity Report — fill in the field schema admin configured. Save draft any time; submit when ready.
  • Liquidation Sheet — same workflow. Submit kicks off the approval flow.
  • Custom forms — any custom form types your org has added (Officer Election Reports, Discipline Reports, etc.).
  • Comments thread — talk to officers + admins reviewing the submission. Officers reply, chairperson sees the response in-portal.

Approving submissions (officers only)

When a member holds a position assigned to a custom-form approval stage and a chairperson submits something, it appears under Pending your approval on the portal home, and they can approve or reject from /portal/[slug]/review/[id]:

  • Read-only view of the full submission with every field the chairperson filled in.
  • Approve / Reject buttons. Notes are required when rejecting (so the chairperson knows what to fix).
  • If the member holds multiple positions in the stage, an "Acting as" picker lets them pick which position to sign as. Active approval delegations show with a "via delegation" label.
  • Comments thread for clarifying questions before deciding.
  • Audit trail of every step — who approved what, when, and via which position.

Profile

Every member maintains their own profile so the chapter secretary doesn't have to chase updates.

Profile photo with cropper

Member uploads → built-in 1:1 round cropper (zoom + rotate) → auto-compression to webp → R2 storage. Same component used on the admin side, so the look is consistent.

Custom fields

Whatever you defined in Settings → Member Registration Form shows up here. Per-field flags decide what members see and edit:

  • showOnProfile — surface on the portal profile
  • memberEditable — member can update it themselves

Admin-managed (read-only to member)

  • Full name
  • Membership type
  • Member ID
  • Status
  • Join date
  • Birthday
  • Custom fields where memberEditable=false

Editable by member

  • Photo
  • Email address
  • Phone number
  • Address (street, city, state, ZIP, country)
  • Social media links
  • Custom fields where memberEditable=true

Every change a member makes is recorded in the Activity Log with the source tagged as member-portal. Admins can see exactly which fields were modified and when.

Dues

A complete history of the member's dues and payments:

  • Summary — total outstanding balance and total paid all-time
  • Period cards — each dues period with name, date range, due date, status
  • Status badges — Paid, Partial, Unpaid, Overdue, or Waived
  • Payment details — expand a period to see individual payments (date, amount, method, reference)
  • Late fees & waivers — shown when applicable

Members can view their dues but cannot record payments themselves. Payment recording is admin-only — the treasurer sees it in the same place she always has, and the member sees it appear here once it's logged.

Security & Privacy

How It's Protected

  • No passwords stored — Each login uses a fresh one-time code, so there are no passwords to leak or forget
  • Session isolation — Portal sessions are completely separate from admin sessions. A member logging in cannot access any admin features
  • Org-scoped data — Members can only see their own data within their organization. They cannot view other members' information
  • Instant revocation — If you deactivate a member or disable the portal, their session is immediately invalid on the next page load
  • Bot protection — The login form uses ALTCHA proof-of-work challenges to prevent automated attacks
  • Code limits — Login codes expire after 15 minutes and are locked after 5 failed attempts
  • Audit trail — All profile changes made by members are logged in the Activity Log

Frequently Asked Questions

A member says they can't log in. What should I check?

Three things, in order: (1) verify they're using the email your chapter has on file — if they typed a different one (work vs personal), the system silently doesn't send a code, on purpose, to prevent enumeration. (2) Status must be active — pending / inactive / suspended / deceased can't log in. (3) Confirm the portal is enabled in Settings → Organization.

How does RSVP work? Does the member need to be at the venue?

RSVP just commits the member to attend — it doesn't check them in. Tap I'M IN on the portal home → an attendee row is created with status "registered." On the day of the event, an admin or chairperson marks them "attended" via the activity check-in or kiosk flow. The member sees their stats update accordingly.

How is "Active Member" calculated?

By default, a member with 3 or more attended projects in the current quarter shows the "Active Member ✓" pill on their portal home. The threshold is fixed for now but designed to be per-org configurable in the future. Members below the threshold see a soft prompt instead (e.g. "2 more this quarter for Active Member").

Can members change their own name or membership type?

No. Name, membership type, status, member ID, and birthday are admin-managed fields. Members can edit their photo, contact info (email, phone, address, social links), and any custom fields you marked memberEditable.

Can members pay their dues through the portal?

Not currently. The portal is read-only for dues — members can see what they owe and their payment history, but payment recording is still done by admins.

Is the portal a separate app from the admin dashboard?

Yes. The portal has its own login system (magic codes, not passwords), its own layout, and its own session. It's designed for members, not admins. Admin features are never accessible from the portal.

What happens if I disable the portal while members are logged in?

Their session becomes invalid immediately. On their next page load or navigation, they'll be redirected to the login page which will show "Portal not available."

Two members share the same email. Can they both log in?

Not reliably. The portal returns generic success on a duplicate-email login attempt (to prevent enumeration), so the member sees "code sent" but no email arrives. The fix is at the data layer: make sure each member has a unique email address. The Apply-to-Join flow already runs a duplicate check at approval time, so future members shouldn't collide.

Member Badge

When admins enable the Member Badge feature, a My Badge nav entry appears in the portal sidebar. Members open it to see their digital ID — photo, name, ID number, status pill, membership type, joined date, plus admin-opted-in custom fields, and a signed QR code at the bottom.

How it works

  • The QR refreshes every page-view (24h expiry), so a stolen screenshot stops working within a day.
  • Admins or officers at the door scan the QR with their own admin scanner — full- screen verdict shows the member's live status (Active / Inactive / Suspended) plus identity. Verification works even if the scanning device is offline beyond the initial verify call.
  • The same QR also works on the event's public check-in/registration link and on the activity kiosk. Members tap "Scan my Member Badge", point at their own QR, and they're checked in instantly — no email or magic code needed.
  • The visual look (accent color, layout, header style, photo frame, etc.) is admin-customizable per org, so each chapter can theme their badges to match their branding.

Tip for members: add the badge URL to your phone home screen for instant access at the door — no need to log back in mid-event.

Tips

  • Approving a pending member triggers an automatic welcome email from noreply@orgbasehq.com (only when the member has an email on file). When the portal is enabled, the email includes a sign-in CTA so the member knows where to go and which address to use. When the portal is disabled the email skips that section — you don't need to flip the toggle just to send welcomes.
  • Tell members about the Org Finder URL orgbasehq.com/portal as a fallback — they type the org name, find the right portal. Keeps you out of trouble if they forget the slug.
  • Set up Settings → Member Registration Form with the fields your chapter actually wants on profiles (occupation, batch year, t-shirt size, etc.). Toggling memberEditable on each one decides what members can keep current themselves.
  • Keep dues periods up to date — members see "outstanding" calculated live from those periods, so out-of-date data shows up as wrong balances.
  • Periodically review the Activity Log filtered to source=member-portal to see what members have been updating themselves.
  • If a member leaves, deactivating them immediately revokes portal access on the next page load — no password reset needed.