Standup
Yesterday I created two Python FastAPI servers leveraging a personal library I've been building for the last 18 months, modified with:
Static file handlers to render static HTML/JS/CSS pages
A custom Markdown handler to render `.md` files with an optional HTML template
The two servers are for the company marketing page and the product landing page/customer funnel/application launcher for the product MVP I’m working on. I also brainstormed 12 potential posts, spread across topics such as the education system, theories of childhood education, politics, AI tools and AI research. I plan to eventually write on these topics and publish on both marketing sites, wherever an article about a given topic makes sense.
Today I'm planning on adding handlers to capture email addresses into a simple, dumb .csv
file. I'll scaffold out all pages on both marketing sites, and start to work toward a consistent yet distinct brand identities for the company page and the product page. My goal for the end of the day is to get the shell of both marketing sites running with the ability to enter a preferred name and email address, and be added to a mailing list. A stretch goal would be to get it into a deployable state.
Why focus on capturing email addresses?
It might be tempting to look back at the plan and decide that capturing payment is the most important thing. I need money - it stands to reason that I should focus on collecting money, right?
Every SaaS has a purchase funnel - you lose people at every friction point between hearing about you and converting into a happy lifetime customer. This stepped loss describes a funnel and if you’ve properly instrumented your marketing endeavors will help you identify areas to optimize.
The whole goal of these 44 days is essentially to build this funnel.
The marketing efforts and posts I brainstormed are intended to start to build the very top of the funnel. I can’t just focus on that though - imagine a funnel with the bottom cut off - it doesn’t work great as a funnel and you’ll probably just make a mess if you try to use it. Capturing email addresses from people that voluntarily give it to me is starting to build out the middle of the funnel.
A customer’s journey from hearing about you to becoming a happy lifetime user is usually not immediate nor linear which is why startups track metrics like TAM (total addressable market, the top of the funnel), retention/churn rates (how many customers are we keeping/losing, a proxy of customer happiness in a way), CAC (customer acquisition cost, how much does it cost to convert this suspect to a customer), and LTV (life time value, or how much money will this customer on average pay us before churning off).
When a customer first hears about your company and the services you offer, often - maybe usually - they don’t have an intention to buy anything. From my understanding, the goal is to establish “mind share” - put your company and product in the customers head and position your brand to “prime” them for a future purchasing decision. For example: your boss is thirsty and asks you to grab a soda from the work fridge. As you walk to the fridge you realize they didn’t tell you what kind. Now, whatever sodas you considered getting your boss have mind share in your mind. You need to make a “purchasing” decision around a soda, and the soda brands you thought about are the ones that have a successful marketing campaign.
Once you have brand awareness and mind share, naturally customers should think about your products and services the next time they make a purchasing decision. Depending on the market and the price point, you likely won’t win that decision. I’m building an education based SaaS (I’ll get into this below) powered by LLMs - it’s not going to be cheap to run. My price point is likely above the impulse purchase threshold of most people - so they’re going to think about a purchase before making it.
That’s where the email list comes in. Customers on the fence about committing to a purchase but who are considering it might need more signal from my company on the value of the purchase. Providing a mailing list for product news and updates allows the customer to get that signal. Once I have a customer’s email address, I can direct market with material designed to convert them from the interest part of the funnel down into the action part of the funnel.
This email CSV is going to be the most valuable output of the next two weeks of work, so I'll need to be careful with how I handle it. I'll want to ensure it gets backed up whenever modified, and that the code that touches the file is crazy well tested. This might seem like overkill for the fairly minor task of appending text to a text file, but given how fast I'll need to move, I won't be checking this to see if it's working. It needs to "just work".
At this point, now that I'm starting to reference specific topics to write on and will soon be referencing specific online communities to start to market in, I should probably discuss what the heck it is I'm even building.
The elevator pitch:
Today, we teach children based on an agricultural rural model that is largely and growingly irrelevant in today's AI revolution and US based children are falling behind globally. The future of education is scalable AI driven inverted schools supervised by education specialists.
The grandma test:
A super smart robot teacher for every kid in the world
Now obviously there's no way I can do that in... 42 days. Instead, I'm building out a proof-of-concept MVP of the core idea - an AI tutor led shared collaborative learning space for the investors in the audience, a multi-peer WebRTC video chat with an AI avatar for the programmers in the audience.
For the MVP, I'm going to leverage Heygen to create the AI avatar, and do some Python server shenanigans to enable multiple browser clients to join the same avatar session. Heygen is great and creates some of the most believable AI avatars I've interacted with, but man it's expensive. It's going to create a serious and unattractive situation: turn my product into a wrapper/glue between two other services controlled by two other companies - OpenAI and Heygen. As a product, and as a business, I'd be completely dependent on the whims of OpenAI and Heygen, and would only make as much money (essentially) as they choose to let me. Not great.
Given that I'm also interested in exploring some ideas in the deep learning/language model space, my official legal business entity is conceptually an AI lab, not a product company. That's the second marketing site mentioned in today's standup. If I'm going to make money, I'm going to need to generate my own AI avatars using my own models on my own infrastructure. Which means reverse engineering how Heygen generates their AI avatars and then doing it myself.
Hence, the odd spread of topics. I need to do AI research after all of this to figure out how to replace Heygen, and that work is potential marketing material for an AI lab. The topics about education and specific AI tooling is to support the AI tutoring product idea specifically, and designed to build awareness of the problem, pitch the concept as a solution, and then show off my specific solution.