top of page

This is how Element does software development.


From whiteboard sketches to Figma mock-ups through to backend server script testing and API creation, to finally a web application! It's highly rewarding... but man it’s a lot of work!

It takes a broad team to make web applications.

I've been involved in web and app software developments, mainly in the IoT space, going on 10 years. Using different stacks, different always improving tools, and working with different people.

Everyone has their preferred flavour of software stack to use. It can be exhausting trying to keep up with the ever-changing space.

It's also high risk!

This web application will dramatically decrease the admin overhead for Element. However, if we get it wrong, we will need specialist software engineers to fix it using their specific chosen flavour! What if that person leaves?! How do we implement the 'Hit by the Bus' scenario with software?

One major part of this new build was to make sure we were using a stack that gives us the best likelihood of success... and success in this case is to decrease risk of downtime to the business.

We wanted somewhat commoditised tools with large user bases and lots of documentation, that any reasonably trained person can gets stuck in to when needed.

That's one strategy I have employed here, and in other projects. It’s always horses for courses!

We've chosen Django and Python for back-end server software, Typescript React App for front-end, and Figma for designs. We also have Kotlin Jetpack Compose for the native android app, and Swift + Swift UI for native iOS.

Our leadership team have replicated the workflows required across the business, and improved them so we can further minimise our admin overheads and keep our teams doing more valuable work.

Automation is also key, and easy integration with MYOB and other external services such as ChatGPT (any APIs really) was a key part of this strategy.

In my experience, selection of the toolchain is the key to a long-term sustainable business and product.

There may be something cooler with better performance out there. But is there a pool of people available to help when times get tough? Or can you scale the team and system easily when needed if things go very well?

For now, it’s great having such a diverse team in-house with the ability to learn the cutting edge by working on our own internal initiatives.

It’s even more rewarding putting these ever-improving skills to work on client jobs, keeping them happy and creating awesome things!

Comments


bottom of page