The Technical History of the CartonCloud Application

A blog written by our founder and CEO Vincent Fletcher that explains that technical challenges from when CartonCloud was launched inside a 3PL Transport and Warehouse company in Sydney to today where we have 14 new developers and are looking for newdevelopers in React, iOS, Java and PHP.

Author:

Vincent Fletcher

Linked to author page

Published:

September 7, 2018

 

Greenshot 2018-09-04 13.44.25

CartonCloud was started in 2012 and by many metrics would no longer be considered a start-up, however inside, despite its 6 years old, it certainly has the feeling of an energetic startup due to the rapid evolution of the technology we’re using.

Taking you back to where it began, the project was originally a system built to manage a small transport and warehousing business in Sydney, or which I was a half-owner. (The full history of the product is available here).

Initially, when the project kicked off, it was myself and one other developer, plus my business partner and great friend, Nic Comrie acting as Product Manager. At that time neither of us had ever heard of a Product Manager (let alone knowing what they do), as far as we were concerned Nic was just the guy who had the ideas on how the system should work, and the two of us were the guys coding those ideas into an application.

I was 24 at the time. I’d completed a degree in Science and Technology, majoring in electronics and instrumentation (similar in content to an electronic engineering degree but without any prestige). I’d then worked for a little over 2 years inside a small business in Sydney, Halytech writing C code for an embedded device which ran on a 16-bit MSP430 processor. The work there was fun and really challenging - my first project was to build a web-server capable of handling 5 concurrent connections that ran off 2kB of RAM (yes, 2,000 bytes). On the side I ran a business that sold party products online, the website was written in PHP using OsCommerce as the back-end. In 2010 when I first got introduced to coding in PHP, OsCommerce was already an ancient platform. It was pretty much written by a single guy, came out in the early 2000s, got widespread adoption, but lacked any kind of structure (no MVC, no real objects). So, that was my only exposure to PHP.

When we kicked off building the “Roving Management System”, I did research for a couple of days around the various PHP frameworks that were popular at the time (mid-2012), and settled on CakePHP due to it having seemingly the most extensive documentation, active development, and very strict naming convention which suited me because I had absolutely no idea how to name things.

The next 3 years (2012-2015) was largely the two of us coding away every day, and at night, and on the weekends - building out the system feature-by-feature that our logistics company could use. Surprisingly, given that neither of us had any prior experience in building a system from scratch (or even MVC), we managed to build an application which suited our business needs perfectly. A big application written entirely inside the CakePHP 2 framework with no modification to the framework itself.

For those who have used CakePHP 2, you’ll probably have very strong (most likely negative) feelings around the ORM, and the way in which it returns records from the database as arrays and not objects. I’ll admit, when I started this project I didn’t understand exactly how that differed from Symfony with the Doctrine ORM returning objects, however in late 2015 when a new team member joined us - he was disheartened to find such heavy use of arrays, the limitations it would impose, and the overhead associated with requesting the same data multiple times from the database to perform an action.

For this reason, he designed and built a custom Repository / Entity based ORM over the top of Cakes own ORM. This way, we could get records out of the database as Objects, and perform actions directly upon them, rather than needing to pass arrays everywhere. This was a smart choice, as most code written from this point onward would be written using the Entity/Repository method which made code structure far nicer, and allowed us to begin grouping logic by services.

The application carried on in this way until late 2017 when our (now) CTO, Kenji Kimura proposed a very radical shift. As we were beginning to see some architectural constrains of the design I had built, he proposed replacing some of the core functionality with Java (Spring Boot 2) micro-services.

This would allow us to begin shifting our application, in pieces, from the single monolithic PHP application into an entirely new micro services architecture. Allowing us to simultaneously address both architectural issues, as well as ensuring our platform is utilising leading edge technology. On the front end, rather than using embedded php/javascript/html view pages, React was selected as a layer sitting on top of our API - providing even greater segregation between components and allowing us to build new screens directly on top of the Java micro-services.

System Architecture-1

We’re in the middle of this transition at present, with our new Transport Charging micro-service due to come online within the next 2 months. This has allowed us enormous flexibility in the way in which we can calculate rates within CartonCloud, while greatly simplifying the underlying logic used to calculate the charges.

Over the next 12 months, we expect to quadruple the Java team, allowing us to build more services in parallel, greatly improving the flexibility of the product as we migrate components one-by-one. In addition we’re looking for multiple front end developers, iOS and Android Devs, and, of course, talented PHP developers (especially those who are interested in expanding their skills into React/Java).

If you’re interested in joining our team and being a part of this exciting journey, please reach out to us by sending your CV and Cover Letter to: jobs@cartoncloud.com.au

Explore the resource hub

Tips, tools, downloadable guides and stories from logistics teams who are working smarter.

