Frontend and API
I built the React and TypeScript frontend and the Node.js and Express API. Zod schemas are shared between them, so the client and server agree on every request and response.
Data
I rebuilt the data layer on PostgreSQL and Drizzle ORM and wrote the migration from SQLite. It verifies per-table checksums and row counts and rolls back completely on any mismatch.
Sign-in and access
Microsoft Entra ID sign-in uses OAuth 2.0 with PKCE and server-side sessions. Role-based, per-property access control sits under every list, search and download.
Documents
Document storage keeps every version, with full-text search in Postgres and background jobs. I imported the client's SharePoint library through the Microsoft Graph API.
Infrastructure and releases
I manage the infrastructure with Terraform on Google Cloud, Docker and Linux servers. GitHub Actions runs CI/CD into separate staging and production, with monitoring, backups and tested rollbacks.
Testing and AI
Vitest, Playwright and integration tests against a real Postgres database, all run in CI. I added an LLM feature on the OpenAI API.
The code and the product belong to the client, so there's no public demo or screenshot. I'm happy to walk through the design in an interview.