(Selected work)
Four systems, one open-source project, and the decisions behind them.
Each entry states the real problem, one engineering decision, and the proof that the behaviour is what the design claims. Scope notes say what is deliberately not claimed.
(Featured work)
Flagship systems
Ordered LYTA, PARTHA, KALYX, ReturnProof. Open any system for its full case study.
Animated diagram: documents orbit a persistent workspace core; a retrieved document lights up and streams a cited answer. 01 · Live
LYTA
An edge-native workspace with persistent files, cited retrieval, and resilient streaming.
- TypeScript
- Cloudflare Workers
- Durable Objects
- Workers AI
- SSE
Animated diagram: scattered repository files resolve into a layered architecture map, with a provenance path traced back to source. 02 · Pre-alpha prototype
PARTHA
Repository intelligence that turns fragmented codebase knowledge into structured evidence.
- React
- TypeScript
- FastAPI
- Python
- PostgreSQL
Animated diagram: a hash-linked chain of records passes a verifier that flags the tampered record where the chain breaks, with checkpoints anchored below. 03 · Academic dissertation
KALYX
Tamper-evident execution history with deterministic trust verification.
- Python
- FastAPI
- Angular
- Raspberry Pi
- eBPF
Animated diagram: conflicting warehouse and supplier streams meet a resolver and leave as ordered per-field lanes into an append-only ledger. 04 · Active project
ReturnProof
Deterministic evidence reconciliation for conflicting returns data.
- Python
- Pydantic
- Typer
- Django
- Django Ninja
05 · Open source · OWASP
OWASP OpenShield
An OWASP Incubator Project for Azure cloud security posture management. As an official maintainer, I review and merge pull requests, triage issues and track the roadmap, and I’m CODEOWNER for its tests and documentation.
Explore OWASP OpenShield(More projects)
Independent builds and coursework
Smaller projects, kept deliberately lighter than the flagship systems. Expand any entry for detail.
I1TrevadIndependentExpandCollapse
A balance check can say a purchase is affordable while a bill due before payday still pushes the account below its minimum. Trevad forecasts every day of the next 90 and recommends the safest way to pay.
- Day-by-day 90-day cash-flow forecast rebuilt from transactions and messages
- Recommends paying in full, in part, by seller installments, waiting, or not proceeding
- Every candidate plan is replayed and only plans that never breach the minimum balance can be chosen
- Messages can change cash flows, never the decision; instruction-like text is detected and ignored
- Deterministic decisions checked by a separate validator before they are returned
- CLI, FastAPI API and web interface all call the same decision engine
- pytest scenario and product tests
Python · FastAPI · Pydantic · pytest
Scope note: Demonstrated on synthetic data. It is not financial advice or a regulated lending decision.
Repository ↗C1Payment Routing SystemCourseworkExpandCollapse
Payment operations need visibility into provider attempts, latency, status, and who is authorised to act on a payment.
- Angular full-stack operations workspace
- Flask API and MongoDB
- JWT authentication
- Merchant, finance, and admin roles
- Server-side merchant data scoping
- Provider-attempt history
- Search, filtering, sorting, pagination, dashboards, and analytics
- Automated frontend and backend tests
Angular · TypeScript · Flask · MongoDB · JWT · Chart.js · Vitest
Scope note: It records and exposes routing attempts. It is not an automated payment-provider selection engine.
Repository ↗C2FieldSightCourseworkExpandCollapse
Field researchers need to submit structured environmental observations with photo evidence into a searchable cloud system.
- Express API deployed on Azure App Service
- Cosmos DB for metadata
- Blob Storage for images
- API-key protected routes
- Timing-safe API-key comparison
- Application Insights telemetry
- GitHub Actions deployment
- Deliberate cost and scaling trade-offs
Node.js · Express · Azure App Service · Cosmos DB · Blob Storage · Application Insights · GitHub Actions
Scope note: Azure AD, Managed Identity, autoscaling and rate limiting are not implemented.
Repository ↗C3SecureSenseCourseworkExpandCollapse
Tamper detection often sends raw sensor data to a remote server, increasing latency and privacy exposure. SecureSense performs inference on-device.
- Arduino Nano 33 BLE Sense
- Motion, light, and proximity data
- 45 deterministic IMU and light/proximity features
- 100-tree random forest running on the device
- Independent session split to reduce leakage
- Held-out Session 3 result: 83.33% accuracy and 0.8324 macro-F1
- Five-window live voting result: 86.67%
- Mean on-device inference: 236.68 µs
- Local Flask security console for evidence logging
Arduino Nano 33 BLE Sense · Embedded C++ · Python · Random forest · Flask
Scope note: Academic/embedded coursework, not a commercial security product.
Repository ↗