It’s the indie maker’s dream: to launch a startup, build a great product, and get acquired within just months of launch.
That’s exactly what Kenan Saleh did.
In 2018, from his college halls and with the help of a friend, Kenan launched Halo Cars — an advertising startup selling rideshare ad space to brands. Just 11 months later, he was approached by Lyft to begin talks about acquiring the young company.
It’s a great story. But what we especially love is that, despite learning to code during his college years, Kenan built and operated most of Halo Cars on no-code tools. And even after acquisition, no-code tools still to this day keep a significant amount of the business running.
Naturally we were super-keen to chat with Kenan to find out more. Here’s his story.
From Halo Cars to Lyft Media
Hey, I’m Kenan Saleh.
Halo Cars began as — and still continues to be — a way for ride-hailing drivers to make extra money through digital advertising. We fit a screen on top of their cars which displays ads as they drive around. Brands pay us to run the ads and manage the campaigns.
It’s a unique form of out-of-home advertising, as we can target specific ads based on cars’ locations, time of day etc.
Getting bought by Lyft was an ideal partnership. Since joining, we’ve integrated into the company so that Lyft drivers can manage their ad earnings through the app. We’ve also launched a number of other products within Lyft’s advertising vertical.
Operating an ad network on no-code tools
I was first introduced to no-code during an internship I did during my senior year of college. I used no-code a lot when I first launched Halo Cars.
Even though since the acquisition we’ve become much more advanced in the tools we use and how we use them, we still rely on no-code tools for certain elements of Lyft Media.
Like our hardware ops, for example.
Our business is operationally intensive because we have a lot of hardware (the advertising screens that go on the cars) to deploy, manage, maintain and repair. This is where no-code tools help us the most.
Our core no-code stack is a combination of Retool, Zapier and Airtable. Here’s a little more on how we use these tools.
Retool: Relied on for our internal apps and some of our internal dashboards. Retool is awesome as it allows you to build your own custom apps using tables, charts, lists, and various other components depending on what your use case is.
Airtable: Used for all our CRMs and some forms.
Zapier: Handles all of our automations.
Automating busywork and connecting apps with Zapier
Here are a few examples of how we use Zapier to speed up our business operations.
Automating repetitive tasks
If we ever find ourselves doing something more than a couple of times a day (or even a couple of times a week), that’s a signal for us that we need to try and automate that task.
We use Zapier to create “When X happens automatically do Y” automations, such as:
- Send templated email with inputs
- Send Slack update of KPIs every morning at 9am
- Update CRM, trackers, and a database of changes made
Connecting tools together
As the company has scaled, we’ve added more and more software tools to our stack, and we need those tools to talk to each other and keep in sync. Examples of use cases include:
- Put Typeform responses into Airtable
- Propagate change in Airtable to database
- Trigger workflow from Retool button
Automating driver onboarding
Here’s a specific example of a use-case that really helped our startup thrive, especially in the early days. We relied heavily on Zapier to help us onboard new drivers.
We would go out and recruit new drivers to join our driver roster, and we managed them all in an Airtable database. This was a really important process for us as we didn’t just accept every driver that applied to work with us; we needed to screen them and make sure they were fit for our platform.
Drivers would fill out a Typeform to apply, and Zapier would pull that data into our Airtable base (you can also use a native Typeform-Airtable integration for this). Then Zapier would send the driver a ‘thank you for applying’ text message using Twilio as well as an internal notification to us using Gmail.
We also used Zapier to automate sending documents like contracts and other driver information.
We had a ‘Status’ column in our database, and every time we changed the status of a driver, it would trigger a Zap and action the next step of the driver onboarding workflow.
Zapier enabled our small, 6-person team to do the work of a 20-person team.
We had thousands of drivers applying, and there’s no way we could have manually handled them all. By doing some of the busywork for us, Zapier helped us appear much bigger than we were as a company, and helped us scale much faster than we could have ever done without using automation.
Knowing when to code or no-code
Sometimes founders can struggle with knowing when to choose custom code over a no-code solution, or knowing when it’s time to stop using a no-code tool they have needed up until now.
My advice here would be to code your unique value proposition, if you have the resources and budget available. This is what will differentiate you from your competition and give you the most leverage.
Take our business: we are an advertising business at our core. Our value prop is our advertising platform software. We own it entirely, and we can keep building on it to make it serve our clients’ needs exactly as required.
We have custom coded this element of our business from scratch. No-code tools just wouldn’t be able to meet the demand of our advertising platform. It would also be super easy for anyone else to come along and copy our software if we only used no-code tools.
No-code tools are ideal when you’re starting out, and for the parts of your business that don’t need to be unique based on what you sell. Like your database or your website landing pages, for example.
Still not convinced on no-code? Here’s my pitch
No-code tools bring many benefits for makers and businesses.
Firstly, they save us an incredible amount of time. Where once, it might have taken an hour to read an application, send a reply email, send a team notification, update a spreadsheet, send more emails and create a contract — now that amount of work can be done in a few minutes using automation and no-code tools.
Secondly, no-code tools have changed who can work on what. What I mean by that is in the past, if we wanted to build, for example, an automated email series, we would have relied on an engineer to do it. The request for the series would have gone into the roadmap along with all other product updates and bug fixes.
But the automation series would rarely get prioritized over important issues like bugs. If you do try to prioritize these kinds of updates, it's very hard to make a case for them over anything else.
So sometimes they never happen, and that’s a shame.
What Zapier allows us to do—or any no-code tool for that matter—is to build stuff without engineers. If I want email automation, I can just build it myself. It removes this bottleneck of only one product roadmap where things can get built.
Crucially too, no-code tools allow developers to work on the things that really move the needle from a software development point of view.
Huge thanks to Kenan for his contribution to this post. You can follow him on Twitter.