Yours is about the worst code I’ve ever seen. But it runs.
The thing about pet projects when your day job centres around Software Engineering, IT Operations Management and Technical Project and Programme Management, is that when it comes to personal projects where you are the sole consumer, there aren’t necessarily standards, your code doesn’t have to be as well documented, unit tests don’t need to be as thorough and things might not quite perform under load, and that’s ok. Coding becomes fun again. I’m not worried about peer review, I’m worried about whether it works.
What’s not OK is when an influencer finds your URL, thinks that it is cool and shares it with their thousands of followers and then the proverbial wheels fall off, the platform performance degrades and the user experience deteriorates. It was in equal measures amazing to be recognised as providing something of value and terrifying as I watched the resources on the lowly shared server get consumed and the site ground to a halt.
That’s when things come back to bite you. In my day job, I wouldn’t stand for this, I’d demand immediate peer review and investigation into the circumstances, cause and effect and be responsible for a comprehensive Root Cause Analysis with Lessons Learnt to present to the board with fear of my head being put on a spike for the shoddy engineering that happened under my watch or by my own coding.
To be honest, I treated it just like that. ‘Current me’ looked at the work of ‘Old me’ and realised just how far I’d come but also just how terribly implemented some parts of my pet project were. The past week or so has been a whirlwind — the ChartEx data backend has been modernised, simplified and optimised to offer far greater performance at scale, moving from C# WCF into ASP.net Core along the way.
The code has been dissected and refactored and the overall codebase is now much smaller, demanding far fewer system resources and provides a solid foundation for future features and products under the ChartEx banner.
The first new feature to be introduced under this basis is the support for live trading data on Uniswap. This complements the charting features allowing users even greater insight into order flow across the platform.
With this in place, the capability to introduce trading alerts, real-time updates and far more analytical features has began.