Why I do what I do


Extreme Vacation Deals done!

I finished the Extreme Vacation Deals. 5ish weeks ago I didn’t know how to build a mobile app, and now it’s done for Android and iOS. Pretty awesome, even if I still have the database in Dropbox (can read about that here). We hooked up Slack so every time a customer “books” a property we get a notification and can complete the booking via email, PayPal, and manual processes. Most of my time last week went into building the landing page, designing the app logo, and tweaking the apps.

Tomorrow we submit to the App Store and Play Store! I’ll publish links to the apps once they’re approved, but for now, a little insight into why I am doing 4 Weeks to Launch.


When I was 5 years old, I went through a phase where I would reply, “why and how?” to just about everything. Yeah, I was a fun kid. What fascinated me was how you can endlessly drill down with these questions, and down, and down. To this day I still get into the “why” mindset every few months and question everything. Why 4 Weeks to Launch? What keeps me going, even when sometimes I feel like I’m failing? Why blog; why publicly? Why care about passive income?

As much fun as it is to build multiple products, I know that I could build a higher quality product by focusing on one idea for a longer period of time. I also spend a lot of time updating 4 Weeks to Launch, further taking away from my product quality. And in truth, I don’t even like blogging. So why do all of this?

Why: 4 Weeks to Launch

Doing something difficult is rewarding. That deep sense of satisfaction from using willpower to accomplish a hard goal is the best feeling I know. The feeling of meaningful action.

I build a new product every 4 weeks because it’s hard. It’s hard to build something in a limited amount of time, with limited resources. But by doing so, it forces me to grow and to solve problems in new ways. This growth is crucial to all of us. Struggling, failing, and achieving are powerful experiences, and sometimes even scary. That’s why some leave their dreams on shelves; pretty things to look at but not to touch let alone fulfill.

Why: Blog

I blog to hold myself accountable. Publicly posting about my failures, progress, or lack of progress keeps me on task. Where I am sometimes weak in follow through, I delegate to a system that forces me to keep going, i.e. blogging. I feel guilty when I don’t work; not the nicest of motivators but it sure as hell works. I’ve made a public promise and despite no monetary progress so far, I want to keep that promise alive.

Sign up for mailing list if you want to these weekly updates in your inbox. Promise, no spam, only posts.

Why: Passive income

Passive income is more than just money to me, it’s a milestone. Money is a means to wealth. Whether wealth is time with your kids or travelling the world, money can (typically) get you there. However why care about passive income since my personal definition of success/wealth is building products?

In a hyphenated word, self-mastery. Passive income to me means that I’ve beaten the system. To the world, our society, and to my mind, that means escaping the 9 to 5 rat race. Not trading time for money. That is meaningful to me. To have power over time. And it’s meaningful because I chose to give it meaning.

Self-mastery has been a personal goal for 10 years. It’s why I blog, why I build startups, why I focus on passive income. I want to beat the system and to have no master other than myself.

Everyone has his/her own purpose in life, but it’s up to you to decide what it’s going to be. Someone else’s purpose isn’t yours, just as much as your experiences aren’t others’. That extends to all the advice from parents and gurus and therapists. It’s what you put meaning into that defines you; what matters to you, is what matters.

I chose to work hard to get closer to my ideal self and self-mastery. This means building products. This means 4 Weeks to Launch…at least for now!

If you’re looking for inspiration:

Question: What are you working towards, and why? Let me know by email, reply/comment, or phone.

PS. Seriously, sign up for mailing list.

Startup 3: Week 4–App Hacking; Life Hacking

How I’m able to be productive as a millennial.

4 Weeks to Launch is an ongoing series about building passive income across multiple startups — a new startup every 4 weeks. Read the first post on 4 Weeks to Launch to get started, or subscribe for weekly updates. Startup #3 is Hotel Tonight for weeklong vacation rentals.


Key Updates

  • Bought domain, named app, wrote copy
  • Built startup #3 database/authentication on Azure
  • Updated blog design & post template

Key Learnings

  • Increase effectiveness: Plan your top 5 todos each week, Do 1/day. (read below)
  • Increase focus: Timeblock your week to focus the right thing at the right time. (read below)
  • Be specific in your “to dos”. Should be achievable in 25 minutes or less.

Last Week

