Last day to tango

Well here we are. The final few days of my journey back to the world of web application development before I step out of this world and back to PowerPoints and juggling calendar bookings.

For the past 125 days I’ve been working on Traversity which is a start-up that my wife and I founded to help address some of the problems that healthcare professionals face. It seems that while there is a lot of focus on solutions for patients/consumers, and lots of solutions for hospitals and big enterprises, there are not a lot of tools that support small and independent healthcare professionals. These people are left out of technology solutions and so end up having to cobble things together.

There are many who rely on consumer-level tools such as Facebook and WhatsApp to communicate with one another, or use consumer email such as GMail and others to exchange files. So we set about building some base level tools such as Secure Chat and Video Calling which are set up with state of the art security and encryption. Both of these features are based on open-source platforms (Synapse/Element/Matrix for Chat, and Jitsi for Video conference) and integrated in a way that makes it easy for health professionals to quickly use.

Personally I think that Matrix has a lot of potential to help resolve the Directory Problem (i.e. how to find and connect with other health professionals) that has been a major blocker to the adoption of true digital health. There are many reasons why this is the case and will explore this further in an another post.

Give me the stats

I use Azure DevOps to manage the backlog, repositories and deployments for the project. I installed the Contributions Graph extension to help summarise things:

This the breakdown:

  • 770 Commits
  • 61 PRs
  • 179 Work Items

Tools

My main IDE was Rider. I took a bit of a punt with Rider as I has always used VisualStudio previously and had only used the free-trial with Rider before I bought a 1yr subscription. I don’t regret the decision at all. Where VisualStudio always provides that helping hand and hides a lot of the underlying complexity and I found it good to be confronted by the complexity. This is especially true as this project was built in aspnetcore.

I also used the following tools/services:

  • ABP.IO - this is a great framework and really accelerated our development
  • Azure (too much to mention specifics!)
  • Azure AD B2C - Not everyone’s favourite CIAM but I like it
  • ngrok - provide tunnel to local dev from cloud services (i.e. Azure B2C)
  • Windows Subsystem for Linux (WSL1 - i don’t have the guts to put WSL2 in yet)
  • Ansible
  • Lots of powershell

Reflections

The main thing I noticed was that in the years when I wasn’t focused on development a lot of things had changed. This might sound a bit obvious given the fact that development is a fast changing discipline, but there were some big fundamentals. The use of docker and containerisation was new, as was the use of npm and yarn.

I think dotnetcore is amazing and a really well thought out framework. The docs from Microsoft are, as always, top notch. It was easy to understand the concepts and then apply into working code. I don’t think I missed out on the early years of this framework and later years of .NET Framework either. For example, having dependency injection in-built to the framework is very nice. The options patterns are quite good and I felt often that things just made sense. The nuget package ecosystem was healthy and Rider made it easy to hit a few hotkeys to search and pull down a package.

On the front-end I think things were a bit interesting. I decided not to pursue an SPA or similar framework as it would take time to learn. I instead focused on the simplest thing - and that was a bootstrap derrivative layout. However, WOW, I was blown away with how much easier layout has become. The combination of bootstrap along with Flexbox is amazing. For more interactivity it was trivial to find some jQuery or other javascript plugins and integrate them.

I rarely ever felt that I was exploring unknown territory as most of the frameworks published their source on Github, and the tooling from the IDE to the browser all provided adequate inspection and debugging capabilities.

In many ways I enjoyed the time spent developing and it was really great to be able to exercise that side of me for a while. Would I continue to do it? Yes it would be awesome to keep plugging away and building what I think is great. Who wouldn’t enjoy doing something they love with no bosses or other people vying for their time?

What's the future then?

For Traversity we’ll continue to pursue our goals, but shift the focus from development to marketing and customer acquisition. It will take time to hone in on the value proposition that best resonates with our target audience and also take time to teach the market about how we think things should be done. I intend to continue development in my spare time on some longer term plays.

On Monday I start a full-time job as CIO for an aged care provider which should keep my quite busy, but also give me great insights into how some of these technologies could be used in that sector.