guild.com.ng serves Job Seekers, traders, and employers. partners.guild.com.ng serves the financial-services partners — banks, microfinance institutions, insurers, credit fintechs — who read consent-gated snapshots and disburse over our rails.
It’s also a fallback for any user who wants more detail than fits comfortably in a WhatsApp message.
Who uses web
The frontend is a Next.js application. The browser doesn’t talk to backend services directly — every API call goes through Next.js’s own server-side handlers, which sign outbound requests to core-api using
@guild/svc-client. The session is an opaque ULID cookie.
Authentication
No password. Phone number + SMS OTP. Always. The flow:1
Enter your phone number
On
guild.com.ng/sign-in. We send a 6-digit code via OPay SMS.2
Enter the code
Within 10 minutes. After that, request a new one.
3
Session established
httpOnly cookie with an opaque ULID. Scoped to the /api path. SameSite strict. Secure in production.4
Use the dashboard
Every page reads from the session cookie. No re-auth needed for the session’s lifetime.
guild.com.ng/settings.
The dashboard surfaces
Job Seeker dashboard
guild.com.ng/overview. Overview at the top — wallet balance, standing tier, recent applications. Below: tabs for jobs, earnings, standing, savings, and settings.
The single most-viewed page for a Job Seeker is the standing-score page (/standing) — a chart of the tier history with the signals breakdown.
Trader dashboard
guild.com.ng/overview. Trader version of the overview — sales today, velocity trend, virtual account, recent inflows. Below: tabs for sales, inventory (if used), customers, advance offers (if eligible), and settings.
The single most-viewed page for a trader is the sales-velocity page (/sales) — daily inflow chart, distinct-customer count, repeat-rate, and projection toward the next tier.
Employer dashboard
guild.com.ng/overview. Employer version — active jobs, applications awaiting approval, escrow balance, hiring spend. Below: tabs for jobs, applications, workforce reports, escrow management, and settings.
The single most-viewed page is the job-detail page (/jobs/[jobId]) — applicants ranked by the matching model, with approve/reject buttons.
Partner Portal
partners.guild.com.ng. Separate sign-in for partner organisations (banks, microfinance institutions, insurers, credit fintechs). Pages for API key management, consent monitoring, webhook subscriptions, usage statistics.
Details at Partner Portal.
The BFF (Backend-for-Frontend) pattern
The frontend doesn’t talk to core-api directly. It talks to its own Next.js API routes under/api/*, which sign outbound calls to core-api.
Why the BFF:
- The shared secret never reaches the browser. Only the BFF holds
SERVICE_AUTH_SECRET. - The browser sees only opaque cookies. A compromised browser session can do only what its session permits.
- API surface area is intentional. Only the routes the BFF explicitly exposes are callable from the browser. Internal endpoints stay internal.
Mobile-friendly
The web dashboard works on phone browsers as well as laptops. Most Job Seeker activity that does happen on web is on a smartphone browser, not a desktop. The design prioritises legibility on small screens. No tiny tap targets. No dense tables.Real-time updates
Some surfaces (incoming applications for an employer, balance changes for a trader, standing tier moves) update in real time without a manual refresh. We use Server-Sent Events for the push side. A trader watching their dashboard sees a new inflow appear in the transaction list within a few seconds of the customer transfer landing.What you can’t do on web
A few things you can do on voice or WhatsApp but not on web:- Voice signup. The Tola conversational onboarding is a voice rail, not a web flow. The web equivalent is the standard phone-OTP signup.
- Receive job alerts inline. WhatsApp and SMS push job alerts. The web dashboard shows them as a notification badge; you click in to see.
Browser support
Modern browsers — Chrome, Firefox, Safari, Edge, Brave, Opera. Mobile equivalents work too. We don’t actively support IE11 or browsers older than 2 major versions. The frontend uses modern JS and CSS features.Privacy on web
Standard browser-side privacy practices:- No third-party tracking scripts. No Pixel, no GA, no Hotjar, no clarity.ms.
- Cookies are first-party only. The session cookie is
httpOnlyandSameSite=strict. - Localstorage is minimal. A few UI preferences (last viewed tab, theme). No user identifiers.
- Service worker is scoped narrowly. Used for offline caching of static assets, nothing more.
Where to read more
Inter-service communication
How the BFF signs every call.
KYC tiers
The phone-OTP signup baseline.