Jamie's Blog

Lessons from a life of startups, coding, countryside, and kids



Here’s a list of all the things we “should” do at Podia

  • We should be more mobile-focused
  • We should make our web app accessible
  • We should make our course editor work on iPads
  • We should add more validations around forms
  • We should make sure all validations result in a user-visible error message
  • We should implement subscriptions for PayPal
  • We should optimise our slowest web endpoints
  • We should move more in-request processing tasks into the background
  • We should let creators host webinars
  • We should do internal diversity and bias training
  • We should complete our migration from Bootstrap 3 to Bootstrap 4
  • We should clean up the abandoned PayPal work
  • We should migrate all users off the v1 PayPal integration
  • We should upgrade to Rails 6
  • We should migrate our old uploaders from Carrierwave to ActiveStorage
  • We should audit our use of postgres indexes
  • We should refactor our Podia billing subscription code to be simpler
  • We should ensure all primary keys are bigints
  • We should remove the paranoia gem
  • We should remove the vestiges of our old landing page feature
  • We should investigate alternate video hosting
  • We should provide a banner when a new user’s email bounces
  • We should add Zapier triggers for upset events
  • We should update our VAT integration for the recent EU rule changes
  • We should remove the IntroVideo model which isn’t used
  • We should support sales tax collection for other jurisdictions outside the EU
  • We should provide full localisation of dates, times, and currencies on storefronts
  • We should provide full translations of the CMS
  • We should develop better internal guidance about the use of React (etc)
  • We should migrate away from Recaptcha
  • We should enhance our internal analytics for snapshotting historical data
  • We should remove the Order cancelled state
  • We should reevaluate how data is stored and shared between the product and storefront models
  • We should open up our internal API
  • We should revamp our checkout with a focus on simplicity (code and UX)
  • We should move the Zapier integration into our internal ServiceIntegration pattern
  • We should use database views and HyperLogLog structures for counting large tables
  • We should expand our support for custom email domain sending to transactional emails
  • We should provide creators with self-service email configuration
  • We should allow creators to import users
  • We should enhance our fraud and spam preventions
  • We should let creators run multiple storefronts
  • We should allow storefront be managed by multiple users
  • We should automatically split revenue between multiple creators
  • We should engage an external translation service for our i18n translations
  • We should move old code into the new namespaces
  • We should move our analytics pipeline off Heroku
  • We should move our Cart representation to a database-backed object
  • We should support multiple Stripe accounts
  • We should support custom HTML themes
  • We should document our internal development processes
  • We should refactor some internal queries to use the Sales table
  • We should upgrade to Postgres version 12
  • We should use AnyCable for managing ActionCable connections
  • We should cache more fragments inside the CMS
  • We should help out that customer with the analytics query they had
  • We should remove support for our old withcoach.com domain
  • We should update our dependancies

Actually, I lied.

This isn’t all the things we “should” do. This is just my 10 minute brain dump of product/tech things that I think we “should” do, others have expressed that we “should” do, or customers have told us we “should” do. Each person at Podia can probably write an equally long list and can add multiple “shoulds” to the lists each day.

“Shoulds” are not helpful. “Shoulds” are the lowest value currency in business—everyone’s got more of them than they know what to do with.

When there’s an infinite list of “shoulds”, there’s no practical guidance for what you should be doing now. That list above only contains good ideas (at least by someone’s definition) but it’s not helpful unless we prioritise those items according to some constraints.

We’re a very small team but even with an infeasibly large team we couldn’t tackle all the “shoulds” on our list right now. We need to decide what to do now, what to do next, what to do later, and what frankly will never get done. We don’t need more “shoulds”, we need more priorities.

Priorities force us to decide what’s important to our product, or our business, or our customers, or our careers. Priorities force us to make very difficult decisions about disappointing one group in favour of delighting another. They force us to make trade-off’s

There’s an infinite supply of “shoulds” in the world, they’re cheap as chips, and, like your email inbox, everyone can add to them—but priorities are hard fought, tough to make, and invaluable.

Priorities are the only way to navigate the sea of shoulds

Photo by JOSHUA COLEMAN on Unsplash