Monday, August 24, 2020
Sunday was a huge waste. I got up about 8 AM and figured I’d peek at my website to see what that error message was all about from last week. Come to find out it wasn’t just an error – the entire website had crashed, was completely fucked, and that resulted in me spending all day trying to recover it. That failed and I opted to rebuild it on a new host. After spending most of the day on it I finally got it fixed – and then it promptly blew up again.
I decided Sunday evening I was done with WordPress. I spent Sunday night in front of the TV, watching something as background fodder, and looked at static content management systems (Static CMS). After all the WordPress issues I’ve had over the last year, I decided a simple HTML page system would be much safer and faster. My biggest fear is that I’ll lose content and not be able to rewrite it as some posts are so nuanced, and so old, that it’s impossible for me to every fully recreate it or remember it. I do a pretty good job backing up the site each month, but don’t do it with enough frequency where I wouldn’t lose at least a couple blog posts because I’m writing every week, often multiple days in a week as the days go by.
I generally distrust databases. They are rickety, a pain the ass, and computationally expensive. A flat file system – good ol’ text files – are much safer and better. I can open Notepad or Vi from anywhere and get access to the raw content. Not so with databases.
I looked at Publii, Jekyll, and a couple other Static CMS apps. I settled on using Jekyll to build out a site, found a decent template, then set about learning how to use Handlebars and Markdown. I’m still very much a noob, but after a couple hours I had a site I was comfortable with putting somewhere.
Or at least the shell of one. I’ve got a ton of content that is going to have to be converted over and the WordPress-to-Markdown tools I found didn’t work. It could be from the WordPress database issue I spent all day Sunday trying to fix, just a non-functional app, or … anything else. Anyway, moral of the story is I have a lot of manual work ahead of me to get things out of the WordPress database and into a flat file Static CMS system and no time to do it. Maybe if I can get a page or two done week that might work… but with 180 blog posts that’s 90 weeks… so 2 years. Nope, that won’t work. I need to figure out something.
Sunday night I also registered Rocketansky for the Startup School Build Sprint. I was somewhat on the fence of doing it, but figured why not? We are in a build spring already, it won’t hurt to try for the $10,000 bonus money, and we’re already planning to apply to YC so we have nothing to lose and it doesn’t really require us to do anything different or detract from our goals. In fact, knowing that it wasn’t going to change our goals was oddly reassuring – it means we’re moving in the right direction with the right focus.
I spent some more time Monday morning playing with Jekyll and the Static CMS apps. I had the sudden idea Sunday night that if we used Jekyll and Markdown pages for our help system we could keep a recurrently updated, and very fast, online help system available for customers. Costs to maintain it were low, delivery costs were low, and it would fit neatly into our model. Perhaps Sunday wasn’t such a fucking waste after all – if WordPress hadn’t blown its top then I’d have not been aware that Static CMS existed in the form that it does.
I pinged Jon up and let him know to take a look at it when he had time, but not to let it detract from the web front end. That’s primary for now. He said he’d check it out later on.
Monday was also the first day of our Build Spring at Startup School. It felt no different than any other day.
I got an email from my old boss, Dale, Monday morning to see if I was free for dinner one night this week. We were at dinner together on Thursday last week, but didn’t really get a chance to connect and chat so we decided we’d do Wednesday this week instead just the two of us. I also asked her what she needed from me so we could get the trademark filed as she offered last week.
After the 10AM daily standup call, I spent time working on the executive summary we needed for the Venture Atlanta pitch competition. I think I put somewhere around 4-5 hours into it to get six very well written paragraphs. I was reminded of Blaise Pascals “I would have written a shorter letter, but I did not have the time.”
I tossed what I had written to Tom and Paul in the afternoon, Tom came back with some redlines, and adjusted those into the master doc prior to sending over to Kevin with a note for his input. He responded back a little while later saying it looked quite good. I crossed that off my plate and then settled in to figure out our sales growth and financial numbers.
I did some work over the weekend prior to wrap my head around the financial planning spreadsheet that Mike was kind enough to send over. Our business model was different than his, so the sheet needed some structural changes, but I think we got enough in the model that makes it a realistic plan for the short term.
Tom and I jumped on the phone Monday night about 7:30 PM and started going through the financial, sales, and hiring model. After a couple hours getting the first model right, we copied it over into four additional models. They are:
- Option 1: NSF
- Option 2: YC
- Option 3: Venture Atlanta
- Option 4: Hail Mary (no funding)
- Option 5: Holy Grail (more than one source of funding)
Overlooking the nuances of funding inflow dates, and hiring ramp, the models are all really the same. In essence, we need to:
- Prototype by September 1
- Minimal Viable Product (MVP) by December 1.
- Sell 15 customers in Year 1.
We think we can make bootstrapping work, but requires we get about 15 customers in year one. I wasn’t sure if we can do that or not. I tossed a note to Mike letting him know I wanted to dig into sales growth and ramp on our advisor call on Friday.
Tom and I wrapped up shortly after midnight.
While I was on the phone with Tom, Ben pinged me on Slack and said he had a friend, Rosie, that was looking for an internship. I told him to toss me her resume and LinkedIn profile URL and I’d take a look. He said she was going to reach out to me on Tuesday directly.
Tuesday morning my website blew up yet again. I needed to get it moved elsewhere, but there just wasn’t any time to mess with it. I converted from writing my posts in WordPress draft mode and leaving them unpublished to writing in a Word file stored on my laptop until I could find some time.
I took a little time Tuesday morning to go to the dentist and took Kim some donuts from Donut Dollies over to Kim’s office. It was a rainy-crappy-dreary kind of morning, my favorite, and felt like a little drive in the car would do me some good. She was appreciative of the donuts and I swung through Chik fil A on the way home for a chicken biscuit and a coffee.
I was glad I took that hour to myself. Once I sat down at my desk it was non-stop all day. I spent two hours with Tom in the morning chatting about things from the night before, I had an interview with Rosie, I spent an hour on the phone with Robert, the Security Director that took over for me, then Sudhir called and spent an hour on the phone with him catching up. Around and in between all of that were brief moments of working on the website with Jon, testing the iPhone app, making lists of every loose end that needed to be tidied up for both the app and the website, and answering emails and questions from others.
The interview with Rosie went well. She seemed interested, excited by the work, and I figured why not give her a shot. I tossed intro emails to Tom and Paul and they setup some time to chat with her on Wednesday.
I took a quick break at dinner – skipped lunch, I was thankful for the biscuit opportunity when I had it – to eat some chicken briyani that Kim cooked. At 9 PM, I jumped on our Tuesday night Founder’s Call and caught up with Tom and Paul. The call was the usual – touch on all the different business things in flight, finances, development, etc. – and then wrapped up the call after about 90 minutes. We all transferred an extra couple hundred bucks into the company account so we can pay Josh in September as he elected to take the “beer money + stock” compensation plan. It was funny seeing the company bank account at $1,100 dollars – we felt rich!
As I was getting ready for bed, I started dwelling on Beyond Identity. During the management call with Paul and Tom, we discuss our competition and if there have been any significant moves by them. The reality is that Beyond has $30 million in the bank and we have $1,100. I felt a little David vs Goliath in me. Now, with that said, there’s a great example in one of Malcolm Gladwell’s books about David vs Goliath. The reality is that David was absolutely going to win; David was a ranged soldier expert in projectiles and Goliath had to engage in hand-to-hand combat to win. So long as David didn’t engage directly, he would win. I feel as though it’s a bit of the same with us – if we steer down market, small-medium business, then we should be able to build a base of business on limited budget. You need $30 million when you’re trying to build products for enterprise companies out of the gate, but not for small-medium business. We’re competitors, but it’s possible for us to build our own small subset of clients that don’t quite overlap.
Or so I think. We’ll see how this all plays out come next year.
Jon woke me up at 6:45 AM on Wednesday by bombarding me with twenty-odd slack messages. Apparently, he had cranked through the punch list most of the night and was marking things off. Since I was now awake, I figured I might as well get started working so wrote up the trademark paperwork for Dale since she had offered to get it filed for us (I owe her dinner).
I wrapped that up by about 9AM, called Tom to make sure we had the $300 available in the bank account, then passed Dale my credit card info so she could get it filed for us. It struck me as amusing that I have to pre-approve a $300 expense with our CFO because we’re running that tight on cash. Such is the life of bootstrapping your startup pennies at a time.
The trademark filing process was actually pretty easy. I expected it to be way worse. Basically, I did a search on the USPTO website for trademarks and made sure our mark wasn’t taken, then used their approved catalog of descriptors to find the right description and code to use. I did a search on “authentication” and “SaaS” and sure enough, exactly what I needed popped up.
I spent a few minutes after that looking at provisional patents, which we need to get moving, and after about twenty minutes just closed the browser window and moved on with life. That’s a whole other headache that I didn’t have the inclination to tackle Wednesday morning.
Daily stand up at 10AM, as usual, then that rolled into a Startup School Build Sprint call at 11:30. The Build Sprint call was good, lots of information, but my expectation was totally different. I thought the call was going to be more like our weekly sessions in Startup School, a 1-on-1 kind of thing, but it was actually a webinar with 1,900 people on it. Apparently, there are over 10,000 people in Startup School and about 20% did the Build Sprint. That is an insane number of founders all building stuff across the world. Kind of mind blowing.
I made one contact on the Build Sprint call. Shreyas, the CEO of a company called getcolo.dev, was building an OAUTH platform for JWT tokens. That’s a component we rely on (OIDC is a superset of OAUTH) so I reached out to him via his YouTube video, because his website didn’t have an email address on it, and we setup some time to chat on Friday so I could learn more about what they were doing and see if there was anything I could learn from him.
The Build Sprint call wrapped up at 12:30, then I jumped on with Josh to come up with a punch list of open issues within the iPhone app. The app kept crashing while we were working on it; more backend stuff to have Ben fix. That call rolled directly into a call with Jon to punchlist the website at 1:30 and I think I wrapped up with him somewhere around 3. I think? I’m not really sure. I had a quick chicken tortilla lunch from the microwave, then jumped back on with Josh and was on with him until 5PM working on the iPhone app.
At some point Paul called while I was talking to Josh, he and I played phone tag twice, then finally connected after I got done with Josh. Short version – Paul and Tom’s interview with Rosie went well and he was good with bringing her on board. I flipped her a quick note letting her know I’d be sending over the Intellectual Property Agreement and NDA on Thursday and that we were excited to have her onboard with us.
I took a quick shower after that and then Sudhir showed up at 6:30 PM. He and I spent some time on the patio catching up, eating some briyani and sipping a bit of bourbon, and generally proselytizing the coming technology changes in Higher Education as a result of Covid, talking about the startup and my new world, and just enjoying each other’s company. It was really, really enjoyable – a much needed social break from constantly being “on” and focused on Rocketansky.
After Sudhir left about 9PM, I was back on the laptop getting a few emails sent, finishing off the last dregs of bourbon, then climbed into bed about 10:30 PM. I read until midnight or so, catching up on a number of Stratechery articles I’d been recalcitrant in reading, and a couple other articles I’d flagged for digestion.
I was up and out of bed a little early Thursday. Kim woke me up on her way out the door about 7:15 and spent the first hour or so reading my usual hit list of newsletters and articles. I made some oatmeal while I was reading on my iPad and then drifted back to my desk to send some articles to Sudhir that I’d committed to sending him the night before. One article in particular, a case study about a man named “MacGreggor”, not to be confused with the McGreggor that helped us from school, was one of my favorite articles during the program. I believe my friend Ben sent that article to me; again, different than the Ben working with Rocketansky. The article basically makes the point that you need to delegate and enforce decision making closest to the problem. Many managers don’t do that – they jump in all too often to solve the problem that their subordinates should be handling because they’re closer to the problem.
I was wrapping those emails up to Sudhir when the clock struck 9 and jumped into a Zoom meeting with Josh to walk through all the bug fixes necessary on the iPhone app. We played around with different color pallets for the devices screen but couldn’t quite find anything that we wanted. We tabled that to focus on the other issues we knew needed to be fixed. The device crashed numerous times while trying to use it. It was highly unstable because we’ve been screwing with the code quite a bit as we get closer to a final product.
It generally works like this – you build different pieces independently, then merge them together, then fit & finish the app with a little bit of polish. The problem is we’re at the tail end of that merge phase while trying to do fit and finish plus getting the backend done. There are things we know we need, like a delete devices button, but don’t have the plumbing on the backend yet to take any output from the app. I think once we get past the prototype and can say “our goal is to release one feature a week” then we can keep all the pieces moving in concert.
Josh and I halted at 10 AM, jumped over to the daily standup meeting for about 40 minutes, then jumped back to our own meeting to keep working on the iPhone app. That lasted until about 12:30 PM, then I took a break to reheat some chicken briyani and grab a bottle of water. I realized then that I had completely forgot about breakfast – my bowl of oatmeal was still sitting in the microwave. Such are the days immediately before your launch date.
There was good progress on the backend Thursday. The web sockets, after many long weeks of headaches, were finally working. There is now another subset of code we need to get built for the those, such as the automatic account and device verification from email and text message during the account creation process, but I think we’ve got enough working with just the email verification for now that we can cut that workload in half.
It occurred to me Thursday afternoon that we might actually ship this thing on time considering we were overbuilding the prototype in several areas. I think we laid out too much functionality initially, rather than looking at the barest minimum code necessary, but that’s not necessarily a bad thing either. We’re first time founders, first time builders, so we’re going to make some mistakes here and there. This was an easy one to correct and in the grand scheme of things hasn’t led to us missing our timeline and goals. Aim to do more, rather than aim to do less. I was reminded of the Build Sprint guidance – “aim to do something that you have a 50% chance of success to accomplish in the next four weeks”. I’d say we pretty much hit that on the button.
After lunch, I finished up the Venture Atlanta Pitch Conference application and tweaked our executive summary a bit prior to submission. Tom and I chatted a bit when I was getting ready to submit, ran a couple changes by him, then hit the button… that die is now cast. We’ll find out if we get into the pitch competition by September 18th, but may be required to do a “pitch off” September 10th if we aren’t a clear yes or no.
That means we need a pitch deck ready to go by September 9th – just 13 days away. Next week is going to be insanely busy because we’ll need to have it heavily reviewed and rehearsed prior to the 10th, which will take a week, which means getting it done by the 3rd, so… I’ve got 6 days.
Holy shit in 13 days I could be pitching our company to people. Holy shit.
I had a Startup School meeting at 3PM and it turned out it was with the same folks from last week. Not sure why that is, but it was good to chat with Yoni again. A guy that didn’t make it last week, Velentine, was there pitching his company which was a Yelp-like app for small businesses. I had concerns about the competitiveness of it and how he would differentiate. On the call, the three of us talked at length about the Higher Education market and what Yoni was doing with his company. I wish I had written down the details, and maybe I’ll revisit in a later blog post, but in general, Higher Education is ripe for disruption due to the pandemic. Everything is tossed up in the air and a really smart company could radically shift the Higher Ed market to create a very democratized and portable education framework at the national level.
Coincidentally, Sudhir and I were talking a lot about this when he was over on Wednesday night. George Friedman’s article Thursday morning (8/27) talked about the Higher Ed market being ripe for disruption as well. That seems to be the theme over and over for the last 24 hours from three different sources.
After the Startup School call wrapped up about 4:15PM, I took a quick break and then hopped on the phone with Josh to keep punching away at the layout for the Devices screen in the iPhone app. We settled on a yellow background with some white cards. I wasn’t crazy about it at first… but it has grown on me since. We also made the decision to move away from the drop down menu in the top right and instead go to a full page with < Back functionality and a more intuitive layout. It was the right choice aesthetically and functionality wise; the drop down menu seemed unbalanced and a little meh to me.
As I was wrapping up with Josh about 6PM, I pinged Jon up via Slack to see when he was going to spend some time working on the frontend website. We still had a couple things to deal with on the site from the punch list earlier in the week and it occurred to me that now that the submission is in for Venture Atlanta, we may need something more robust than the single “About Us” page that’s there now. If they go look at it this weekend or early next week I’m not sure what we have is really sufficient.
John gave me the “[eyeroll] ok, you’re screwing with my plan, but yes, I’ll do it for you tonight” response. I think secretly he likes the abuse and the fact I challenge him. He’s a smart guy, I am really, really happy with the way the site and the app are turning out. Josh and him both, job well done.
I took a quick break for dinner after that, more chicken and mutton briyani, then back to work so I could get a list of “must have” production functionality to Jon so he could start cranking once he got the kid to bed. Jon pinged me on Slack at 8PM, right on time, then he and I jumped on a Zoom call and went through the website functions I need for Friday.
After some discussion with him, we decided to just stay the course and focus on the punch list items and the cleanup we have to do. We pulled in Dean briefly, he was up working too, and talked to him about the two API gateways we needed, one for the contact form and the other for newsletter functionality. He said he’d take a look at them and Jon said he’d crank tonight on getting things wrapped up with the punchlist. I setup a meeting for Thursday at 4 so we could all circle back around with the hope that we’d be able to push the site live Friday night.
Friday was a blur of meetings. We had the daily standup in the AM, then Paul and I jumped onto a meeting with Shreyas, the founder of GetColo.dev, an OAUTH API offering. The conversation with Shreyas was interesting. Essentially he was building something similar to us, but focused entirely on the management of OAUTH claims post-authentication. If you took his product and bolted it behind ours it’d probably be a pretty compelling authentication stack.
After talking to Shreyas, I spent 30 minutes talking with Ben. He informed me that he’d decided to pursue a job offer with a medtech startup and would be leaving us after Labor Day. I was sorry to hear the news on one hand, but was happy to hear that he’d gotten a great opportunity. I’ve learned over the years that people are going to leave for a variety of reasons and the very best of those reasons is that they’ve been offered a new opportunity based on what they’ve learned with you. Growing people is the #1 thing that gives me satisfaction as a leader, more than any other aspect of the job.
I jumped from the meeting with Ben to a meeting with our advisor, Mike. Topics of conversation were around reasonable sales growth numbers – 10% month-over-month is a good benchmark – and pitch deck suggestions. Mike said he’d send over a collection of pitch decks he had filed away so I could look through those as reference. He said that I’d find some good in there, some bad, and some just plain horrible. After a review, I concurred with his assessment – there are truly some awful pitch decks out there.
The one thing I got from all the pitch decks, good or bad, is that financials are a key component of it. It’s one thing to have some pie-in-the-sky numbers, like we did, and it was entirely something different to have numbers acquired through real growth and sales. I hope we can get to that point.
Mike also sent over a financial model in an XLS workbook for us to use as a base. His company, Disrupt::Ops is much different than ours is, but it gave us a good starting point as we figured out our growth rate, ramp, burn rates, hiring plan, and so on. It’s a complicated spreadsheet. I figured it would take some time to wrap my head around the information flow in the sheet so earmarked some time over the weekend to dig into it in more detail.
After the call with Mike wrapped up, I was back on the phone with Jon to work on the website. We stayed on the phone until almost 6pm hashing through iterations, wording updates, formatting, etc. It was a lot of blocking and tackling but was a worthy use of time as we try to hone in on the look and feel we want to use for the site, and by extension, the entire backend of the product for account admins.
All-in-all a good week. Some bad news, some good news, but forward motion and that’s probably the only thing that matters. Everything else we can take in stride.