Skip to content

The Technology Stack Behind MadeCurious’ Complex Web Applications

This article explains the proven technology stack MadeCurious uses to build secure, scalable and long-lasting web applications.
1 real life representation of react js logo

Why Technology Choices Matter for Complex Web Applications

MadeCurious has a background in delivering complex, custom software solutions. Our team who is responsible for the development and ongoing maintenance of these solutions in the environmental and resource management spaces reflects on the technology choices we have landed on.

Our customers generally come to use because the standard products in market have prohibitively high licensing costs that do not scale, or they cannot be configured to meet the specific needs of the users or their domain. 

The solutions need to be intuitive for day-to-day operations for users of a wide range of abilities and are both transactional (with lots of saves and record updates across workflows) and analytical (viewing and generating specific insights from large datasets). 

Technology is evolving at an ever-increasing speed. However, given we are building digital products that will be around for many, many years, our foundations need to be stable. Are they exciting? Nope! Are they crucial to ensuring the success of your products and business? You betcha!

MadeCurious also has its origins in the open-source community. Not only has the kaupapa of giving back to other developers always been a philosophy of the company, but it also means no licensing costs that reduces costs for our customers. 

And while we landed on these technologies some years ago, they are still as relevant for building these types of web applications today as they were back then.

PostgreSQL for Scalable, Data-Intensive Web Applications

PostgreSQL has been a foundational piece of our open-source technology toolset for good reason. It’s a powerful relational database system that has been around for over 30 years!

Here are some of the reasons we love it:

PostgreSQL is a Mature, Enterprise-Ready Database

An open-source project does not make it for over three decades without a passionate and active community supporting it. This also means that it comes with a wealth of documentation, making it easier for our team to continue to learn and upskill. It also comes with a wide range of out-of-the-box capabilities, such as full text search, the ability to store and query semi-structured data using JSON and JSONB data types, window functions to calculate data for analytics

PostgreSQL and PostGIS for Geospatial Data

One reason customers come to MadeCurious is because of our heavy focus on integrated geospatial functionality, making it easy for users to capture and understand place-based data. PostgreSQL supports all our GIS needs and includes a number of great extensions like PostGIS.

Enterprise Permissions and Row-Level Security in PostgreSQL

PostgreSQL provides us with a massive amount of flexibility around permissions and row level data security. Given our enterprise customers often have specific needs around system roles and permissions to act on specific records, we can easily shape the technology to meet their needs - rather than have the technology dictate their permissions structure. 

PostgreSQL is also well suited to multitenant solution design, which is great for our solutions that support multi-organisation implementation. 

PostgreSQL Performance and Scalability at Scale

Performance is not an issue for PostgreSQL. It scales easily to support our highest traffic applications. And the ongoing version upgrades continue to deliver meaningful performance improvements. It also has excellent support across Amazon Web Services (our preferred cloud infrastructure option). 

Django as a Secure and Stable Web Application Framework

Django is the Python web framework we use to manage the integration layer of our applications. Like PostgreSQL, it's been around long enough to have opinions - good ones.

Rapid, Secure Web Development with Django

Like PostgreSQL, Django also comes with lots “out-of-the-box” - taking care of a lot of the common web development tasks for us. Some of our favourites include its GIS support, data model and migration management, its mature Object-Relational Mapping (ORM), and native testing framework. Not to mention the Django Rest Framework makes designing web APIs super simple. 

Django also has a strong security focus. It helps avoid a range of fundamental web development risks by default, including SQL injection, cross-site scripting, and clickjacking. 

Stability as a Feature

One of the reasons we use Django as our web framework is that it tends to be stable and relatively unchanging. There's a downside - it may take longer to get new features. But the upside? We can confidently update dependencies without fear of breaking changes.

Most importantly, there's essentially no chance that Django itself will suddenly become abandon-ware. Given its adoption by products including Instagram and Mozilla, and its active community, we have strong confidence we'll be able to keep using it several years into the future. This matters when you're building applications with intended lifespans measured in decades, not sprints.

The Long-Term Benefits of Python and Django

Python is a well-adopted programming language, making it easy to hire new software engineers who have experience with it. This greatly reduces onboarding time into our team and ensures we can easily continue to support and build on our customer’s applications over the long term. 

The open source and Python-based nature of Django also means it is straightforward to integrate with other third-party tools and services, such as our enterprise customers’ specific authentication service, or external storage providers.

React for Scalable, User-Centred Front-End Applications


React provides our front-end component framework, enabling us to craft the intuitive user experiences MadeCurious is known for. This is crucial for the complex nature of the software solutions our team develops - we're often presenting data-rich interfaces that need to remain comprehensible and easy to use by a wide range of users.

Scalable Front-End Architecture with React Components

React's component model aligns perfectly with how we think about user interfaces. Each component is a self-contained unit with its own logic, styling, and behaviour. This means we can utilise a library of reusable components that ensures consistency across our large web applications, while remaining maintainable as requirements evolve.

One of the biggest advantages we have found with React is it allows us to go as small or as big as we want, based on what is best for a particular application. For example, we’ve built small components that are embedded into legacy (non-React) applications; and we have built some of our largest, complex modern applications entirely on React.

 Great UX Through Clever UI

Given the complex nature of the applications we are building, it is crucial that we offload as much of this complexity from our users as we can. React comes with caching and data fetch smarts that enables lazy loading and subtle animations. This allows us to minimise jarring transitions for users and provide a more simplified, seamless experience as they navigate rich data and workflows.

Developer Experience and Maintainability in React

React enables a huge amount of reusability and there is no need to write custom JavaScript to find elements on a page to then perform actions on. It also comes with excellent developer tools. Hot module reloading means we see changes instantly, while the React DevTools help us debug the complex state interactions. 

When our software engineers can work efficiently and confidently, that translates directly into better outcomes for our partners - faster delivery, fewer bugs, and more time to nail the details that matter. 

 The React Ecosystem and Long-Term Support

Like our other go-to technologies, React comes with an excellent community and ecosystem of resources. This isn't about avoiding work - it's about not solving already-solved problems. Every hour we save on building generic components is an hour we can invest in the specific, unique challenges our customers face.

Why a Proven Technology Stack Wins Over Trend-Driven Tech

There's a reason we call these our "go-to" technologies rather than our "cutting-edge" technologies. PostgreSQL, Django, and React are thoroughly boring in the best possible way. They're predictable. They're well-documented. They have solutions for problems you haven't encountered yet.

This “boring” stack is powering our New Zealand government regulatory systems, through to our private enterprise partners who trust MadeCurious to deliver their core digital products to their own international customers.

Related

More Platforms & Languages
More Platforms & Languages

Most Recent

Show all articles
Show all articles

Media Suite
is now
MadeCurious.

All things change, and we change with them. But we're still here to help you build the right thing.

If you came looking for Media Suite, you've found us, we are now MadeCurious.

Media Suite MadeCurious.