Skip to main content
Portfolio
Back to Portfolio
Company Management & Portfolio PlatformLive · Production

Aurora General PLC

A multi-feature company management platform for Aurora General PLC covering their public-facing company profile, products and services showcase, job postings and applicant tracking, CRM for client relationships, and a dynamic blog for content publishing — all managed through a single admin interface.

Client

Aurora General PLC

My Role

Full Stack Developer

Timeline

Oct 2024 – Jan 2025

Status

Live · Production

Next.jsNode.jsMongoDBReactTailwind CSSJWT
Aurora General PLC
The Problem

Aurora operated with a static website and spreadsheet-based job and client tracking. They needed a platform where marketing could publish content, HR could manage job postings and applicants, and business development could track client interactions — without relying on the engineering team for routine updates.

System Architecture

A Next.js full-stack application using server-side rendering for SEO-critical public pages and client-side rendering for the authenticated admin panel. MongoDB stores all content as flexible documents. An admin authentication layer restricts content management to authorised users.

Public Site

SSR-rendered pages for company profile, products, services, jobs, and blog — optimised for search engine indexing.

Next.jsSSRTailwind CSS
Admin Panel

Authenticated CMS for managing all content types: products, services, blog posts, job listings, applicants, and CRM entries.

Next.jsReactClient-side Auth
API Layer

Next.js API routes handling all CRUD operations for content, job applications, and CRM records.

Node.jsNext.js API RoutesREST
Database

MongoDB for all content types with flexible schemas allowing marketing to add custom fields without code changes.

MongoDBMongoose
My Contributions
  • 1

    Designed the information architecture covering six content domains (company profile, products, jobs, applicants, CRM, blog) and their relationships.

  • 2

    Built the full admin CMS allowing non-technical staff to manage all content types without developer intervention.

  • 3

    Implemented the job application pipeline: posting creation, public application form, applicant tracking with status progression (received → reviewing → shortlisted → hired/rejected).

  • 4

    Built the CRM module for tracking client interactions, contact history, and deal stages.

  • 5

    Optimised public pages for SEO using Next.js SSR, structured metadata, and semantic HTML.

Engineering Challenges

Multi-Role Content Management Without Complexity

Marketing, HR, and business development each had different content domains and needed intuitive interfaces without learning a complex CMS. Built role-scoped admin views where each department only sees and manages their relevant content types — reducing cognitive load while enforcing access boundaries.

SEO for a Dynamic Content Platform

Job listings and blog posts needed to be discoverable by search engines despite being database-driven. Used Next.js getServerSideProps for all public-facing routes, generating fully rendered HTML that search engine crawlers could index — achieving proper SEO without a separate static site.

Applicant Tracking Without a Dedicated ATS

Building a full ATS from scratch was out of scope, but HR needed structured applicant progression. Modelled applicants as state-machine documents with status transitions and email notification hooks — giving HR the core ATS flow they needed without over-engineering the solution.

Results & Impact

Six business domains (profile, products, jobs, applicants, CRM, blog) managed through a single admin interface

Non-technical staff self-managing all content updates without developer involvement

SSR-rendered public pages indexed by search engines from launch day

Full applicant tracking pipeline digitising Aurora's hiring workflow

Key Takeaway

A well-scoped internal tool often delivers more business value than a sophisticated external one. By scoping the admin CMS to exactly what each role needed — no more, no less — adoption was immediate. The platform was in active daily use by non-technical staff from week one.