How to prioritize side hustles #buildszn

Here’s the fourth update of #BUILDSZN.

I’ve been just plain busy

I missed last week’s update because client work with Grow Development took priority. I’ve had some project launches, project turnover, and family events over the weekend.

This update got pushed to Monday, then Tuesday, then on Wednesday I removed it from my task list and decided it could wait until the next week. I’m choosing to have grace for myself since this is a self-motivated project.

How do you prioritize side hustles?

I have a “Builder” Twitter list and saw this conversation pop up there. I was very intrigued by the entire thread.

Jason Cohen and DHH were discussing if Basecamp was started while working 40 hours per week. I took a screenshot and posted it into a private Slack I’m in and I’ll re-post it here for you to read:

I totally guffawed at this line “… it was ~40h weeks working. I love how incredulous this appears to Americans”. I have to admit building a startup with just 40 hours per week does sound foreign to me. Maybe it’s time to embrace other cultures?

Today Nathan Barry mentioned this exact same conversation in his blog post titled “Can you build a successful startup in 40 hours per week?” (he links to the tweet from Justin Jackson that started it all) and in his post he gets to the root of the question extremely well.

Don’t confuse hours as an equal measurement for results.

Don’t confuse hours worked with progress.

He says it depends to the quality of the time put into the startup. Whether it be 2, 5, or 40 hours, if those hours are not quality time moving the project forward then they aren’t valuable. Nathan calls this time “focused time”, but it could also be called Deep Work.

I talked about the book Deep Work by Cal Newport on episode 7 of my podcast and I recommend the book often.

Progress of BUILDSZN

I have been tracking my time during #BUILDSZN and have put a total of 20 hours toward the project over about 40 days. That’s about half an hour per day. In reality this time has been spent in bursts mostly on writing or learning new tools.

Twenty hours doesn’t feel like a lot of time spent, and I don’t think that’s enough time to make my targeted launch date of January 1st. I am happy with what I’ve learned so far and believe I’m closer to finishing than I was when I started, but something needs to change to make that targeted launch date a reality.

What changes need to be made?

At this point one of these needs to happen:

  1. the launch date needs to be pushed into the future
  2. the date needs to be turned into a soft launch date
  3. I need to spend more time building in the remaining three weeks of 2018

I’ve realized that I don’t enjoy working on the weekends so I need to move #BUILDSZN time to week days and rely less on sprints on Saturdays and Sundays. How can I do this?  How would this time get balanced with client work and working on my plugin shop? The best move for me is to add the time to the front part of my work day and let the rest of the day go longer if needed.

I normally start work at 9am or 10am. The time I wake up varies because I don’t use an alarm clock. If I start using an alarm at 7am I can be ready to start work by 8am. That’s an instant extra hour to put toward building.

I don’t like waking up early so I’ll probably subconsciously fight this. I will also need to find a way to build the habit of having the first hour of work be deep work.

So those are my two goals for this week:

  1. Integrate building time into my schedule at the beginning of the day
  2. Focus on making the additional time deep work focused on building

I’ll report back next week on how this goes! See you next week!

If you have any questions or comments get in touch here.

Holiday week and reverse engineering an app #buildszn

Here’s the third update of #BUILDSZN.

Thanksgiving

It was a holiday week in the USA. I thought I would get more done than I actually did. We host Thanksgiving lunch for our family and friends so there was a lot of preparation to be completed before Thursday. Days afterward were spent resting and recovering.

The image for this post was taken when we walked with our kids to a local middle school and raced each other around the track. The weather and exercise were great!

Working with a real Laravel app

I continued my learning before building that I began last week, but in addition to reading documentation and looking at a blank Laravel install I added a real app.

I had been a user of Quicken (personal finance software) for about 20 years. I liked that I could run simple reports on where I spent my money and track account balances while keeping the data on my computer. Intuit moved away from being a desktop app to an app with an online sync. My financial data would be synced with their servers in a way I was not comfortable with. I stopped using Quicken and started looking for an alternative.

About a year and a half ago when I was thinking of learning Laravel and in the middle of removing my data from Quicken to a Numbers spreadsheet I had the idea to look for a Laravel app for personal finance. A few searches later I found bdgt – a Laravel 5.5 app built by Sara Bine. Even through it’s a side project of hers there is enough functionality to make it usable for what I’m looking for. The only thing I needed to build was a simple CSV file importer.

This past week I started reviewing the bdgt app next to a blank Laravel install to see what’s been added to make the app work. I can also see some differences between Laravel 5.5 and Laravel 5.7. When I see something that’s been changed in bdgt that I don’t recognize I look back to the Laravel documentation to learn what it is. An example of this is the Contracts concept.

