Making every year better than the last: my goals for 2018

A year in review

2017 didn’t go quite as I hoped it would. In January, I imagined I’d spend the better percentage of the year on Kiwi, an AI natural language bot that I’ve been excited to start for years. And in some ways that’s happened – I’ve built a proof-of-concept grammar parser for speech input, and I’m nearly done building my own wikipedia text corpus that I’ll be able to use for AI training, but I’m conflicted about my progress this year.

Here’s my problem: with Jotlet (and Remotely, and Loose Leaf, and just about every other project I’ve ever started) I spend all of my energy on building the product, with little regard for customer development. I’m an engineer, I love building. I’m not a sales guy or a marketer, I’m not nearly as comfortable reaching out to potential customers. I’d rather build something than spend the time making sure it’s worth building.

With Jotlet, I spent years building the product and hoping that it’d somehow naturally go viral. Barely out of college and reading Techcrunch all day, I thought that’s how all successful tech companies made it big. We did eventually adjust course, focus on marketing and reaching customers, and that led to Jive. We certainly should have started sooner.

With Loose Leaf, I spent nearly 2 years building the app before showing it to anyone. Shortly after launch, I realized I was making the same mistake all over again, and shifted to spend the next 6 months solely on marketing. I learned a ton – much of it documented in the blog posts here and in the App Launch Guide – but even with all the effort it was too late to salvage my mistake.

This year, with Kiwi, I vowed to break the pattern. So instead of coding, I spent my time looking for a co-founder, shopping my idea to anyone who’d listen, even applying for accelerator programs. Ironically – I think this was the exact wrong time to focus on customers and right time to focus on coding. The AI market is so hot, that anyone accomplishing anything in AI is a big deal. There’s just too many people with AI ideas that trying to focus on the market/customer at this point without a proof-of-concept is foolish. I lost myself in the crowd of what-if-I-build-this, instead of standing out in the crowd of I-actually-built-somethings.

It’s taken me a bit over 10 years, but I think I’m finally understanding my weakness: I focus on either building or marketing, instead of both at once. It takes two legs to stand.

Looking forward

My goal for 2018: Build Kiwi. Build something awesome. Build it for myself. Build it for anyone. Open source cool stuff. Just build build build build build build build. And as soon as I have a proof-of-concept: show someone. Don’t wait until it’s “done,” show my progress at every step.

Building is what I’m good at. It’s what I enjoy. It’s what I need to be doing. And as I’m building, and after I’m building, and while I’m building, I need to show my progress even with the rough edges. I’m good at building, it’s what I’m best at and it’s what I enjoy the most. I need to refocus 2018 on building, and keep myself open and honest about my progress.

My favorite part of 2017

With all that said, I did focus on some very meaningful things in 2017 that I’m very eager to continue into 2018. I spent more time volunteering in 2017 than ever before, and it’s been extraordinarily rewarding.

I started volunteering with the Prison Entrepreneurship Program, and I’ve loved every minute of it. If you’re in the Houston area – I’d love for you to get in involved too – please do reach out I’d love to talk to you about it. If you’re not in the Houston area, please donate. The results of PEP are absolutely inspiring: < 7% recidivism (compared to 50% national avg), 100% of participants are employed w/in 90 days of release, nearly 100% still employed a year later (compared to 50% national average), and much more.

Let’s all build a better year than we did last year.

Understanding and Building the Simplest Neural Network

Over the past year I’ve been reading and learning about neural networks, how they work, and how to use them. I’ve found the overwhelming majority of tutorials and introductions to NN either: a) focus on the math and derivations, or b) focus on the code and tools, but rarely seem to c) match the math 1:1 with the code. Both of these tutorial styles are often guilty of handwaving and simplifying the derivations, making it difficult for me to follow exactly how the math and code relate to each other.

An example: neural networks are built in layers of neurons, but why are they built in fully-connected layers?

The primary reason turns out to be performance. It’s dramatically faster to use matrix operations to calculate hundreds or thousands of neurons in parallel on the GPU. Using layers of neurons lends the math to using linear algebra and matrices for a dramatic speedup.

But at the very very very basic mathematical level, a neural network doesn’t have to use layers, it can look like anything:

The neuron-level math works exactly the same, even though the network-level math wouldn’t be able to optimize with matrices. They layered structure is computationally optimized, but not computationally necessary, for building a neural network.

As I was learning, I wanted to separate in my mind what was necessary for a neural network to function vs what was an optimization.

I’ve decided to start writing my own ‘book’ of sorts to document everything I’m learning about neural networking, starting from the very basics. The First Chapter covers the very smallest bits of math and code needed to build the Smallest Possible Neural network. The goal is to start with what is absolutely necessary for neural networks, and nothing more, and slowly build upon that foundation chapter by chapter.

If you’ve been searching for the simplest and most complete primer on neural networking, then download Chapter 1 and signup to be notified as I write the next chapters.

Loose Leaf 3.0.0 is Open Source!

In addition to the great new features in v3.0.0 – the entire app is now open source! Get the code!

Organize Your Notes

This version brings multiple-document organizationt to Loose Leaf. You can setup multiple documents, easily switch between documents, and quickly move and copy pages between documents. Check out the new tutorial videos on

Import and Export PDFs

Version 2.2.0 brought single page PDF import and export, and now in v3.0.0 you can import entire PDFs into Loose Leaf to read and annotate. With the new multiple-document features above, you can also quickly move pages between PDFs, annotate, and export and share!

Get the Code!

Much of Loose Leaf’s code has already been open sourced before, but today 100% of the codebase is now open source! Check out the project on Github.

Get the App!

Support further development and download the app!

Google Author link
Page 1 of 5112345...102030...Last »