

About
I am a developer by curiosity with a keen interest in technology. Besides challenging myself, I love learning new technologies and languages.
A Computer Programming & Analysis graduate from Durham College with Dean's List honours every semester, I work across the full stack — Python backends, TypeScript frontends, AWS deployments and IBM Mainframe systems. I'm also completing the cybersecurity graduate certificate at Durham — I want to build systems where reliability and security aren't an afterthought.
Skills
What I build, and the projects that prove it.
Infrastructure & Cloud
Linux servers and the cloud they talk to — a home server running media, storage and scheduled backups, and containerized services on AWS: a decoupled Next.js and Flask pair behind an Application Load Balancer on ECS Fargate, images built and pushed to ECR by GitHub Actions on merge. I ran a two-server controller/agent pair that powered the storage box up on demand from real usage, then retired it in favour of one consolidated machine — less to run, less to break. Secrets sit in AWS Secrets Manager, tiers are VPC-separated, and CI authenticates with OIDC instead of long-lived keys.
Mainframe & Enterprise
Enterprise COBOL for high-volume business processing — batch programs orchestrated by JCL that generate inventory, salary-distribution and commission reports, a validation and audit stage that splits clean input from rejects with a printed error report, and CICS transaction programs driven by BMS mapsets, compiled and link-edited into load libraries the way a shop actually does it.
Proven by
Backend & APIs
REST APIs and the data layer behind them — FEFO pantry deduction with unit-aware conversions, household-shared schemas migrated with Alembic, and async fan-out to third-party APIs behind a local cache. Auth is implemented, not bolted on: JWT with Argon2 hashing, least-privilege OAuth 2.0 scope selection, parameterized SQL at every boundary.
Data & Databases
Relational modelling across business domains — a five-module bakery schema spanning inventory and nutrition, production, HR, sales and supply chain, with a bake transaction that depletes stock in one pass — plus ETL that fuses GTFS, PRESTO and maintenance records into per-vehicle wear and per-route stress scores. Parameterized queries and schema-level validation at the boundary are the default, not an add-on.







