Contents #
Those are some of the projects I have been involved with. They are arranged chronologically within two categories - Professional and Hobby, but the line between those two is blurry. Some of the professional projects were pretty small, some hobby projects took months of full-time work.
Professional #
Tailstock #
year: 2020-2026
project: Various
I sometimes work as a freelance consultant on projects, under the umbrella of Tailstock Research. I mostly work by myself, but for larger tasks I collaborate with other engineers and consultants. You can find some of the projects that I've been involved in below.
Luft #
year: 2022-2024
project: Startup - decarbonising residential heating
At Luft, my cofounder and I worked on cleaning up residential heating, which is one of the lowest-hanging fruit of the energy transition, but it is not decarbonising as fast as it should be. We looked at a bunch of ways of doing it, from tiny residential heat pumps to city-sized large thermal energy storages. We got some grant funding, made the project investment ready, and found angels who were going to fund us, but eventually we decided that home heating is not where out hearts were, so we shut it down.
I learned a lot about entrepreneurship, the built environment, and project finance.
Luft also got me interested in the energy system and technoeconomic analysis (TEA). You can see one of our TEAs here. This led to my subsequent work on atlite and optimali-tea.
Entrepreneurs First - hardware collaboration tools #
year: 2021
Project: Company builder - hardware project management tools
I was curious about startups, so I joined Entrepreneurs First to learn about entrepreneurship. EF is one of the pioneers of venture building. They connect people who may often have no idea what they'd like to build, teach them about customer development, and help them create a team and a company.
I've always been frustrated with tools for collaborating on hardware projects. Software engineers have great tools available to them for free, whereas mechanical engineers often share CAD files via email. I used my time at EF to dig deeper into this problem. In a small team, we conducted tens of interviews with engineers and project managers who work on hardware products, asking them about the tools and methods they use to manage their files and projects. Our findings are summarised on the board below.
Silly side project - Confusius #
During my time at EF, I had moments of frustration with startup culture, so I wrote a quick Slack bot "trained" on a dataset of 600+ startup quotes to respond to announcements on the EF Slace. It used the following sophisticated natural language processing algorithm to generate plausibly-sounding quotes:
function generateQuote(realQuotes) {
let strs = [];
for (quote of realQuotes) {
strs.push(getRandom(quote.split(/[.?]/).filter((str) => str)).trim());
}
return strs.join(". ") + ".";
}
I called the bot Confusius. Most of the time, it worked scarily well. This was right at the beginning of the LLM hype cycle, so some people believed it was pretty sophisticated.

Artemis - industrial hydraulics #
year: 2018
project: Design, testing, control of hydraulic machinery
Artemis Intelligent Power was a spin-out from Edinburgh University. They invented a new type of hydraulic machine, much more efficient and controllable than state-of-the art. Artemis is where I learned how to do real engineering. I first joined them for an industrial internship, and then came back straight after university for my first job. First, I was part of their mechanical design team, where I designed, assembled, and tested 100kW+ machines. Work at Artemis was very hands on - they taught me how to run a lathe and a mill, how to build hydraulic circuits, how to instrument test rigs, how to work with technicians and suppliers etc. Then, I joined the Controls team, where I worked on the models and software that controlled the machines. I learned how to build dynamic models in Matlab/Simulink, how to build electronics and control systems, how to design things etc.
Silly side project - DDPlayer #
During my time at Artemis, I realised that the valves on their machines switch so fast, that they could be used to play music. I hacked a pump controller, connected a MIDI keyboard to a Raspberry Pi, wrote some C to interface between the two, and got this:
UHTS - energy storage #
year: 2017
project: Control system for an energy storage rig
UHTS stands for Ultra-High Temperature Energy Storage - storing energy at grid scale, in a well-insulated lump of molten metal. I worked for a research group led by dr Adam Robinson, which was later spun-out as Exergy3. My job was to develop a control system for their first prototype.
My system took data from 100 thermocouples (which we soldered ourselves!) and PI controlled a bank of heaters. To keep costs low, I designed my own thermocouple data acquisition boards and power electronics.

