All Articles

Build Awesome Things. Quickly.

In a world of distraction and over-saturation how are you supposed to build unique, useful things? I have no idea. But I know how I do it. So I’ll show you. Adjust accordingly.

Idea Filters

Part of building awesome things quickly is building awesome things. AMIRITE? So how do I make sure my ideas will turn into something awesome? I apply three filters to them.

Filter #1: Would I use it?

I don’t build websites that I’m not dying to use. I don’t write guides that I wouldn’t bend over backwards to read. If I can’t guarantee my projects a loyal fanbase of at least one then I’d rather not have those projects.

Bacterial reasons aside, there are two crucial reasons why I only scratch my own itches.

  1. I can’t emphatically solve problems that I don’t have. Subtle details make big differences. I’m sure I could make a website that decently solves some problem for breastfeeding mothers. But, as I don’t currently have any breastfeeding-related problems, I’d fall apart the subtleties.
  2. Passion, as was discussed in the last chapter, is overrated. But caring is not. Which isn’t to say that I don’t care about breastfeeding problems. In the social media sense - where I want everyone to think that I care deeply about everything and am the nicest person ever - yes I care. But I don’t really care. And how can I care about a project if I don’t care about the underlying problem it’s solving?

Lots of people argue not to scratch your own itches, of course. I could listen to those people. Or I could realize that most people argue whatever they heard their Uncle Ted arguing last Thanksgiving. I don’t personally know Uncle Ted and I haven’t vetted his critical thinking skills, so please pardon me as I attempt to think for myself.

The general argument is this: you’re unique and your problems might not be everyone else’s problems. Just because something might help you doesn’t mean it will help others.

That sounds great. And believe me, I wish it were true. Nobody wishes he were a rainbow-colored unicorn more than this guy [points to self with embarrassing hand gestures].

Unfortunately, though I may deny having said this in the future, I’m not that unique. And even if I were, the individual problems that I’m solving aren’t that unique.

I’m a solopreneur with essentially zero overhead. I don’t need 84.2 million users to make a profit. 5,000 will do just fine. And I’m not that unique.

Filter #2: C’mon. Would I really use it?

I like to lie to myself. So I run this filter a second time.

New-project lightbulb moments feel good. It’s hard to come down from that high by admitting to myself that I wouldn’t use whatever project I just had an idea for. And it’s most likely that I wouldn’t use that project, because I’m the pickiest dude you’ve ever met. (Well, you probably haven’t met me. Regardless, my underlying point holds.)

I use very few web apps, read very few blogs, listen to only one podcast, etc. I only use things that blow my freaking mind. That makes this “would I really use it” filter a tough one to slip past. But an effective one.

I force myself to deeply think about this question. And as hard as it is to do - especially if I’ve already dumped some time into it - if I can admit that I won’t use it then I abort. Even if I think it has huge potential.

Filter #3: Really? Even if someone else made it?

This is the final filter, and usually an eye-opening one.

My new app is dopesauce. The $49/mo I plan to charge is an absolute bargain. People would be lucky for the privilege to pay me for this app, that’s how good it is.

But would I pay someone else $49/mo? Whoah. What just happened? My whole world falls apart as I’m awoken to the harsh truth.

However I do it - whether that requires any brain lubricant or not - I make sure to put myself in a position where I’m able to answer this question 100% honestly. It might force me to bail, but it’ll save me a world of hurt in the long run.

Get stuff done.

There are always aspects of your new website or app that you could improve. Always. But at some point you just need to freaking launch.

These are the tricks I use to launch.

I don't avoid distractions. I eliminate them.

Discipline sucks. I’ve tried it. It’s not for me. So I went with an alternative approach.

I no longer have no Internet access in my apartment and this is the phone I use. Yes, seriously. I recognized my addiction to distraction, so I did something about it. And I still manage to run my online business just fine.

As a result, when I want to work I work. When I want to think I think. When I want to goof off I goof off. No longer do I have any time in my life where I’m sort of working but sort of doing other things. It’s all or nothing all of the time.

This lack of intermittent distraction in my life means I get to have huge chunks of consecutive work and/or thought.

For example, when I write I tend to get stuck every few sentences. In a 20,000 word guide like this one that’s a whole lot of stickiness. With distractions turned on, each instance turns into a 4-45 minute escape. I won’t even estimate how long it would take for me to write a guide of this magnitude, and of this quality, with distractions turned on. I don’t think it’s a stretch to say that I literally would be unable to do it regardless of how much time I was given.

