[Please note: This is a deep dive for those who really want to get into the nuts and bolts of building market-leading tech. You have been warned.]
“In the beginning…”
The first iteration of the tech stack was built in a hurry.
Adfenix was growing so fast, and working so well for our customers, that our diligent engineers (all 2 of them!) barely had time to power down. Let alone sleep.
Making it work at all was an absolute triumph. But why?
- Facebook is not a trivial entity!
It is a large, complex beast with infinite possibilities for advertisers, business owners, and customers. It’s also not a shop, where you add a desired item to your basket and head to the checkout.
- An enterprise customer base.
Delivering ads for enterprise customers (agencies and brokerages who are not the end user) complicates things further. Applying a complex algorithm to reach their perfect customers every time, and at scale, was a tall order.
- Our customers take many shapes.
Brands, offices, franchises, agents, even sellers, all with different needs and objectives for their campaigns.
We grew so fast, we had to build the platform using several servers, which made things messy and potentially unreliable.
“Act Two: Reflect, Reimagine, Rebuild…”
The stack was working!
But now, we needed it to be stronger, faster and effectively bulletproof. How could we do that with so many active customers and campaigns now dependent on the Adfenix platform, not just in our home country of Sweden, but all over the world?
- Speaking the same language.
The first step was to ensure we chose the right language to build the code. C# gave us a well-supported option that was easy to work into. It’s also publicly used, which meant a large pool of talented developers to recruit from.
- Monolith to microservices.
Many developers will be familiar with the “strangler fig” method. Effectively, it means working on small pieces of the stack in sequence to keep the “monolith stack” operational throughout the upgrade. Eventually, each piece will be re-engineered to operate in the new composite stack, with more autonomy than it had in the monolith. The monolith, much like the tree inside the strangler fig, is now no longer needed to support the fig, and can be removed to make way for the new, and more flexible, modular structure.
- Building trust with customers.
Communicating that certain functions would be unavailable during short periods of maintenance meant that we never had to shut the platform down completely. This stability helped to build trust with our loyal customers.
The new modular structure gave our engineers the freedom to explore and test drive new ways to make the platform fun and easy to use, ultimately minimising friction in the code base.
“NOT Reinventing The Wheel…”
We can do this faster if we work together.
Very clever people have spent years building high-level services that perform brilliantly in their arena, and while there’s a lot of talent in the Adfenix development team, we knew it wasn’t necessary to take on the goliaths of the tech world to create the perfect stack.
We just had to pick the right ingredients for the world of real estate.
- Amazon Web Services provide a strong, well-designed infrastructure
- Jitterbit gives us essential integration
- RabbitMQ for messaging
- Amazon Web Services offer a flexible, fully scalable cloud platform
- C# and Java for a universal code base
- Amazon RDS supports multiple databases for independent resilience
- Cognito 2-factor authentication for increased data security
“Security and Scale…”
One of the most critical issues for Adfenix is security.
Thanks to the complicated structure of the world of real estate, we knew that we needed to stand on the shoulders of giants to make this a gold standard across privacy, data security and financial protection.
- 5 levels of authorisation.
Using Cognito we built an intricate network to accommodate roles existing within our customers’ business: agents, office managers, franchise managers, HQ office managers and HQ Chief Marketing Officers, to name a few.
- Authentication and permission.
For each customer, we were able to verify and confirm secure authentication to access the platform: “Are you Jo Smith?” AND manage permissions for the features available to them: “Is Jo Smith permitted to use this feature?”
The cherry on top of this feat of engineering was a high-security e-commerce channel that allowed some customers to purchase programs from the platform. These items were available for free, at the discretion of their brand HQ, or for purchase, using a personal or company credit card.
On top of all of this, we knew that whatever we built had to stand the challenges of scale. This was a custom-built stack for a unique industry. Flexibility would be key. Here’s why…
No two properties are the same.
- Differing legislation around the world.
Land taxes, open house viewings, live auctions, stamp duty. One size does not fit all.
- Different customer journeys.
MLS, auctions, selling agents and buying agents, agent-paid marketing, vendor-paid marketing, commission structures. Again, one size won’t fit everyone.
From the tech-savvy broker to the traditional local agent, the platform has to be simple, clean and easy to use.
“Back To The Future…”
Having rebuilt the stack, it was time to look ahead.
The future of the Adfenix tech stack would be built around four vital pillars. These being:
- Maintenance for ongoing reliability.
We sectioned 15% of our resources into bug fixing to keep the platform operating smoothly. The remaining 85% was devoted to proactive expansion.
- Freedom to develop existing microservices.
With our focus on proactive expansion, engineers and developers were given the opportunity to make consistent upgrades and updates, giving our customers the freedom to achieve more through the platform.
- Expanding platform capabilities.
The acquisition of two successful businesses in customer data and brand management gave our customers the option to manage more of their marketing operations through our platform. These businesses were carefully integrated into the tech stack as fully operational micro services; optional building blocks to be used by our customers if needed.
As a forward-looking martech platform, ongoing development is one of our brand values. Our dedication to continuous improvement is essential to building trust with our customers, and positioning us as a holistic solution in a constantly evolving industry.