This method of learning has been very rewarding because it’s a lot more fun reverse engineering a working app than staring at a blank space wondering what to do next.

Other updates

I’m still working on my questionnaire and will contact store owners this week. I’m also working on some wireframes and a list of functionality. This is needed soon since it’s something that will be useful when talking to potential customers. This is all very new to me so there’s a possibility of wasted time. Either way, learning by doing is why I’m doing #BUILDSZN in the first place!

If you have any questions or comments please get in touch here!

See you next week!

Learning before building and talking to customers #buildszn

I’m two weeks into #BUILDSZN and here’s the update. Everything right now looks like a blank canvas or a cleared piece of land, but very soon there will be more activity. D

Learning before building

Last week I talked about choosing a framework (Laravel) and that I watched some videos of people coding on YouTube. This worked well to jog my memory of the handful of times I’ve tried coding with the framework, but didn’t seem to be going very fast (more on that later).

This week I setup my local development environment. I skipped Laravel Valet and Laravel Homestead. Half the trouble of learning Laravel is learning all of the different names of tools that are available.

I had already been using Local by Flywheel for WordPress development so I wanted to see if I could use my current setup for Larvel development. I’m happy to report it is very easy to setup a site in Local and repurpose it to be a Laravel setup.

I can keep using PHPStorm as my editor just like I do for WordPress, but will probably need to switch the coding standards plugin away from WordPress coding standards.

I mentioned watching videos didn’t seem to be going very fast so I decided to read all of the Laravel 5.7 documentation. This might seem crazy and unnecessary, but I see this as a walk through the woodworking shop to see what tools are available.

“Great, I see a table saw over there. There’s a planer and a jointer. We’ve got ourselves a nice bandsaw. Oh, what’s that over there? Something new to learn, great!”

I wanted to get all of the available tooling and some of the naming conventions fresh in my brain before I started hacking. I took a few of the ideas like routes and service providers and spent some extra time digging into the framework code. While doing this I discovered my podcast host Fideloper has a package included in Laravel! Way to go Chris!

I’ll probably finish reading the documentation and finish up a video series on Vue this week. Then I’ll start working on the ReportEDD app next Monday.

Talking to Customers

Last week I mentioned in episode 13 of my podcast I talked about the app I’m building. The main topic of the episode is “How do you choose what project to work on?” and was inspired by a tweet by Justin Sainton. While reading the responses to the tweet I saw this response by Jason Cohen:

Reading that was a huge “Ah ha!” moment for me. Of course I need to spend this time talking to customers. The first customer was very easy to talk to – it’s me!

Since the application I’m building will be used by me in my EDD business it makes sense to write down what I want to see in it. I’m developing a questionnaire that will ultimately ask “What will you pay for this?”

I’m also starting a list of people I know semi-personally who use EDD that I want to chat with about the app.

Week two is in the books. This week is Thanksgiving holiday in the USA and I don’t know if that will positively or negatively impact #BUILDSZN, but either way I want to keep the momentum going!

If you have any questions please get in touch here.

See you next week!

Choosing an app Idea #buildszn

Today is one week in to #BUILDSZN and as promised I’m posting an update. I committed to updating on specific dates because without a deadline and public accountability procrastination will get the best of me and nothing will happen.

Procrastination is the God of Death of Ideas. To that I say “Not Today!”

Here we go! This is what happened over the past week.

I chose an app idea!

The first thing that needed to be decided is “What am I building?”

I started with five ideas. I compared these ideas on a few factors like “Does a market exist?”, “Do I know the technology?”, and “Would I use this app?”  

Here are the five ideas I considered:

  1. A wish list or favorites SaaS that can work with any ecommerce platform, stock photo site, or a design portfolio site. The platform would provide analytics helping site owners know what products are popular at given times, and among different segments of customers.
  2. An app that can be pointed at a large set of pictures and video (think an S3 bucket, or a Dropbox account). The app would provide statistics, apply some facial recognition and scene recognition to apply metadata, and make it easier to catalog and search through large amounts of data. I have about 18 years worth of photos and videos in my digital archives and if I’m ever going to do anything with all these photos/videos I’ll need some help! Also, I want this app to be totally private. I don’t want any of the data or metadata shared with a 3rd party.
  3. A “Private by Design” app using Snips platform that would be a voice enabled home controller and would incorporate data and run a central TV. The idea would be a way to have a voice activated device to say something like “Hey, [computer], show pictures from Roman’s 5th birthday party on the living room TV.”
  4. A Shopify app where I could add functionality to store owners that doesn’t currently exist.
  5. A reporting tool like Metorik.com, but focused on Easy Digital Downloads (EDD).

