🚀 Explore this trending post from Hacker News 📖
📂 Category:
📌 Key idea:
Based in São Paulo, Brazil, Uncover was founded to
revolutionise the field of marketing mix modelling – helping companies harness
state-of-the-art data integration and AI to measure the return on their
marketing investments, optimize their use of media, and track the effects of
pricing changes and promotions in real time.
Challenge
Marketing mix modelling (MMM) first came to prominence in the early 1990s as a
set of techniques for analysing, forecasting and optimising marketing planning.
Today, it plays a central role in marketing strategy at most large consumer
packaged goods companies, and is increasingly being adopted by the
telecommunications, financial services, automotive and hospitality sectors too.
One of the key advantages of MMM, compared to other commonly used marketing
analysis techniques, is that it is purely a statistical approach and doesn’t
rely on user tracking. This makes it a great fit for companies that care about
their customers’ data privacy, and for those that want to invest in types of
marketing campaigns and media that are not as easy to track as digital ads.
Traditionally, the main providers of MMM have been specialist consultancy firms,
which charge high fees for their services. As a result, MMM has been regarded as
a premium service that only the largest companies can afford. Uncover’s mission
is to revolutionise the MMM market by building a platform that can bring the
same level of marketing intelligence to businesses of all sizes.
At the heart of the Uncover platform is a query engine that allows analysts to
define sophisticated ways to interrogate and visualise marketing data as it
streams in from multiple sources – including sales and CRM systems, market and
economic data, and even weather forecasts.
“With our competitors’ consultancy-based approach, they might run a big MMM
project and deliver a final report after six months,” comments Georges Boris,
Chief Design Officer at Uncover. “With our platform, we can deliver new insights
weekly, and at a fraction of the cost. To do that, we need to be able to develop
queries that identify the factors that really impact our clients’ marketing
campaigns, and run those queries reliably and repeatedly to track how things
evolve over time.”
To ensure it can always deliver the timely, accurate insights its clients need,
Uncover’s query engine has to be completely bullet-proof. That’s why Georges and
his team decided to use Gleam.
Solution
When Uncover started out in 2020, the company decided to use different
programming languages to build the frontend and backend of its new platform. The
frontend, which provides the web interface and data visualisation capabilities,
was written in Elm, a language that is designed to completely eliminate the
types of coding errors that could cause a system to crash. Meanwhile, the
backend, which provides the data integration and query processing capabilities,
was written in a language that didn’t offer the same level of automatic error
detection and couldn’t provide the same guarantees.
“From the beginning, I always really enjoyed working on the Elm part of the
codebase,” says Georges Boris. “But the backend wasn’t such a nice experience.
We constantly had bugs, and our error reporting system was logging literally
thousands of errors – versus absolutely zero with Elm.”
He explains: “We wanted an Elm-like experience on the backend too, but Elm is
specifically designed to be frontend only. Then, a couple of years ago, we
started hearing about Gleam, and we realised that for the first time, there was
a backend language that could give us the same assurances and the same level of
comfort.”
Safe and practical
Georges started by using Gleam to develop a query parser – a program that can
validate and load saved queries into the query engine so that they can be
executed. “The parser was full of complex business logic, which made it a good
test case for Gleam,” explains Georges Boris. “Gleam helps you catch and fix a
lot of errors before you even run your program. So once you run it, you have a
lot of confidence that your code is correct.”
At the same time, Georges Boris enjoys the practicality of Gleam’s design:
“Gleam makes it very easy to interoperate with other languages. That’s vital for
us because we already had a very large backend codebase, and the new
functionality that we are writing in Gleam has to work seamlessly with our
existing code. I love the safety that Gleam provides, but I also appreciate the
fact that Gleam lets me remove the guardrails when I need to interact with
other less-safe languages.”
Simple and reliable
Uncover is a relatively young company that operates with a disruptor’s mindset –
you can’t reinvent MMM for the midmarket without being prepared to think
differently. Yet while the business itself may be radical, its technology
strategy is relatively conservative.
“Gleam has been gaining a lot of attention recently, but you can’t choose
programming languages based on hype,” says Georges Boris. “We wouldn’t be using
Gleam if it wasn’t a safe, sensible – almost boring – choice. It’s a really
simple language to learn, and there are plenty of developers who are interested
in this style of programming, so we’re not worried about hiring or onboarding.
And while Gleam is a relatively new language, it runs on the BEAM – a
battle-tested platform that has been regarded as the industry standard for
building highly reliable applications since the 1980s. Combined with the
safeguards that Gleam provides at a language level, the BEAM really helps us
provide the most resilient environment we can for our business-critical web
services.”
Results
As Uncover gradually builds out more of its backend services in Gleam, the
company expects to see big improvements in error rates during testing and in
production. “So far, the only bugs we’ve seen in our Gleam codebase are mistakes
in business logic – nothing that would actually crash in production,” says
Georges Boris. “That’s a breath of fresh air compared to the rest of our backend
codebase, which is constantly throwing errors that Gleam would have caught
during development.”
He adds: “Testing is another areas where Gleam really shines, because the
language pushes you to write straightforward tests that don’t depend on a
database or other external services. We can execute more than 1,900 Gleam tests
per second, compared to about 40 per second for the rest of our backend test
suite – so the Gleam tests run about 50 times faster.”
Looking to the future, Uncover is keen to explore how Gleam could help in other
areas. “Gleam isn’t just a backend language, it can run in the browser too,”
explains Georges Boris. “That means we could potentially use it as a lingua
franca for parts of our business logic that need to run on both our backend
servers and in our web application. We’re also very impressed by Lustre, a Gleam
web framework that takes all the things we like about Elm and adds some exciting
new capabilities too. We’re eager to contribute to the community and help
Gleam’s frontend story evolve.”
⚡ Share your opinion below!
#️⃣ #room #error #case #study #Gleam #production #Uncover
🕒 Posted on 1764794931
