Crypto Trading Algorithm
Work in Progress
My current project is a cryptocurrency trading algorithm. Previously I built an Ethereum mining rig as an experiment and used it to mine several different coins. I always knew it would be a short-term operation as proof-of-work mining comes to an end, but I wanted to continue earning passive income from cryptos. The way forward is a combination of earning rewards for owning various coins (proof-of-stake), and automatically trading coins as their currency pairs fluctuate.
This is currently a work in progress - watch this space.
New Personal Website
Gatsby
React
TypeScript
Tailwind
Framer Motion
Having not touched my personal website in several years it was time for a refresh! I had purposely kept my previous website very simple, with just a bit of HTML 5 and CSS 3 on a single page. This time I wanted something that was a bit more sophisticated, with animations and a blog, and a number of different pages. I decided to rebuild my site using Gatsby and TypeScript as these were technologies I already was familiar with.
I would also be able to build a blog that worked for me, rather than being forced to use a paid blogging platform or a clunky legacy tool such as WordPress. Gatsby allowed me to write my blog in Markdown which was ideal and I could easily customise any functionality or design elements I didn't like. For animations, I used the Framer Motion library.
Source code: GitLab
Monzo Money Manager
Go
Monzo API
RESTful
I'd been looking for a personal project to build in Go for a while, but in order for me to invest time into it, it needed to be something that would be useful in my everyday life. At the time, I had become frustrated with the limitations of managing my money in Monzo and across various pots. I knew Monzo had a customer-facing API open to all, so I decided to see what I could do with it.
After some experimentation, my Go project ended up as an automated tool where I could set my goals (i.e. save up for this purchase, or pay off that credit card, etc) and have it manage my money for me. Each week, depending on how I was progressing towards my financial goals and what my spending had been like, my project would parcel out money into the various pots.
I paired this with Monzo Premium's virtual cards, so I could only spend what was available in each pot as determined by my code. I setup pots for various purchases I wanted to make, pots for health, holidays, disposable income, bills, and so on. The next revision of this project will likely be something that analyses my spending and points out areas where I can make savings, i.e. on subscriptions I rarely use.
Crypto Mining Rig
Nvidia
RTX 3090
ETH
Linux
During the Covid lockdowns I decided I wanted to learn more about how cryptocurrencies work and I figured the best way to do that was just to jump right in and start mining them. I also hoped to earn a little bit of passive income before the Ethereum 2.0 update (switching from proof-of-work to proof-of-stake) ended profitable mining on consumer-grade hardware for good.
I built an open-air case out of wood from my local DIY store, and outfit it with 3x Nvidia RTX 3090 GPUs, low cost AMD CPU, MSI motherboard, and RAM, and a high-efficiency 1300W Antec Signature PSU. I also installed PSU riser boards so I could mount the GPUs vertically for better airflow and heat exhaust.
Once built, I installed the mining OS Hive and configured my chosen mining software, GMiner. Hive provided a very useful dashboard giving me live information on the state of my mining rig, including GPU temperatures, fan speeds, errors, and so on. Over time, I was able to double the profitability of my rig by overclocking the GPUs, optimising power consumption, and providing it with cooler, ambient airflow.