Unfortunately I didn’t finish the app last week. Fortunately I made the rules and get to break them. I’m going into a 5th week to get Startup #3 done. Here’s the rundown of last week’s accomplishments:

  1. Picked a name (Extreme Vacation Deals)
  2. Bought a domain (extremevacationdeals.com)
  3. Wrote the copy for the app
  4. Built out basic pages for the app
  5. Setup the database and signin authentication
  6. Updated blog design & post template

This week we’re connecting the backend (storage/database) and frontend (design/interface). We’ll prep the submission process for the Play Store and App Store, hopefully to submit later this week.

I’ve also brought in a friend to help out with marketing. We’re working on a marketing strategy for 4WTL as well as each month’s project. Right now we’re still in the planning stages, but updates to come soon! Below are the other core things needed to finish Startup #3.

Extreme Vacation Deals Checklist:

  1. Connect frontend to database
  2. Build “confirm booking” views in app
  3. Add copy to app
  4. Submit app to app store
  5. Setup domain
  6. Setup help email address for domain

Sign up for mailing list if you want to these weekly updates in your inbox. Promise, no spam, only posts.

Weekly Planning & Timeblocking

Every week I try to be more effective than the previous week. Despite this, I sometimes struggle with knowing what to do, when. There’s always a million things to do, but knowing where to start can feel impossible. Here are two simple things I do to help with the paralysis:

Plan your week. I started this habit in January and it has helped me be monumentally more effective. Each Monday write down everything you need to do. Pick 5 of those todos that are truly important. Only pick 5. I focus on todos that relate to longterm goals, are important to me personally, or cause me lots of stress. Prioritize the tasks 1 through 5. Now, each task needs to be done on the corresponding day: #1 Monday, #2 Tuesday, etc. Make sure that each task is bite sized! It should be doable in 25 minutes or less.

Timeblock your calendar. Map out your week so you know what to work on at any given time. You can do this with a Google Doc, spreadsheet, calendar, paper. The goal is to just map out what to do when, and focus. The blueprint of your week helps quiet the incessant list-making in my brain and forces me to get shit done! You can see my timeblocking calendar here. If you like this kind of stuff, I need beta users! See my PS note.

What would make these updates more interesting? Let me know by email, reply/comment, or phone.

Seriously, sign up for mailing list.

Startup 3: Week 3 – The Blitzkrieg

I built a web scraper, database and half a mobile app last week. Here’s how.

Demo videos of scraper and the mobile app linked below! As a reminder, startup #3 is Hotel Tonight for weeklong vacation rentals.

Phew! What a week! Lots of updates.

The web scraper is done. I learned how to use a scraping tool (and new programming language) to get it done, but am quite pleased with the results. It crawls the website and pulls all listings location, name, description and images and saves them in a readable format.

The language I learned to do this was python. I used python because according to Google, it’s the best language for scraping websites. Go figure. Also BeautifulSoup is the best library for scraping, so learned that too.

Sign up for mailing list if you want to these weekly updates in your inbox. Promise, no spam, only posts.

I followed this fantastic tutorial from dataquest.io. Even if you have no programming experience, you could follow this, though you would still need to setup python first. First I scraped 1 page for all the URLs of each listing. Then the scraper loops through each listing and extras the info I need. This rough cut took me about 3 hours to build, but then I needed to format my content as JSON, remove extra spaces, blank images etc. It took me 2 hours to clean up the data. Here’s the finished product.

Now it was time to build my first mobile app. I’ve dabbled with Objective-C before, but building a native app is very time consuming typically and not my forte. Luckily there are some frameworks which allows you to do web dev and compile it into both native Android and iOS apps. Helluva a time savings!

Ionic is one of the most popular frameworks for this. You build web pages (HTML, CSS and JS) and then click a button to turn it into a mobile app. If you have basic web development skills, you can probably figure out how to build an app.

That being said it took me a lot of time to get up and running with the framework. Lots to learn. I spent a few hours reading and watching amazing YouTubes by Traversy Media (60 min Angular intro, 60 min Ionic Intro) and have 2.5 of the pages done. Probably 5 hours learning, 10 hours building and 3 hours hooking up my JSON data to my app.

If you’re learning a new tool, don’t focus too much on using the tool the right way. I wasted time trying to learn how to do things “the Ionic way” instead of just writing Javascript and CSS to do whatever I needed. The rest of the app should go more quickly without focusing on learning and more focus on doing.