Some of these ideas would require me to learn technologies (machine learning, voice control) or research industries (photo/video, home electronics) where I have no prior experience. Because #BUILDSZN is only two months I need to use of all the advantages and existing knowledge I possess to make a January 1st launch date.

When I look at my current knowledge three things stand out:

  1. I know how to code PHP.
  2. I’ve run a plugin shop with EDD for four years and know what type of data a store owner would be looking for.
  3. I know several other developers who run plugin shops using EDD.

Given these advantages I chose idea #5 – Build a reporting SaaS for EDD. I talked about this choice a little more in Episode 13 of my podcast Has Opinions.

Background on the reporting SaaS idea

Metroik.com is a reporting SaaS for WooCommerce founded by Bryce Adams. I’ve known Bryce for a few years from the internet and we were both WooThemes Ninjas in a past life. I’ve recommended a few customers to Metorik over the years and have seen it in action. The feature set is impressive. It’s a fantastic app. I really want to use it on my plugin shop, but there was a problem – I sell my WooCommerce plugins with Easy Digital Downloads. 

Bryce and I are members of Post Status – a private newsletter and Slack community for WordPress professionals. Over the years I’ve asked Bryce a few times in Post Status about Metorik for EDD. I’d say stuff like, “I’d love to use Metorik on shoplugins.com. When are you going to port this to EDD?” Bryce has always responded that he has no desire to move outside of WooCommerce.

So another part of my motivation to build an app like Metorik is so that I can use it on my own site. Hooray dogfooding!

What to do when your idea is not original (spoiler: it’s not)

I wrote the announcement for #BUILDSZN during the afternoon on November 4, 2018. About one hour before I finished writing the announcement I received a Twitter mention with the message:

We have developed a reporting SASS[sic] tool [redacted] for #eddwp, would you like to try it out sometimes ?

What are the odds? The exact day I’m planning and choosing an idea someone reaches out to me cold to say they are doing the same thing.  I gotta say I was disappointed…for about 5 minutes.

I remembered that there are no original ideas and the internet is a big, big place. If there is big enough internet for all of the email marketing platforms and time tracking apps that exist, then it’s big enough for a couple of niche reporting apps.

Ideas really aren’t that important. After the idea success really comes down to execution. Like Derek Sivers says – Ideas are just a multiplier of execution (https://sivers.org/multiply). 

I’d say if someone is already building your idea don’t be discouraged. Find a way to do what they are doing better, or specialize and focus on a tighter niche than the competition.

Chose a framework

Because I know how to code with PHP+Javascript choosing a framework was easy. I’m going to use Laravel and some of the additional framework add-ons like Spark and Nova. Again, I’m only giving myself two months of build time so I’m going to look for ways to save time.

I’ve spent the past week watching a ton of Laravel videos on YouTube. I also watched Laracasts’ Vue 2 Step by Step series. I don’t have an active subscription to Laracasts, but might re-subscribe on Black Friday.

I also watched Steve Schoger’s Refactoring UI videos which are totally amazing and get your brain into deep thinking on UI complexity and how to make an interface that’s great for users.

I haven’t started coding yet, but will do that in the upcoming week after I spend some time architecting the app.

Non-Coding stuff

I plan to do some Twitch live streaming so I setup OBS and did some test streams. I didn’t save them because they were really short and not interesting.

I setup a project in Harvest the app I use to track time for client work. This will give me some perspective on how long tasks are taking me. 

Money spent

I will keep a running tally of money that I’ve spent on #BUILDSZN for anyone interested. Because I’m focusing on launching in two months and am funding this out of my other businesses I’m not too concerned about spending money when it makes sense and saves time. Here’s what I’ve used so far:

ConvertKit – ($29/month) I have a free ConvertKit account since they are a client and I build/support their WordPress plugins. I used my free account to collect emails for the first week, but will probably migrate this to a paid account.

Domain Name – ($13.98 / year ) I have a domain in mind for this app so I bought it even though it’s not final.

Private GitHub Repo – ($7 / month) My other business pays for unlimited private repos at GitHub, so I’m going to setup this app there. If I was just getting started I’d pay for GitHub’s personal unlimited repositories. This isn’t necessary by any means, but it fits into a workflow that I’m comfortable with.

That’s it for week one! I’m excited to get down to planning and coding this week. Thanks for reading this far and for joining me on this journey!

If you have any questions please get in touch here.

See you next week!