What interests me is the inside of a system. How information moves through it, where decisions get stuck, what costs more than it should, and what people are still doing by hand because nobody built the alternative.
I am a chemical engineer by training, which is where I learned to break something complicated into measurable parts, model it under constraints and argue about the trade-offs. That turned out to transfer. A building wasting energy, a kiln that will not reach conversion, a company paying for storage nobody measured, a business run across fourteen spreadsheets. Different subjects, same questions.
The useful part is rarely the tool. It is being willing to go and find out how the thing really works before proposing anything, and then saying what the numbers actually show.
Five systems, four kinds of problem.
An information one, an organisational one, a mathematical one, a physical one and an experimental one. The subjects have little in common; the way into them does. Each one below is its own room.
Where I learned to model a system.
Beirut
Aug 2019 — May 2024 BEng Chemical Engineering, minor in Chemistry American University of Beirut · Dean's Honour List Where I learned to model a system, work inside its constraints and optimise it.An energy system for a city short of both power and waste disposal
An anaerobic digestion plant for 2,000 tonnes of organic waste a day across 27 digesters, paired with an offshore solar, wind and wave platform. 27.6 MW, 241.8 GWh a year.
Barcelona
Why the first seven runs produced nothing
Synthesising a biodegradable packaging film from cellulose. Seven attempts in, still no film, and I had spent all of them changing the separation method.
Ran FTIR on the product instead of guessing again. It matched plain cellulose, which meant the reaction had never started and the separation was never the problem.
Catalyst loading in the published method was too low. Raised it, and every run afterwards produced film. Seventeen of the twenty-four worked once the real fault was found.
Run 24 · the film in the photo
The full run log · 24 vials
Click any vial—
The Gulf & Levant
Where is the energy going, and which fix pays for itself first?
Hotels, warehouses, a university campus and government buildings across the UAE, Saudi Arabia and Lebanon. Every client knew the bills were high. None of them knew which fix paid for itself first, or whether any of them did at all.
Baselines built from utility bills and logger data, each measure sized against the measured baseline rather than a manufacturer's claim, priced through a bill of quantities, then appraised on NPV, IRR and payback with avoided carbon alongside. Solar PV modelled in HelioScope up to around 410 kWp.
184,000 kWh a year identified at one site and 579,000 at another, ranked so the client knew what to do first. The audit work ran to ISO 50002, EN 16247 and ASHRAE 211, and I wrote the proposals and delivered the training in English and Arabic.
Walk an audit, four steps
Click throughA composite site built from the shape of several audits. Figures are representative, not any one client's.
London
A company is a system too, and nobody had measured this one
30+ tenanted properties, and around them tenants, landlords, contractors, engineers, building management, insurers and solicitors. Costs were being paid because they had always been paid, not because anyone had checked them.
Benchmarked the maintenance suppliers against the incumbent and replaced them, which took roughly 40% off contractor spend. Inventoried what was actually in storage, compared the space against what was being paid for, and restructured it: about 73% off the monthly storage bill.
The rest of it is running the operation end to end rather than task by task. Incidents, insurance claims, renovations, move-ins and move-outs, with the same habit underneath: find out how it actually works before changing it.
Who sits around 30+ properties
Hover or tapproperties
What changed on the ledger
Bars are indexed: before = 100.
Tyre pyrolysis in a rotary kiln, heated from the inside
A wall-heated kiln loses energy through the shell. Would induction-heated stainless steel susceptors sitting inside the bed heat it more efficiently?
Built both as 1-D models in MATLAB and compared them on conversion, temperature profile and specific energy demand rather than on the idea.
The susceptors improved early heat transfer and cut specific energy from 1,400 to 1,270 kJ/kg, but conversion fell from 100% to 88.5%. That is a trade-off, not an improvement, and the thesis says so. Following the result when it contradicts the premise is the part worth keeping.
The trade-off, on a slider
DragThe two ends are the modelled cases. Positions in between are a straight line between them, shown only to make the trade-off visible.
Cumene process optimisation
Modelled the full process, then used sensitivity analysis and optimisation to cut modelled total annualised cost by more than 80%.
A short-let operations and analytics dashboard
A short-let operation had outgrown its spreadsheets. Bookings on the platforms, costs in one sheet, documents in a folder, bank records somewhere else. The problem was not a missing dashboard, it was that the operating information of the business was fragmented and no figure could be traced back to anything.
Designed an internal system around the workflow instead of around the spreadsheets. Bookings, expenses, documents, property performance, targets and reporting in one place, with revenue, profit, occupancy, ADR and RevPAR derived from the records rather than cached, and every figure traceable to its source. Documents go upload, extract, review, confirm, and anything confirmed can be undone.
The hard part was the accounting rather than the charts. A property-month can carry revenue from two sources, so each month has one active source and a stay crossing a month boundary splits across both. Managed flats count only the management fee, never the owner's revenue. Get that wrong and every number above it is quietly wrong.
Every figure traces to its records
Pick a figureBuilt with Claude Code. The application is Python, Flask and SQLite; my work was the operational problem, the business rules, how information should flow, the KPI logic, the product and UX direction, and iterating it until it was actually useful. The demo uses synthetic data.
The workshop: smaller builds, same habit.
The public site for the same business
Built end to end: copy, structure, layout and deployment. A filterable portfolio of the London listings. The shopfront for the operation whose internal system is above.
urbannestestates.co.ukClustering 20,609 molecules by structural fingerprint
2,048-bit Morgan fingerprints in RDKit, PCA for reduction, k-means for grouping, with k chosen on inertia and silhouette rather than by eye. Three separated groups, with the scores reported next to them.
A warehouse for CRM and ERP data that disagreed with each other
Bronze, silver and gold layers: raw ingestion kept traceable, then cleansing, deduplication and validation, then a star schema with customer and product dimensions and a sales fact table.
Read the code Machine learning · Python1,030Predicting concrete strength, then optimising the mix
A neural network trained on 1,030 samples to model strength from mix composition and curing age, then used as a surrogate inside a constrained search for high-strength mixes within real engineering bounds.
Read the code Automation · PythonTenancy contracts that cannot go out half-filled
Structured data in, a finished Word contract out. It fails loudly rather than silently: a missing field stops the run and names itself, so a legal document never leaves with a blank in it.
Read the codeWhat I work with.
Engineering & modelling
- MATLAB
- Aspen Plus & HYSYS
- gPROMS
- GAMS
- HelioScope
- AutoCAD
Data & analysis
- Python
- pandas & NumPy
- scikit-learn
- Matplotlib
- SQL / MySQL
- Excel
Engineering & commercial
- Process modelling
- Optimisation
- Energy auditing
- Solar PV modelling
- NPV / IRR / payback
- ISO 50002 · EN 16247 · ASHRAE 211
Delivery & operations
- Technical reporting
- Technical proposals
- Supplier benchmarking
- Contractor management
- Stakeholder coordination
- Training, English & Arabic
The output changes with the problem. The job underneath it does not.