I always start with the hardest thing first, so the rest of the work needed shouldn’t be as bad as what I’ve done so far. To start I’ll launch the app with very minimal functionality. It will show the vacation homes and allow you to request a booking. Ideally we have payment built in but I’m skipping this for now. I can always bill people on PayPal and build it later.

I expect another 15 hours required to build out the pages and make everything pretty. Then time to ship it! Nick has been working on the backend infrastructure but hell, we may just use Dropbox as our hosting and run the script daily manually to update the data. MVP, right? 😉

Key takeaways:

  • Leverage what you know over “the right way of doing things”
  • If you can skip steps, do. Nothing matters until people like what you’ve built. You can always go back and add more features.
  • If you’re not technical, then don’t try to be technical.
  • If you want a mobile app go with Ionic or RubyMotion. It’s cheaper, faster, and you get iOS and Android at the same time.
  • Don’t waste time building infrastructure if you don’t need it. You can manually update your database and store it on Dropbox for free. Get scrappy.

Thanks for reading,


PS. Big shout out to my mom for all the support. She emails me her thoughts every week after I do a writeup!

Startup 3: Week 1 – Scrappy n Fast

4 Weeks to Launch so far

And we’re back again. It’s been a few weeks since I’ve written and there are lots of updates. Let’s start!

4 Weeks to Launch has been extremely rewarding and a big pain in the ass. I love building businesses, but the amount of time I was putting into my blog posts wasn’t fun. It took ~ 5-10 hours a week, and that’s when I actually did something. Procrastinating always takes longer. All that proofing, editing, and curation. And all I want to do is build projects!

In my few weeks silence I’ve been chugging away at multiple side projects, but just haven’t been writing. That means something’s broken. On top of that what I did write didn’t feel actionable. Sure, I see how it all connects on because I’m the one doing it but it’s not helpful unless I can put it into words (or video?).

Time to shake it up.

4 Weeks to Launch going forward

I will spend less time writing and more time doing. I will spend less time proofing and more time doing. I will spend…you get it.

This is what I enjoy. And I think the content will be more interesting too. I may do a reflection at the end of each startup, but I the weekly updates will be short and sweet. And casual writing. No more crazy proofing (forgive my typoos).

So what happened to the last business?

Startup #2 was a mobile app to make save money fun.

Then it was a game.

Then I it needed to be redesigned.

Then the database schema was bigger.

When we sat down to actually build the thing we had a problem. Instead of a very fast, simple product we started with, we now had a mountain of work. And it was a lot of work.

The point of 4 Weeks to Launch is scrappy and fast. We’re not shooting for perfection, just something. Startup #2 is dead. Come now, let’s not dwell.

Yippee! Startup #3!

Startup #3 is a mobile app that let’s you book last minute rental home deals. Hotel Tonight for week-long rentals.

My friend Nick got access to a list of surplus vacation homes (don’t ask me how). The agency rents the properties, but anything that’s unbooked is wasted inventory. They publish their excess rentals online and offer extreme discounts.

We’re going to scrape the data from the website nightly and offer a simple mobile app for booking. When someone books through our app, we’ll manually go and reserve it for them. We’re still working on the incidental/liability details, but that’s it! Once confirmed we’ll notify our customer.

What happens next:

  1. Design the database
  2. Design the app (and keep it to the MVP!)
  3. Setup hosting
  4. Build the scraper
  5. Build the app (using ionic)
  6. Release to the wild

I’ll send an email out (newsletter link) with the designs when I have them fleshed out.

If you have any questions, let me know!

Now for some actionable advice…

When validating a startup idea, have a system for comparing. I built a spreadsheet that calculates a valuation based on different parameters and weighting. The core criteria is:

  1. Idea quality/value (shit vs brilliance)
  2. My personal ability to execute (don’t know where to start vs I can build this solo)
  3. Market size: (niche, community, industry, global)

Output = Valuation

The valuation doesn’t matter. It’s just a placeholder. What matters is being able to compare ideas to each other. Evaluate each idea you have and you’ll get better at picking good ideas.

By focusing on your own ability to execute, you stay within a knowable world. If it’s a tech product and you have 0 experience/network with technology, you probably should rethink it. However if you’ve managed engineers before then you’re probably around a 4-6 on ability because you know people who can get it done. Always pick a niche idea you know you can build over a billion-dollar, global game changer.