Building SaaS Under Quarantine

The first weekend after the pandemic became official, I visited my parents for Shabbat.

We discussed the magnitude of the impending situation over dinner. My mother, a novelist and poet, is a working artist. She splits her time between writing her second novel, teaching literature at a private college and at conferences, coaching and mentoring other writers, and editing. She also leads workshops a few times each month.

While the pandemic wouldn’t impact her ability to write, it would impact her ability to lead workshops. We thought about how she might continue leading workshops without a physical meeting place. Traditionally, my mother’s classes were organized on behalf of an institution, like a synagogue or community center, as part of their monthly programming. The community center served as a venue, and would provide a few things: brand recognition in the community, diverse programming to appeal to the different demographics, and a venue for everyone to congregate in. Usually, these venues are funded through membership programs and donations. Members pay an annual or monthly fee to subsidize the salaries of the venue staff and the electricity bills.

In most instances, my mother served as a contractor. She would be assigned a class, and membership or registration fees would allow the venue to pay her a modest fee in return for leading a workshop. Before the pandemic, the community center served as a vertically-integrated neighborhood service. For people like my mother, this was a great way to gain access to a captive local audience by leveraging its membership community. Community, program scheduling, and venue, all in one.

On the heels of the pandemic, however, we had uncovered the fragility of the status quo. With coronavirus quickly spreading, we realized it was no longer possible for my mother to leverage the community center to host her monthly classes. While she could teach virtually, the community center in question was not technically savvy enough to migrate her classes to Zoom meetings.

The community center served as a timeless pillar of the local community, a physical meeting place which would remain active and relevant based on the inseparable connection between people and their neighborhoods.

But with the pandemic, people were staying far away from public meeting places that would potentially serve as vectors for the disease.

As we talked about this, I tore apart a piece of challah and pondered: What if there was a way for my mother to migrate her in-person classes to the internet?

Instead of relying on the community center to coordinate people, venue, and payment, my mother could use an online platform to accomplish the same thing, but without a third party between her and her students.

I could help her build an online platform to unbundle the community center!

Naturally, this made my wheels spin, and I poured myself another glass of Zinfandel.

No sleep ‘till passover

The next morning, I started building. I was entering a three-week stretch with a modest amount of free time, and I was looking to start a new project.

I figured that an online platform to create paid virtual events would be relevant for many people facing the same problem as my mother. Everyone who was previously earning money from hosting in-person events needed a way to do the same thing virtually.

My roommate and occasional co-founder, Luke, had already built a Serverless Django template for quickly prototyping and deploying APIs, and I leveraged our React Typescript template so I could start building features right away.

The app itself would be fairly simple - there would be models for users, events, and event participants, and eventually I would add customer and transaction models to accommodate the payment portion using Stripe.

I wanted to include video chat in the app itself, because I knew not everyone would already have a Zoom account. I learned that Zoom has an SDK to embed video chat in the browser, but that feature is not fully refined yet, and implementing it was a painful process.

After having the epiphanous conversation with my parents over dinner, I decided to prolong my stay and camp out at their apartment for the next week while I developed the initial features of the app. I eased into the quarantine with a fairly ascetic routine. I would wake up around 9am, make a batch of Bustello drip coffee, and start coding immediately after. I would eat six eggs for lunch, read or play chess with my brother, and do a short calisthenics workout at the playground across the street. I’d resume work in the afternoon, usually tying up the loose ends of whatever I’d started building in the morning. My family would eat dinner together, and we’d end the day by watching a movie on my brother’s massive new TV that he had coincidentally purchased just before the pandemic.

After a week, I had built a good number of features, and decided to finally return to Brooklyn. I continued the routine until Passover, a week later, when I returned to my parent’s house to celebrate the two seders together. Since our seders were happening virtually this year, I advocated to my mother that we try using my new app. Before I left, I bought a domain name, remote-seder.com, and posted a blurb on my Facebook feed.

We managed to accommodate our seder guests on the app, with a few hiccups. The Zoom SDK didn’t work for our guests using older browsers, so we had to invite them to the video meeting by manually sending them the Zoom link.

Overall, however, setting up a DNS for the app and soliciting people to use it served as a morale-boosting milestone, and I recommend it for maintaining momentum in any project requiring sustained effort.

The calendar melts away

The next two weeks blurred together. With the lockdown in New York City tightening, I no longer had access to the playground where I would do my calisthenics. I resorted to doing pull-ups on a nearby scaffold. I occasionally biked past Brooklyn Hospital, where long refrigerated trucks stood outside, waiting to store the overflow of those who had succumbed to the virus. Old friends would text me, as part of the calibration procedure we all seemed to be doing, figuring out which parts of our life were going to be the same, and which ones weren’t.

Just trying to stay positive, I’d say. Hanging in there.

A few friends lost their jobs. One friend, a small business owner, was forced to furlough his two employees, both of whom are immigrants without green cards, and thus ineligible for unemployment insurance and stimulus checks.

I continued working. It was a helpful coping mechanism for drowning out the suffering and uncertainty happening outside.

I added payments to the app; I marveled at the ease of implementing the Stripe API to handle payment processing, and I imagined Stripe as a benevolent force for good, smiling down on developers like a proud parent. I even had a dream where I walked through a museum exhibit about Stripe, 100 years in the future.

With less than a week’s worth of work, I was able to build a system that allows event hosts to create paid events, collect payments from participants, and have the ticket fees deposited directly into the host’s bank account. Building this economic tool felt like a superpower.

payment

An upcoming payout, shown here on the Stripe dashboard

Building Hologram

With the core features complete, it was now possible for a person to visit the website, sign up with Twitter or email, create an event, connect their bank account, get paid for every RSVP, and host the actual video call from within their browser window. It was pretty cool.

payment

Submitting a paid RSVP for a virtual event

But I still hadn’t come up with a permanent name for the service. I was still using remote-seder.com, and I had resorted to calling it “the app.” For some reason, coming up with a name felt very difficult, and I needed inspiration. I googled startup name generator and was given a number of options, but one stood out: Hologram.

I searched GoDaddy. Hologram.com was taken, but I contacted the owner.

He asked for $100,000.

I countered with $300.

We amicably put the conversation on hold, and I settled for joinhologram.com, which GoDaddy sold for a very reasonable $1.

I was close to being in business. Now, it was time to come up with a launch strategy.

ProductHunt is the obvious place to post about a new project. I went to the site, and browsed the popular products from the past week. Not surprisingly, two of the week’s most popular products were conceptual variations on my idea. One, called zmurl.com, was the top submission of the day that week. Another, called joinstream.io, was the second most popular another day.

Clearly, this idea had legs, because other people had built it too.

While I’ve never launched anything on ProductHunt, it’s a known to be a great source for initial traffic, but an unsustainable one for consistently attracting users. While I still planned to launch on ProductHunt, I decided to try finding users organically first. I wanted at least five users collecting money for their events before submitting it.

So, I reached out to my network in search of prospective event hosts.

finding users the organic way

Luckily, a few people reached out. What feedback did they have? How many events did they create?

finding users the organic way

Discussing features with an early Hologram user

Stay tuned for Part II. In the meantime, please check out the app! I’d be grateful for your feedback.

Did you enjoy this?

If you've enjoyed reading anything here, you should consider signing up for semi-regular emails from me. That's the first place I go to share anything that's on my mind.