Hobby #
Optimali-tea #
year: 2026
project: Technoeconomic modelling framework
Technoeconomic analysis (TEA) is a powerful tool for establishing if something makes sense. Many ideas in deep tech, especially in energy, can be disproved with back-of-a-napkin calculations. However, some seemingly insane projects turn out to make sense if you do the math right. When Tesla installed the world's largest grid-scale battery in Hornsdale, Australia, many people said it would never pay for itself - they were wrong because they did not understand how time-varying electricity prices and revenue stacking can be exploited on the electricity market. Today, many people think that industrial heat pumps do not make economic sense, because they do not understand how they can be combined with onsite solar, storage, and gas to deliver heat cheaper than gas.
I learned technoeconomic modelling at Luft, I have done it for clients at Tailstock, and I have never been happy about the tools and that are out there, especially when it comes to modelling dynamic systems with renewables, varying electricity prices etc. - tools for cases when intuition fails.
To help people think about such systems, I am building optimali-tea - a toolkit for creating TEAs for dynamic systems. It's based on PyPSA - an optimisation framework for energy systems.
You can follow the project on GitHub.
Side project - ERA5-EDH #
While working on optimali-tea, I needed a source for timeseries of PV and wind generation at a given location. A really cool package that provides those is atlite. A significant issue with atlite is that it sometimes processing data takes hours and consumes much more disk space and memory than is required. I went on a yak shave to fix that, which will (hopefully soon) result in my first substantial open-source contribution!
Recurse center #
year: 2021
project: Programming retreat
I'm a member of Recurse Center - a programming community focused on self-directed learning. . In 2021 I took three months off to attend an RC batch and improve my knowledge of computer science fundamentals.
RCs is the most wholesome engineering community I've encountered.
If you'd like to become a better programmer, I highly recommend that you also join the Recurse Center!
Side project #
To give back to RC, I organised a tiny hackathon during our 2021 get together. It was fun to see people building cool stuff for our shared virtual space.

Shield Force #
year: 2020
project: PPE manufacturing organisation
At the start of the COVID-19 pandemic, I got together with a few friends from the Edinburgh Hacklab to think how we could use our skills to help during the crisis. A friendly doctor said that she could not buy face shields - an indispensable piece of PPE for healthcare workers working with infectious patients.
We immediately produced 5 prototypes based on available open-source designs, and collected feedback from ICUs. We set up a manufacturing facility for the winning design, staffed by volunteers from the local community. We built an automated 3D printer farm and optimised it for speed. Within a week, we were producing 500 units per day. Within two - 1000. This still wasn't enough to keep up with the demand, so we quickly moved to injection moulding.
Our injection moulded design went through 13 iterations with clinicians (within two weeks). We optimised everything, from the optical properties of the transparent visor, to the stiffness of the headband. This close feedback loop paid off - doctors preferred our final design to the ones they used to buy from regular suppliers. Our shield passed CE testing to EN166 standard at the first go. We eventually delivered almost 50000 shields to hospitals all around the world, from the Scottish Borders to Bethlehem in Palestine.
This was my first attempt at building an organisation. In addition to managing projects and people, I was responsible for operations - setting up and scaling the factory, ordering parts and supplies, maintaining cash flow etc. We grew exponentially - from a handful of people to over 100 within a month, and so did our production capability. Fortunately, after 4 months, we were no longer needed, as conventional suppliers have caught up with demand.
This work was featured in the BBC, The Guardian, The Scotsman, and The Herald.


Teaching a robot to walk #
year: 2019
project: Soft robotics platform controlled by a deep reinforcement learning algorithm
I saw a video of a Reinforcement Learning (RL) algorithm learning how to walk on a four-legged simulated robot, and I decided to build a real-life version of it for my Master's thesis. My advisor, dr Adam Stokes from the Soft Systems Group at the University of Edinburgh, was exploring control methods for soft robots at the time;he suggested that I use a soft robot as my test platform.
Soft robots are made from compliant materials, which makes them robust and safe when interacting with humans, but also difficult to control using conventional methods, and computationally expensive to simulate. In my thesis I applied RL to teach a robot to walk, in real time, on physical hardware.
I built the entire technology stack for this project.
- Cast my own soft robots out of silicone, in a DIY vacuum chamber.
- Built a fluidic control board to power them.
- Instrumented the robot with pressure sensors, an IMU, and a computer-vision-based position tracking system.
- Wrote low-level firmware to control the hardware, and abstracted it away as an OpenAI gym environment.
- Adapted a model-based deep reinforcement learning control algorithm which tried to learn how to walk forward on the robot.
The robot learned how to move forward. It was of course much slower than hand-coded, open-loop control methods, but it developed two distinct, novel gaits. You can find more details in my thesis.




Talks #
Degoogle your everything #
A workshop on alternatives to Google services, given during Hack Together 2021.
Slides are available here.
Secure organising in the digital age #
A lightning talk about (lack of) security culture in activism that I gave during RC3 (the remote Chaos Comunication Congress).
Slides available here.