With distractions turned off, though, writing this guide is a breeze. I still get stuck, but then I think and breathe for 10 seconds and I’m unstuck. As I’m writing this I’m obviously still on chapter 2, so it might be premature, but I estimate that the whole guide will take me less than two weeks.

And that’s not two 40 hour weeks BTW. That’s two weeks of writing when I feel like writing. Which leads nicely into the next point.

Enough is enough.

Sometimes I find myself being ungodly productive until 5am. Other times I’ll notice that by 1pm I’m becoming less and less effective. When this happens - unless I have a deadline to meet - I try to turn it all off and call it a day. I’m not perfect at this. But I’m aware of it and I’m working on it.

We’ve all been force fed this idea that the more hours we put in the better. That the person who works 80 hours per week “wants it” more than the person who works 30 hours per week. But staring blankly at a computer screen is easy.

Please don’t stare blankly at your computer screen.

I don’t have to do it all. What would Paul and Jason do?

If you know me then you know that I have huge man crushes on both Paul Jarvis and Jason Zook. Mostly because of their ridiculously good looks and soothing voices, but also because they save me a ton of time.

If you’re lucky you’ll stumble upon your own versions of Paul and Jason. People whose work and personalities resonate with you so strongly that you instinctively trust what they put out into the world.

This isn’t an excuse to copy or to be unoriginal. Rather, it’s an excuse to not spend hours on trivial decisions.

Eg: when I started my blog I didn’t think I wanted comments, even though they were the norm. Was this a mistake? Hmmm. I couldn’t decide. Did Paul have comments? No. Did Jason have comments? No. Okay, good enough. That turned a 4-hour decision into a 32-second one. Moving along.

I find myself growing out of this phase, but I don’t for a second dismiss its importance. As my confidence continues to grow I don’t need the Pauls and Jasons in the same way I once did. I’m able to trust my instincts far more often. But those instincts didn’t always exist.

Proxima Nova is good enough for me.

Remember what I said in the section above about not copying? Well let this be proof. If Paul ever reads this section I imagine he’ll send me an animated gif of a cute animal angrily shaking its fist at me. That’s because I imagine that Proxima Nova is not good enough for Paul. But it sure as daisies is good enough for me.

Because what’s my alternative? I could spend seven days combing through oceans worth of fonts, desperately trying to be original, and end up with a mediocre font as a result. Oh wait, I’ve done that numerous times. Until one day I was like “you’re being stupid, Patrick.”

Proxima Nova is one of the web's most popular fonts for a reason. Yes, it’s unoriginal. Yes, I think of myself as original. Yes, these things are in conflict. But I also don’t enjoy having to say things like “you’re being stupid, Patrick.”

So I suck up my dignity (hah, I kiddingly think I still have some) and I go with it.

Maybe you’re like Paul and this example doesn't apply to you. Maybe you're a font designer. Fine. It doesn't matter. What does matter is that perfectionism isn't some crown to strive toward. Perfectionism is detrimental to your business, and the sooner you can let go of perfection the better off you and your business will be.

Proxima Nova was my example, but this isn’t really about fonts. Hopefully you picked up on that.

When in doubt, I err on the side of "no".

Adding things is fun. Doing things is fun. But having the vision to not add certain things and not do certain things is what makes some businesses special.

There will never be a feature that is more powerful than clarity. There will never be a beautiful design that overcomes a bad user experience.

My most popular web app has about 1,100 active users - which is practically nothing - and still I get flooded with new feature requests. I wouldn’t say that I ignore them, but I certainly don’t bow to them.

I pay attention. If I start seeing the same request over and over again, I might react. But usually I don’t react. Even though most requests I get would take me less than an hour to implement, and even though there’s nothing that would make me happier than to be able to satisfy my users.

Finish it.

Finishing projects is a struggle for me. That’s why I built this accountability tool.

I try to set strict deadlines and make myself publicly accountable. When the novelty of my new projects fades, which it will, I use those to propel me through that finish line.

I’m open about my flaws. I can’t chew a lot, so I don’t bite off a lot. I know that I can’t stay focused for six months, so I don’t take on six month projects. That seems obvious, but it took me a long time to learn.

Tools I Use To Build

These are the tools I use to build things. The tools I use for other things, like growing my audience, will be discussed in other chapters.

Ulysses

