Skip to content
All work

Web · API · iOS · Android

E-Metric Jobs

A job marketplace with real-time hiring workflows

A hiring platform serving three distinct audiences from one API — job seekers, employers and an internal admin team — with real-time messaging, subscriptions and queue-backed notifications. A Next.js web app and an Expo client for candidates on the move.

Role
Fullstack — Express/Prisma API, Next.js app, Expo client
Timeline
2024 — Present
Platforms
Web, API, iOS, Android
Status
Shipped

What went into it

  • 01

    Three role-scoped surfaces — seeker, employer and admin — built as parallel slices through the same four layers, so a route table never touches Prisma and a service never touches req or res.

  • 02

    Authorisation mounted once at the admin router rather than per sub-route. The previous arrangement left every admin endpoint authenticated but unauthorised — any signed-in job seeker could reach a user-deletion route.

  • 03

    Background work moved off the request path onto BullMQ and Redis — transactional email, notification fan-out and scheduled sweeps run as jobs, not as blocking handlers.

  • 04

    Real-time messaging between employers and applicants over Socket.IO, alongside a REST surface validated with Zod at every boundary.

  • 05

    An admin console covering user management, listings, subscriptions, broadcast and analytics, with trend figures computed from real data rather than hardcoded into the stat cards.

  • 06

    A separate Expo client for candidates, sharing the same API and auth model as the web app.

Built with

Next.jsTypeScriptNode.jsExpressPrismaPostgreSQLBullMQRedis
Available for new work

Have something you need built?

Tell me what you're working on and what it needs to do. I'll come back within two days with an honest read on scope, approach and timeline.