Complify
Complify is my final-year university project at the University of Leicester, awarded 70.59% overall. It is a web app for managing compliance work: tasks, teamwork, chat, and reporting, built as a Next.js full-stack TypeScript project.
Live site: complify.priyaa.uk
University project
I developed Complify as part of my BSc Computer Science degree at the University of Leicester. The brief was to design and build a substantial software system that solved a real-world problem. I chose compliance operations because of my professional experience in financial crime and regulatory work at Zero Fintech.
The project was assessed on requirements, implementation, testing, documentation, and demonstration. I achieved 70.59% overall, with strong marks for the technical build, automated test coverage, and the relevance of the domain model to real compliance workflows.
What it is
Complify is a compliance operations tool. Users sign in, manage compliance items (tasks), collaborate in team chat, and (with the right role) use analytics and admin features.
It gives teams a single place to track compliance work (status, risk, priority, due dates, and assignees), discuss it in context through chat, mentions, and task links, and review activity through notifications and audit-related APIs.
Main features
- Task / compliance item management: create, filter, assign, and update items; board and calendar views; regulation tags and resolution fields.
- Roles: role-based behaviour (manager, analyst, reviewer, admin) for visibility and actions.
- Team chat: channels and direct messages; threaded replies; reactions; file attachments; optional links to tasks.
- Notifications: in-app notifications for chat and task events.
- Analytics: dashboard-style analytics for authorised roles.
- Administration: user approval, invitations, and related admin APIs.
- Audit support: server-side audit logging and audit log API.
- Scheduled email reminders: optional cron route for due-date reminders via Resend.
Tech stack
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| UI | React 19, TypeScript, Tailwind CSS 4 |
| Database | PostgreSQL |
| Auth | Cookie/session flows with JWT; passwords hashed with bcryptjs |
| Chat encryption | AES-256-GCM for message content |
| Testing | Vitest, Testing Library, Playwright (E2E) |
Architecture highlights
- Database migrations: numbered SQL files applied in sorted order via a migration script.
- API routes: REST-style JSON endpoints under the Next.js App Router.
- Shared libraries: auth, audit logging, encryption, and chat helpers in
src/lib/. - Quality checks: type-checking, production builds, unit/component tests, and Playwright E2E coverage.
What I learned
Building Complify for the University of Leicester combined my compliance domain knowledge with full-stack engineering: designing role-based workflows, securing chat with encryption, structuring a PostgreSQL schema with migrations, and delivering a production-ready application with automated tests. The app is live at complify.priyaa.uk.