My favorite app. Writing posts directly within WordPress is a great way to hate writing. Thankfully Ulysses saved me. This guide would not exist without Ulysses, I’m almost positive.

I write every blog post, article, guide, etc in Ulysses. It’s beautiful, simple, and seamless. It allows you to export directly to your WordPress site. But more importantly it allows you to copy to HTML and paste from HTML. Which means that not only can I write my first drafts in Ulysses, but I can also use the app to edit existing posts.

The keyboard shortcuts are great. The layout simply makes sense. It’s brilliant all the way around. Yes, it costs $45. And it should. Because it’s worth $45 and more.

When I’m on my laptop and have an internet connection I use the dark theme in the full screen, distraction-free mode. I find that that works best to minimize my distractions.

When I’m on my iMac and don’t have an internet connection (so distractions aren’t an issue) I do a split screen with the editor on the left and live preview (I use the “simple” ePub preview theme) on the right.

Visual Studio Code

Switching from Sublime Text was one hell of a decision. Especially to a Microsoft product. Whoah. What’s happening to me?

But VSC is sweet. Their multi-cursor functionality is still lagging behind ST’s. But everything else is either on par or ahead. The Git integration and the searching are two examples of things that are better than ST’s.

CodeKit

I compile all of the assets for my Laravel projects via the command line with gulp. But I still use CodeKit to compile assets for my WordPress sites. I’m too lazy to switch.

Flux

This is what allows me to work until 3am with slightly fewer repercussions. So I tell myself.

Chrome

Partially because I like it. Mostly because Firefox and Safari are garbage browsers. I don’t have much of a choice here.

Hermes

Hermes is a desktop client. that somebody made for Pandora. Pandora is my favorite music service, but I’m not willing to use the web client. I need to be able to use my keyboard to control my music player.

The reason I prefer Pandora to Spotify, iTunes, etc is because it’s more of a set it and forget it deal. I did spend a fair amount of time early on thumbing songs. But now it knows what I like. Whereas it is because the others are so flexible they require more thought. I’d like to save my thinking for other things.

MAMP Pro

I laughed at this app for years and only started using it a few weeks ago. Just because I can do everything myself I thought I should. So for years I managed my own PHP installation, MySQL installation, Apache settings, etc.

Stupid Patrick. Stupid.

If you don’t want to go this route you might want to check out VirtualHostX. That’s what I used to use to manage my Apache configuration before making the switch to MAMP.

Sequel Pro

Nothing fancy to say about this one. It lets you manage SQL databases, and it does so very well.

Sketch

I used to design exclusively in the browser. ie, with CSS and HTML. I still do small design tweaks that way. But new designs - and big design changes - are all done in Sketch now.

Since the switch my designs have gotten vastly better. And faster. And I’ve been thinking farther outside of the box.

SourceTree + BitBucket

I have 17 private repositories on BitBucket. That costs me $0/mo. Yes, free.

17 private repos on GitHub used to cost $22/mo. But 10 months ago GitHub finally changed their pricing and now it only cost $7/mo. If I had to guess I’d say that BitBucket’s awesomeness had something to do with that price change. $7 is way better than $22. And I’m not arguing that it’s unfair. But still, $0 is better. So I use BitBucket.

SourceTree is the app I use to integrate with BitBucket. I like it.

This all assumes that you’re using versioning. Which I’d like to think is a safe assumption. If for some reason you aren’t... please reconsider things.

Linode

I have all my sites on Linode. It’s cheap. It works. I’m happy.

SendGrid

Email is important. This is how I send all of my transactional emails.

SD Card

My iMac - where I do most of my writing and programming - has no internet connection. So I can’t git pull. No worries, though. I have my entire working filesystem on a high performance SD card. Everything on that card is also on BitBucket both for versioning and as a backup.

CloudFlare

I use this mainly for easy DNS management. But it has a bunch of other features, too.

Code&Quill Notebooks

My notebook is my project manager, my journal, and my idea pad all in one. And, though expensive, these are the best notebooks I’ve ever own.

Instant Domain Search

This his how I search for new domains. It’s the best site I’ve ever found for said purpose.

Name Cheap

Where I register domains. I used to use I Want My Name because of the clean interface and lack of upselling. But holy hell are the expensive.

Dash

Dash is an offline (or at least that’s how I use it) documentation browser. It’s what allows me to not get stuck when I programd on my iMac which has no internet connection.

WordPress or Laravel

All of my sites that aren’t built in WordPress are built in Laravel, a PHP framework.