
Service
Full-Stack Product Architecture & Engineering
Tech Stack
Next.js, Django, Expo / React Native, PostgreSQL, TypeScript, Python, AWS (KMS, S3, CloudTrail)
Live Project
VisitSecuiera: Physical Security Audit & Compliance Platform
Secuiera is a physical security audit and compliance platform for organisations managing multiple sites. As Principal Solutions Architect, I've built full-stack across the product — the marketing site, the dashboard web app, the Django backend API, and the Expo mobile app — as one connected system rather than four independent codebases.
The Problem
Security teams running audits across many sites need a single system that takes an audit from scheduling through assignment, execution, review, and approval, with failed checks turning automatically into tracked corrective work — not a spreadsheet and a shared drive.
What I Built
Audit Engine: The full lifecycle — Draft, Assigned, In progress, Submitted, Under review, Approved, Rejected — with section- and question-level weighting, critical-fail flagging kept separate from the overall score, and a manager review queue.
Evidence Vault: Photo, video, and document evidence attached to the specific question it supports, encrypted with AES-256-GCM under a per-tenant data key wrapped by AWS KMS, with every key access recorded in CloudTrail.
Corrective Actions: Findings raised directly from a failed question, with owners, due dates, priorities, overdue tracking, and a per-action chat thread.
Data isolation: Every query scoped to the requesting organisation, across the web dashboard, the API, and the mobile app, so a cross-tenant read is not expressible.
Architecture
Four repositories working as one product: a Next.js marketing site, a Next.js dashboard frontend, a Django REST backend, and an Expo/React Native mobile app for iOS and Android. Hosting, storage, key management, and outbound email run on AWS.
Outcome
A platform where an audit's full lifecycle — and the corrective work it generates — lives in one system, with evidence handling and tenant isolation treated as first-class engineering requirements rather than afterthoughts.
Results & Impact
Built across the product's four repositories — the Next.js marketing site, the Next.js dashboard, the Django backend API, and the Expo mobile app — as one connected system
Implemented the audit lifecycle end to end (Schedule → Assign → Conduct → Review → Approve) with section- and question-level weighting and critical-fail flagging held separate from the overall score
Built the Evidence Vault: per-question photo, video, and document attachments up to 50MB, encrypted with AES-256-GCM under a per-tenant data key wrapped by AWS KMS, with every key access logged in CloudTrail
Implemented corrective actions raised directly from failed audit questions, with owners, due dates, priorities, overdue tracking, and a per-action chat thread
Scoped every query to the requesting organisation across the stack so cross-tenant reads are not expressible