I wish someone had told me earlier that programming, and building tech solutions, is not that hard to learn, especially with tools available these days, and for the purpose of a MVP or early stage startup.
Lately, attending startup events and meetups, I came to realise that my experience bootstrapping Tech startups coming from the business side and not having had (so far) a Tech cofounder, can be valuable to others. So I thought I'd share more widely here.
I have built (with my wife as co-founder) a startup, up until its acquisition 2 years later, with no office, no full-time employee... and no Tech co-founder.
And I am now in the early stage of a 2nd Tech startup, still building everything with no Tech co-founder (yet).
By the way, feel free to skip to "Basic MVP: patching consumer solutions together" if all you want is pointers to how to build an app without a Tech person onboard.
If your plan is to develop a new AI, the below might not be for you. But for a lot of Tech startup ideas, building a MVP* - and even scaling it - can be done these days without a technical co-founder.
*(Minimum Viable Product - original post from 2009: https://www.startuplessonslearned.com/2009/03/minimum-viable-product.html and from the book The Lean Startup by Eric Ries)
It's of course better to have one, but the lack thereof should not hold you back to pursuing your idea. And validating it will help find someone.
I'll start with some background to provide context and perhaps a story you can somehow relate to, followed by initial steps to take, even before starting to build anything (yourself).
The challenge of finding a CTO in the early days
Finding a Tech cofounder, also known as CTO (Chief Technology Office), can be very hard.
Lots of business people have ideas requiring technology ("All companies are or will be Tech companies") yet finding and convincing a software engineer to join (especially one with experience), based on just an idea, is near impossible.
Software engineers are in high-demand, paid mostly very well, and evolve in different circles than business people.
Tech is a broad word, and not every type of software engineer will be a good fit for your idea.
Plus a co-founder relationship is akin to a marriage - spending more time together than with an actual spouse, going through highs and lows (lots of the latter at the beginning). Considering average time to exit for B2B startups hovers around 7-8 years, it's quite a commitment! So the fit has not only to be on the skills, but also on the human side.
No wonder that it has been reported that 65% of startups fail because of people problem, and especially co-founder relationship issues (Noam Wasserman, Professor at Harvard, found in a study of 10,000 founders, though it dates back to 2012 and things might have changed.
His book The Founder's Dilemmas: Anticipating and Avoiding the Pitfalls That Can Sink a Startup is a recommended read).
Attending "Find your co-founder" events (or meetups) organised usually by startup accelerators & incubators, is one way.
I tried quite a few of them.
While there are great for networking purposes with fellow founders - sharing struggles and finding ideas and support - most follow the same pattern: the room is filled (as in 90%) with business people with ideas, and only a few technical people in the room, some looking like deers caught in headlights when they realise that they are "surrounded" π
Side note to accelerators/incubators: as I attend meetups in the Python community myself, I realise even more the divide between "business" and "technology" people, evolving in different circles and communities. I advise to partner up with programmer communities, to jointly promote those events (incl. the programmer community) so as to create a better balance.
How I got started with my 1st bootstrapped startup without a Tech cofounder
After 15+ years of being an employee in technology companies and startups - with a Sales background and having moved up to executive positions (VP Sales and Managing Director) in the B2B SaaS space - I decided to make the jump and go at it myself.
My wife, with experience in M&A (Mergers & Acquisitions) in the private jets industry, had an idea.
I had the experience of early stage startups, and how to build a startup from scratch (or almost), and scale it.
So we decided to co-found a startup, called Convolus. I know, crazy - though husband/wife co-founders is a whole other topic which I might tackle in a future post π
Being both from a business background, and envisioning a "Groupon for companies operating private jets", building the Technology underlying the business (from the platform itself to its automated processes) was a critical component, yet none of us had done that before.
Side note: "none of us had done that before" applies to most things when you start a startup. That's why it's such a great learning experience ;)
My wife quit her high-paid job, we put the concept together as a slide deck, and started meeting potential clients to do customer discovery and validate the idea.
The first 3 meetings ranged from positive, to extremely positive.
On the back of this alone, and considering I could not dedicate enough time with evenings and week-ends alone, I decided to quit my high-paid job too. Yes, I know - crazy. But you have to be a bit (or a lot) crazy to do any startup!
The plan was to bootstrap the business (meaning just using our savings, no external investment). Hard these days to get investment on an idea alone.
I spent a bit of time looking for a CTO/co-founder. When all you have is an idea, in a niche industry, with no prior track record of founding a startup, and no money to offer, it's (near) impossible π
So I started looking into how to build things myself to start with...
It's easier than you think (though it's still a lot of work!)
What I discovered is that:
- Tools: there are tools out there, becoming better year after year, to empower non-technical users to build web and mobile applications. They are called "low-code" or "no-code" platforms.
- Programming: learning to program is easier than I thought, and eye-opening when you come at it with a business mind (thinking about potential applications), and useful in more ways than one even if you don't plan to program yourself.
- Freelancers: the gig economy is booming, and skilled people are available to you at your fingertips, paid by hour.
Let's go through these one by one, for each step of the journey.
Validating the idea (and fishing for early customers)
Before even building your MVP, you might want to validate first that there is a need in the market for what you want to build.
Landing page
I have not done this myself properly yet, though want to briefly outline here an approach that has worked for many.
You will hear this a lot if you listen to (solo) founders' stories on the IndieHackers podcast (highly recommend it!).
One my current advisor, who also sold his bootstrapped startups, swears by it.
The aim is to setup a simple landing page (a single page website) to present your idea, and encourage people to sign up to hear more when it launches.
The landing page should trigger curiosity, interest or even excitement, encapsulating the benefits of your solution ("What's In It For You" - WIIFY).
You could even mention pricing, if you want to confirm people's real buying intent.
Ideally you would sell your first product, before you ever build it.
It can look like this:
or that:
Here is a good resource to see some of the best landing pages out there:
The best SaaS landing page examples for design inspiration - SaaS Landing Page
Setting up a landing page is quick, easy and cheap. Though it's crafting the messaging and positioning that takes time!
I have used Carrd for other purposes - but it's perfectly suited for landing pages and has a few templates - and can recommend it (free or $9/year!!).
Carrd - Simple, free, fully responsive one-page sites for pretty much anything
Though there are plenty of others to choose from. The leading one seems to be Unbounce - which I have used briefly 5 years ago, so they have probably improved.
Unbounce - The Landing Page Builder & Platform
But you have also Startup-specific ones (whatever that means) like Landen.
Landen: The Website Platform for Startups
If you prefer to host it yourself and be more flexible, you can use ready-made templates to get your started, for example at Cruip.
A quick search on Producthunt returns many more results for building landing pages.
Once Live (don't sweat it too much - ship fast and iterate), you can share with your network and use it to propagate to others.
But to reach out to "true", ie unbiased, potential customers, the best approach seems to be SEM (Search Engine Marketing). Basically getting targeted traffic (people looking for what you offer) using ads on search engines.
"Simply" setup your ad, eg on Google, allocate a small budget (say a couple hundred), and you will pay only for the people who actually came to your landing page.
Survey
Another - complementary approach - is to build an online form and ask people in your target audience for a few minutes of their time to fill it out.
To build it, using Google Forms is the obvious choice. Though if you dislike Google's ad revenue driven business model and little care of your privacy, like me, other choices are available. I use Jotform, because data can be hosted in Germany, encrypted even, and available via API.
Free Online Form Builder & Form Creator | JotForm
As always, a lot of other alternatives are available: 114 products listed under Online form builder on G2.
To get people to the form, you can leverage your network, engage communities on the platforms you are active on (Facebook, etc..), where you are currently not (I rediscovered Reddit recently), on topic-specific forums, etc..
What has worked best for me is to use Linkedin Sales Navigator (that's my background in Sales!) to identify people in my target audience (or at least the persona I want to test my hypothesis on), and connecting with them with a message like this:
Hi XXXX,
[Personalisation]
New startup founder, I'm looking to assess if there is a market opportunity for automating tasks with files (ie Excel, CSV, PDF) in an accounting practice.
I'd appreciate your expert inputs if you can spare the time?
Thanks,
Nic
Using the word "expert" is key, as people like to be looked at as experts... and compared to you, they are obviously experts at what they (could) need.
Personalisation can be something like:
Saw your post in the XXXX Group - wondering if you can help me?
We have a few connections in common. / We both know XXXX
I liked your post XXXX
As the owner of the XXX group, wondering if you can help me?
The response rate is very good and once they connect or respond, you can point them to the online survey, or offer to have a 15mns call instead. Leaving the option open for people the easiest way to give you those few minutes (and inputs). Some prefer the convenience of a short survey, some prefer a discussion.
Here is an example of customer discovery I setup for a startup I have been advising recently:
Making sense of it
From there starts the "Science" part of customer discovery. You can analyse your conversion ratio - how many people give you their email address (thus showed interest) versus total number of people who visited the landing page (via clicking on an ad, or via other means).
Obviously the closest to 0 you are, the more it's an indicator that your solution, or at least its messaging/positioning, does not resonate with people. They don't feel that your solution can help them.
So you can test another version by updating the landing page, and going through the process again. And compare results. This is called A/B testing.
For example, with OfficeBots (my 2nd startup), being a broad solution for which I need to find product-market fit (wrote openly about it here), I will setup landing pages per use case (eg client onboarding, fuzzy matching, automated invoice processing, etc..) and/or by persona (Finance Director, Operations, etc..).
Work In Progress π
If you're good at it (which I'm not), you can even do this in parallel, setting up in one go multiple landing pages, each with its own SEM and associated keyword(s).
Doing the above helps you test and learn, thus:
- narrowing down on the user persona to focus on.
- identifying messaging that resonates best.
- building a mailing list of followers.
Combined with the right approach (I highly recommend reading The Mom Test: How to talk to customers & learn if your business is a good idea when everyone is lying to you by Rob Fitzpatrick), people signing up will accelerate your customer discovery.
Customer discovery is the starting point in the Lean Startup approach. I will share more about Lean Startup in a future #startupplaybook post.
(Note: you can subscribe on the right, to be notified by email of new posts)
But basically, these are people that are engaged and that are more likely to give you some of their time and insights, so as to refine your solution.
Creating the website
As you know, this can be done by anyone, rather quickly, and with a somewhat professional look & feel, by using beginner-friendly platforms with drag-and-drop interfaces, and one of their numerous templates.
Choice is vast, from Wordpress.com (hosted by Wordpress, who takes care of everything for you for a small monthly cost - though you can go for hosting the open-source version Wordpress.org for more flexibility), Wix, Weebly, Squarespace and many others.
For Convolus, I chose Weebly - for many reasons not necessary to develop here.
Very easy to use:
The result looks good enough for an early-stage startup:
Source: Convolus.com, now property of AVIAA LLC
Note that this is just for a static website. User sign up, login and payment can be handled by such platforms, as long as it's just for e-Commerce. To build more functionalities - an app or platform - a "no-code" or "low-code" platform is required (see below).
Weebly was the website for us. The platform behind was built separately.
Side note: Convolus was very narrow in its target audience - the list of potential customers is publicly available (as aircraft operators need licenses). So getting traffic from search engines was not a focus. If your solution has a broader audience and you would benefit from inbound traffic and lead generation, be advised that SEO (Search Engine Optimisation) - which enables your website to come up towards the top in search results - takes a LOOONG time, both for generating the right content consistently and for starting to see results. One of the painful experience for me right now with OfficeBots. Just make sure you have a blog section on your website, and start publishing earlier rather than later. I will write a post about this later.
Basic MVP: patching consumer solutions together
While not tried and tested myself (I am somewhat technically-minded and like tinkering, so skipped to the next section below), I have read and seen plenty of founders, who built a very basic MVP - enough to validate the idea - by patching consumer solutions together.
Have you heard of Zapier?
It's a very popular platform to connect apps and automate workflows. They have more than 2,000 integrations - from Google Sheets, Trello, Slack, Jotform, Dropbox, Twilio and many more.
It's an easy way to setup workflows where data is pushed/pulled from one system to the other.
Each app can become a component of your MVP, all glued together and automated with Zapier, for example:
- Airtable as database
- Dropbox as storage
- Twilio to send text messages to users
- Trello to keep track of the tasks to do manually (which can trigger an automation once you move the card to "Done"
- etc...
So if you can distill your idea to the absolute minimum, you can start with using consumer apps and some manual work. Goal is only to validate the need for what you have in mind,
Remember, a MVP should be:
mvpIt's fine if you do things at the beginning manually behind the scenes. Doing things that are not scalable in a Tech startup has actually become a key learning and advice (great podcast episode on the topic from Reid Hoffman, ex-Paypal and founder of Linkedin).
Advanced MVP: Low-code (or no-code) platforms
Nothing really new I found - the first ones are 20 years old - though they are booming in recent years.
Here is a short post from last year from Ryan Hoover, founder of Producthunt (which I recommend to subscribe to), about this trend: The Rise of βNo Codeβ
The idea is that those platforms abstract the code away and provide a visual interface to build something, without the need to learn the code underneath.
You might have experienced this already, using platforms such as Wordpress or Wix, focused on helping people build great looking websites. No need to learn HTML, CSS or Javascript (the founding languages to build websites), you can build your website with an easy-to-use visual interface.
No-code platforms are the same, but for building apps - web or mobile.
G2, a popular software directory and review platform, lists 92 solutions in its No-Code Development Platforms category!
I will here address only two I have a lot of experience with.
Caspio
For Convolus, the need was heavily based around a large database, and lots of data to manage (eg daily flights in Europe), but not expecting huge numbers of users (it's a niche industry, and the ARPU - Average Revenue Per User - was high) and less focus on providing an amazing front-end experience (most of the tools used in the industry are not up to the latest User Interface standards).
After testing a few, I settled on Caspio.
It's the "grandfather" of no-code platforms, operating for 20 years now, even before the term "no-code platforms" existed.
I built the platform-side of Convolus entirely myself with it, and it's a great, mature solution, when dealing with a lot of (complex) data. I used Weebly to build the website (better looking) - with the platform behind (once you login) on Caspio.
Here is a look behind the scenes of how Caspio's building interface looks like:
Source: Caspio.com"
"Create forms. Source: Caspio.com"
"Add logic as simple or complex as you need it. Source: Caspio.com"
As you can leverage APIs with it, you can integrate your Caspio-built app with any other external service. I added a year later an automated invoice processing feature (see end of this post), which was built separately, and integrated with Caspio.
So you remain somewhat flexible.
Though it's not best if you want to have a great-looking User Interface. At some point, I had to hire a freelancer to fiddle with the underlying CSS in order to improve the look&feel. For a MVP it was perfect though.
Bubble
For OfficeBots.io, my current startup, I'm using Bubble.
It's much better (and cheaper!) to build good looking front-ends.
Bubble is a growing platform, which just raised $6M, mainly from prominent founders, and includes Eric Ries (the founder of the Lean Startup movement)!
It's popularity is increasing both for small projects, but some have scaled with it too. Below you see its use by websites in the top 1M websites on the web (red) but even in the top 100k websites (blue):
Source: https://trends.builtwith.com/framework/bubble
Here is an example of financial coaching app - web and mobile - built on Bubble: Qoins.
For any idea that requires users to sign up, log in, pay (with Stripe), and building logic behind it's amazing.
Here is a behind-the-scenes at Bubble, for my own use for OfficeBots.io:
"Design your website or app's interface with drag and drop"
"Create your database behind"
"Setup the workflows, ie the automated logic following actions. Here you see the steps happening when a user signs up."
"An example of populated database. Here it's the list free bots users have access to when signing up."
You can even start off with a template - there are templates for Twitter clones, Uber clones, Kickstarter clones, Slack clones, ProductHunt clones, you name it....
If your idea is the "Uber for..." type, you can get started for $200 (and a few late nights and headaches, I won't lie! π ) with a fully functioning web app, helping you test your idea quickly.
Note: for OfficeBots.io, the bots themselves are built in pure Python, and integrated with Bubble - there are some limits to what Bubble can do! But itβs flexible and open, enabling you to develop separately and integrate with it.
To learn more about no-code tools, and get started, Makerpad comes up in forums as a good resource (though I have not tested it myself). Or you can also just select a platform, and buy a Udemy course to get started.
Learning to program
While I'm tech-savvy, an overall geek, and been working in Technology for the last 20 years, I never thought before about learning to program, because it seemed "out of reach". For some reason, I held to the perception that programming requires you to be good at advanced mathematics, and requires years of full-time practice π€·π»ββοΈ.
A few months into Convolus, we visited a prospect.
At one point during the meeting, he asked:
"So is it just you two behind the business?"
"Well, yes full-time, but we have a team of contractors at hand" we said (contractors sounds better than freelancers, especially to more traditional people)
"Do you know how to program?" he asked me, looking me straight in the eye.
Me, with my early-stage startup Sales and Fake It Til You Make It (FITYMI for short) mindset: "Of course".
Now, I only knew HTML and CSS (which are not proper programming languages) and while I have been in Sales for 20 years, believe it not, I hate lying π€·π»ββοΈ.
Lying just brings bad karma (to keep the argument concise).
It's OK to "stretch the truth" though... if you can catch up with it quickly!
My answer did not sit well with me. And after a few days of processing the situation, still not able to get a Tech co-founder considering the situation had not changed much, I said to myself "F*** it, I'll do it myself" (Yes, I swear a lot to myself - and sometimes out loud - I find it's a good outlet π³).
Aged 37 (it's never too late!) and triggered by a critical need (getting my startup off the ground), I came round to diving into it. And realised I should have done that two decades ago! π
Truth is, programming is just another language. It's computer language.
And contrary to human languages, it's extremely logical (contrary to say, French grammar! π«π·π ).
All you need is good logic - better if innate, though learning to program will also help you think more logically and in a structured way - and perseverance.
I decided to learn Python.
It was described as an easy to learn language, extremely popular and gaining even more, and the primary language for all things AI and Machine Learning, which is a topic I'm passionate about.
I started reading books - with Automate the Boring Stuff with Python, by Al Sweigart, being the most valuable and helpful resource that made it "click" for me. More here:
Automate the Boring Stuff with Python
And I began a specific project (getting data for our database) almost immediately after starting reading.
Online courses have proven also extremely useful. Udemy is an online learning platform I use a lot (~60 courses in my library), where you can buy very comprehensive courses for as low as $10 (they run sales every month).
NOTE: NEVER buy a course at its "normal" price (like shown above) - wait for their monthly Sale!
See #CareerPlaybook 001: Always Be Learning (and How To) for more about my methodology for learning:
Here is the first ever working code I wrote, shortly after starting π:
This very simple script simply connecting to our website and downloading the HTML.
But the feeling of starting to build something with potential applications in mind was amazing πͺπΌ π€.
My first working (and useful) script was a scraper to get aviation data from various publicly available sources. This was the start of our internal database.
From there, I started automating any task or process I could (which helped us build the business with limited resources) - first on my own, then with freelancers. I was able then to architect a solution, and give precise instructions to developers, as well as review their work and challenge them.
I will publish a post later specifically about learning Python for non-programmers (ie business people). Subscribe below, so you can be notified by email if interested.
Benefits even for non-programmers
Our world is more and more driven by, or powered with, Technology. In Startups, Technology is a critical foundation - no matter what the startup is about - because Technology is the reason a business can scale quickly and cost-efficiently. What startups are about.
Learning to program, when you come from the "Business" side, has helped me:
- understand the possibilities and come up all the time with ideas where a script or bot could help automate a particular task or process
- hire technical people
- manage technical people and read their code
- communicate with technical people (writing "pseudo-code" - an outline of the logic you need - works better with developers than translating what you need in "human language")
I now firmly believe that everyone would benefit in learning the basics of programming. Especially founders - the epitome of generalists - who need to know a bit about everything (rather than being expert at just one).
Freelancers
I have been using freelancers for the last 7 years or so, starting when I was a VP Sales needing to outsource some low-value tasks in order to build scalable processes (ie taking low-value tasks off my team's plate).
You can hire virtual assistants, researchers and lead generation specialists at a very low cost.
But as the gig economy is booming, more and more skilled and experienced people are joining the battalions of freelancers available to help you do whatever you need.
For Convolus, we built the business up until the exit without any full-time employee - though at some point we had 25 open contracts with freelancers, spanning from graphic design, virtual assistants, web development to Python developers.
Some working 1h here and there, some working part-time.
My experience is mainly using Upwork (for hourly-based or project-based freelancers - 16M freelancers available!)
and Fiverr (for small "gigs").
The benefits are:
- low(er) cost
- quick to hire/fire
- flexible
- pay just for you need
Though there are some downsides:
- more time needed to "manage" them and give them instructions versus an empowered full-time employee.
- longer turnaround times (you are "just" another client)
- loyalty to you is low (for the same reason)
- lower cost means other timezone (which leads to communications during evening/week-ends)
I wrote a detailed post about how to outsource tasks, the platforms available, and my best practices here:
#CareerPlaybook 009: Outsourcing Tasks (are you still doing everything yourself?)"
The 3 steps
So from my perspective the 3 steps you can take to start a Tech startup without having a Tech co-founder (yet) are:
- validate the idea using available tools.
- build the MVP yourself, using a low-code/no-code platform (and learn programming in parallel).
- hire freelancers to do what you can't.
Once you have traction - and ideally early revenues - it should be easier to find a technical co-founder.
Or just skip that entirely if your business does not require it (ie where the Tech side is not the core of what your idea is about). You could also then instead just hire a full-time lead engineer - cheaper (in stock or compensation) - who can manage the freelancers for you.
And while I'm probably not in the best position to advise on that matter (as I am right now looking for a co-founder for OfficeBots, and this being my first experience trying to find one outside of my close circle), here are a couple things I am doing:
Finding a Tech co-founder
Building everything yourself can only take you that far, especially if it is a pure Tech solution at the heart of your offering.
Once you have proven the idea, and ideally have some traction, it should be easier to find a co-founder.
As I am just starting myself on this journey, I might not be in the position to give advice there. But here is what I am doing to spread the word and maximise my chances of finding my perfect co-founder match.
Social Media
I updated my Linkedin profile and shared for a while on a daily basis - this gets exposure. Even on all your older posts.
I had 2 people reaching out to me, out of the blue.
Facebook and all
I guess there are a lot of other channels where to replicate the above, though I deleted my Facebook account 12 years ago and am not much on social media myself.
CoFoundersLab
Cofounderslab is a match-making platform for co-founders.
It boasts 400,000 entrepreneurs on the platform, and 550,000 introductions made.
The free tiers is quite limited. Here are the costs to go Premium:
Technical Meetups
As mentioned above, "Find Your Co-Founder" events are usually full with business people, not so much technical people.
Since I love Python, I have been attending Python meetups - for example of the PyMunich community.
These are obviously full of technical people.
While I have not yet found my match, the pool of candidates has increased.
Lookup local meetups for technical people and mingle with the right crowd!
Epilogue
I wish someone had told me earlier that programming, and building tech solutions, is not that hard to learn, especially with tools available these days, and for the purpose of a MVP or early stage startup.
My journey getting to that point was enriching, and I hope I could inspire someone (you?) to go ahead, and not feel limited because there isn't someone technical sitting besides you. If you have any question, please comment below, or contact me directly via Linkedin (link at the top right).
With Convolus, we got an offer from our American competitor to buy the business, while we were raising a seed round. We decided to accept the offer, and sold the business 2 years after its inception. It was a rollercoaster ride to say the least - "only" 2 years, though so intense that it feels like more! But that's why I love startups! A concentrate of experience and learnings.
On the heels of this, I decided to immediately start anew, with OfficeBots.io - though this time as a solo founder.. not the wisest idea as I came to realise recently, so I have now started to look for a co-founder for the next step in the journey.
Even if it's not a technical one, having a co-founder has a lot of benefits. But that is a post for another day.
Life is a long learning experience....