Visit hub

Get a Free, Honest Read on Your Operation, in About Two Minutes

1pl
3PL
Transport
Bulk & Pallet
eCommerce
1PL
3PL
WMS
TMS
Get a Free, Honest Read on Your Operation, in About Two Minutes

CartonCloud’s Commitment to Security: SOC 2 Type 2 Audit Complete

3PL
WMS
TMS
CrossDocking
1PL
CartonCloud’s Commitment to Security: SOC 2 Type 2 Audit Complete

How to Implement a WMS in Your Small 3PL Business: A Practical Guide

3PL
WMS
3PL
How to Implement a WMS in Your Small 3PL Business: A Practical Guide

This Week in Logistics: Multiple Warehouses, Multiple States, One Standard — How HD Warehousing Does It, With Special Guest Chad Hildebrandt, Owner & COO

3PL
3PL
WMS
This Week in Logistics: Multiple Warehouses, Multiple States, One Standard — How HD Warehousing Does It, With Special Guest Chad Hildebrandt, Owner & COO

August 2026: New Feature Round-Up

3PL
Transport
eCommerce
Accounting
1pl
3PL
WMS
TMS
E-Commerce
1PL
August 2026: New Feature Round-Up

Warehouse Software for Cold Storage, Food, and Temperature-Controlled Logistics

3PL
F&B
3PL
F&B
WMS
Warehouse Software for Cold Storage, Food, and Temperature-Controlled Logistics

This Week in Logistics: Season 2 Returns — US-Canada Tariffs, Oil Volatility, and Panama Canal Cuts All at Once

1pl
3PL
Accounting
Bulk & Pallet
eCommerce
1PL
3PL
CrossDocking
E-Commerce
F&B
This Week in Logistics: Season 2 Returns — US-Canada Tariffs, Oil Volatility, and Panama Canal Cuts All at Once

How Do You Know You've Outgrown Basic Warehouse Systems? 7 Signs for Growing US 3PLs

3PL
Bulk & Pallet
Wholesale
F&B
3PL
WMS
How Do You Know You've Outgrown Basic Warehouse Systems? 7 Signs for Growing US 3PLs

CartonCloud Named a 2026 "Great Supply Chain Partner" by SupplyChainBrain

1pl
3PL
1PL
3PL
TMS
WMS
CartonCloud Named a 2026 "Great Supply Chain Partner" by SupplyChainBrain

Dock Management: How We Built Visibility Into Every Delivery

3PL
Transport
3PL
Transport
WMS
TMS
Dock Management: How We Built Visibility Into Every Delivery

What's the Best WMS for Small 3PLs That Need an Easy Setup?

3PL
3PL
WMS
What's the Best WMS for Small 3PLs That Need an Easy Setup?

July 2026 — New Feature Round-up

1pl
3PL
Accounting
Bulk & Pallet
eCommerce
1PL
3PL
CrossDocking
E-Commerce
F&B
July 2026 — New Feature Round-up

What US 3PL Operators Really Say About Switching From Slow, Complex WMS Alternatives

3PL
3PL
WMS
What US 3PL Operators Really Say About Switching From Slow, Complex WMS Alternatives

CartonCloud vs Competitors: An Honest Comparison from an Implementation Specialist

3PL
TMS
WMS
3PL
CartonCloud vs Competitors: An Honest Comparison from an Implementation Specialist

Running Multiple Sites from One WMS System: How HD Warehousing Scaled Without the Complexity

3PL
Bulk & Pallet
eCommerce
F&B
Wholesale
3PL
E-Commerce
F&B
Wholesale
WMS
Running Multiple Sites from One WMS System: How HD Warehousing Scaled Without the Complexity

This Week in Logistics: The Operator Playbook

1pl
3PL
Accounting
Bulk & Pallet
eCommerce
1PL
3PL
E-Commerce
TMS
Transport
This Week in Logistics: The Operator Playbook

Deposco Alternatives: What Growing 3PLs Should Consider

3PL
3PL
WMS
TMS
Deposco Alternatives: What Growing 3PLs Should Consider

CartonCloud Feature Spotlight: April-June 2026

eCommerce
3PL
1pl
Accounting
Bulk & Pallet
3PL
WMS
E-Commerce
1PL
CrossDocking
CartonCloud Feature Spotlight: April-June 2026

3PL Software Pricing: What You're Actually Paying For (And How to Compare It)

3PL
3PL
WMS
3PL Software Pricing: What You're Actually Paying For (And How to Compare It)

Inside CartonCloud: A Top-Rated 3PL Logistics Software Platform

3PL
WMS
Inside CartonCloud: A Top-Rated 3PL Logistics Software Platform

Still counting stock the old way?

Book a free demo
No items found.
No items found.