Welcome!
Happy New Year!
As promised, here’s the first chapter of my own startup “story”. In this post, I’ll cover the following:
- Goals and intent of this blog / newsletter
- Goals I’ve defined for my startup
- Historical context of my startup
Goals for this blog
The main intent of this blog is to create a way for me to share, discuss, and hold myself accountable, building my own company.
Even though I’ve worked in technology for nearly 10+ years, I’ve found that by only by being deliberate, can I grow myself and my skillset by sharing and connecting with others while doing the building.
Topics that I plan on discussing include (not exhaustive):
- Creating a MVP
- Building infrastructure
- Customer acquisition
- Venture capital and taking outside investment
- Being a solo, technical founder
- Why I want to build something for myself and my customers
- Balancing short-term and long-term objectives
In short, this blog isn’t intended to be a guidebook on how to start a company, run a business, or even approach engineering.
I don’t really plan on talking about “hustle”, “productivity hacking”, or any other cliché startup euphemisms. This is an even-paced effort as I work towards obtaining paying customers for something I’ve built.
I’ll use this blog to sound out ideas, layout options/decisions, issues I’m faced with, and attempt to keep track of my progress. I’ve always found that writing (for me) has always driven action, so, here we go!
Immediate goals for the startup
My goal for the next month(-ish) includes launching the MVP I’ve been building over the last 1.5 years.
That sentence though, over-simplifies what launching really means:
- Providing an authentication flow from client to back-end server
- Various housekeeping chores involved with my AWS infrastructure
- Last bits of feature development that are critical to the MVP
- Deploying client and server code to a production environment
- Testing the user sign up and application flow
Historical Context
In the following paragraphs, I’ll condense down how we got to the present day.
This project has been on a slow-burn, for the last several years of my career. The idea incubated when I realized I could combine my biotech experience with my time at working in advertising analytics. Landing at Netflix in 2015 threw gasoline onto the whole process, but more on this later.
Beginning in 2018, I conducted customer surveys (contacted via a private Facebook group), and selected a few key users, whom were willing to share their pain points with existing products in the marketplace. With data in hand, I began designing a rough sketch of my application.
At the time, I didn’t realize there were products out there that would enable me to bootstrap the coding/design process, so I begrudgingly built the entire site by hand with Material UI, Bootstrap, and React.js. This took me months!
While building the client UI, I also spent my time building a back-end server to perform some data transformation, again building this from scratch, and even implementing user authentication using Passport.js.
The application worked well enough, even though it looked like someone coded it back in the 90’s, before modern browsers became available. The back-end code was also functional even though it lacked any good coding patterns. I did write a handful of unit tests though!
With that version of the code done, jump to the spring of 2019. I had launched a beta version to the aforementioned private Facebook group, using AWS.
The bleary morning before “launching” the beta, I shipped the code to also do some session tracking via Google Analytics, and ran my deployment script. I spent nearly all day refreshing the GA dashboard to see if people were signing up.
To my excitement, after the first week or so, I had gathered around 300 users whom had created user accounts (with active sessions). This was a fantastic early signal that I had a viable product. Shortly after (a matter of weeks), life got in the way, a family member became ill, and suddenly, I was going through a divorce.
Life is messy, isn’t it?
Following the winter of 2019, as we all know, COVID arrived. During the last two years, I’ve focused on rebuilding the MVP with an eye for design and infrastructure I don’t have to build nor maintain. I’ve also implemented a few key pieces of technology that will be my competitive edge.
If the beta I shipped was able to garner attention, my true MVP will actually be somewhat polished and utilize maintainable engineering patterns. The beta would not be able to support growth nor enable me to ship features easily to the customer, hence the need for the soft rewrite of the project.
Tools and technologies I’m using include:
- Creative Tim as a very fast way to bootstrap my client code (using React.js)
- Firebase to do all things authentication, user management, and data storage
- Mailchimp to manage user communications
- Google Analytics to provide a little more granularity alongside Mailchimp telemetry
- AWS technologies, including EC2, Route53, S3, and ElasticBeanstalk to handle all my deployed infrastructure
Closing
Pardon the rushed tone of this post, getting rid of my brain fog as we enter the new year has been a bit of a challenge (and I have a few other personal projects I’ve been working on) – I’d rather post something early and follow up versus taking too much time to post something.
In my next post, I’ll elaborate on some of my decisions and provide some updates on tackling that to-do list I enumerated earlier.
If any of you were wondering, the title of this post, “Two more miles…” is a bit of an inside joke for endurance athletes.
“Just a little bit more..” or “The finish is around the corner!” is often cheered by fans on the sidelines, and all you, the athlete can conjure up is, “Where the f*ck is that finish line?” followed by incessantly checking the distance on your Garmin watch or musing the pain emanating from all your joints and muscles.
During any type of endurance race, the last few miles always seem the longest and it seems the feeling holds true for where I am with launching the startup.
Have a nice week!