Full-stack development
The languages, frameworks, platforms and practices I use to build and run web and mobile applications.
Backend and RESTful APIs
- Go (Golang): high-performance REST APIs and backend services, concurrency with goroutines and channels, middleware, and clean, testable service architecture
- RESTful API design with NestJS and Prisma
- Node.js / Express / MongoDB (MEAN stack)
- Serverless functions: Supabase Edge Functions, Cloud Run functions and Firebase Cloud Functions
- Real-time features with Supabase Realtime, Socket.io and Firestore listeners
- Python / LangGraph agent services alongside TypeScript and Go APIs
- Transactional email, inbound email parsing via webhooks, PDF generation (Playwright + Handlebars, WeasyPrint)
- Google Apps Script web apps used in production for academic operations
Frontend web development
- Angular with NgRx Store, SignalStore and Signals for layered state management
- Next.js applications in monorepo setups
- React and TanStack Start
- Tailwind CSS, responsive dashboards, admin consoles and role-based portals
- UI and brand design: app icons, animated login experiences, Material Design redesigns
Mobile app development
- Flutter cross-platform apps with a Firebase backend
- Ionic + Capacitor hybrid apps, including native builds with offline audio
- Native Android with Kotlin and Jetpack Compose: MVVM, Room, Retrofit, Navigation, StateFlow
- Push notifications (FCM), Firebase Analytics and Crashlytics, biometric login with PIN fallback
- App store release management: TestFlight, App Store Connect, Google Play Console, iOS Kids Category compliance
Databases and data modelling
- PostgreSQL schema design at depth: row-level security, partitioning, triggers, concurrency and deadlock testing
- Multi-tenant data isolation and identity modelling
- Prisma ORM, Supabase, pgvector for embeddings
- Firestore data modelling and security rules
- Redis for caching and rate limiting
- Immutable versioning, diff views and audit logs
- Zero-downtime schema changes using the expand–contract pattern
Supabase development
- Supabase as the core backend across multiple production and in-development projects
- PostgreSQL on Supabase: schema design, migrations, triggers, functions and views
- Row-level security policies for multi-tenant isolation and role-based data access
- Supabase Auth: email, OAuth/social sign-in and SSO, with user roles tied to RLS
- Supabase Storage for documents, images and media, with access policies
- Database branching linked to preview deployments for safe pre-production testing
Cloud development (AWS and GCP)
- AWS: ECS, RDS, ElastiCache, S3 + CloudFront, WAF, Textract
- GCP: Cloud Run, Cloud SQL, Memorystore, Cloud Storage, Firestore, Compute Engine, Vertex AI
- Firebase Hosting, Auth, Storage, Firestore
- Vercel, Cloudflare (R2 storage, Email Routing), Railway
- Cloud cost analysis and platform selection, including regional hosting for data sovereignty
DevOps, CI/CD and infrastructure
- CI/CD pipelines with GitHub Actions, including automated hosting deploys and reusable workflows with least-privilege permissions
- Infrastructure as Code with Terraform
- Docker containerisation for backend services and local test environments
- Nx monorepos with shared models, interfaces and configuration across multiple apps
- Blue/green and zero-downtime deployment, preview environments, feature flags
- Linux VM setup and process management (PM2, systemd)
- Self-hosted GitLab administration and automation via API
Authentication, security and compliance
- SSO with Google and Microsoft
- Role-based access control with multi-level role hierarchies
- API hardening: WAF, rate limiting, XSS prevention, RLS policy testing
- Privacy and regulatory awareness: Australian Privacy Principles, EU AI Act, healthcare identity requirements
Testing, quality and observability
- Sentry and PostHog for error tracking and product analytics
- Automated and live end-to-end testing with Playwright, Chrome DevTools, Maestro and simulator/emulator tooling
- Feature inventories with traceable test cases per user role
- Adversarial database testing against live PostgreSQL instances
- Performance debugging and memory-leak diagnosis
AI integration
- LLM features in production apps: document processing, AI-assisted content drafting with human review
- Agent orchestration with LangGraph, vector search with pgvector
- AI-assisted marking pipelines with multi-agent workflows
- MCP server integration and AI-driven development workflows (Claude Code, git worktrees, codebase knowledge graphs)
Integrations and standards
- LTI 1.3 and Moodle integration
- HL7 FHIR / LOINC healthcare interoperability
- Third-party REST APIs, Google Workspace APIs, GitLab API
Architecture and product engineering
- Multi-tenant SaaS architecture, multi-app monorepos, modular agent architecture
- End-to-end product definition: market research → PRD → data model → target architecture
- Phased delivery plans with verification checkpoints
Work with me
For a software project or collaboration, write to [email protected]. The broader picture is on the Expertise page.