I'm really glad year-end retrospective posts are coming back into fashion, and so being inspired by all of the great ones I've already seen, I decided to do one of my own.
2018 was in large part a continuation of the work I began in 2017. A "part II" of sorts. You see, the past few years have really been about trying to find a long-term project which would allow me to sustainably build interesting and helpful things, carving out a niche for myself, and building a product over which I had a major influence.
Rewinding a bit, 2017 was a very difficult year. My startup DonorGive failed, my biological father passed away, a full-time position I was excited about didn't pan out, and another startup never really got off the ground. But in August, after all that, and being the glutton for punishment that I am, I began working on what would become Laravel Nova.
I really want to write a retrospective on 2017 as well, as it helps paint the clearest picture of why 2018 played out the way it did. But this is supposed to be about 2018 right, so let's continue down that path?
Overall, 3 things really earmark 2018 for me:
As mentioned earlier, work on Nova started in the third quarter of 2017, and for the first month of 2018 I continued working on it along with some freelance projects. By the start of the year I was running dangerously low on a $20,000 savings cushion, the credit card bill was starting to pile up, and stress and uncertainty were available in plentiful supply. Basically, from the middle of 2017 we were running on our financial afterburners and by January things were getting tight.
What made things even more interesting was Nova was originally slated to be launched at Laracon Online 2018 so I was kind of planning on the income from that by that time. However, by November 2017 it was clear the project was going to be way bigger than we had anticipated and Taylor wanted to let it take the main stage at Laracon 2018...almost 6 months later. This was obviously going to help it be a bigger success than it would have been otherwise, but it also meant I was going to have to find some other operating income.
So by February I was looking to take on a larger freelance project to help fund as much future development on Nova as I could. Thankfully, I was able to find it pretty quickly and wound up finishing that project in around six weeks. With the proceeds from that and a few other projects we had about $60,000 dollars to work with for the rest of the year. In hindsight, that's not a bad little chunk of change to make in such short amount of time.
To add another ingredient in the craziness pie, sometime in February or March we decided to rewrite Nova, moving away from primarily Blade views with JavaScript sprinkles into a complete Vue.js single-page app. All of the design, markup, and code was thrown out. This rendered our progress thus far basically a nice proof-of-concept. At the time it felt like we were somewhere around 85% done, but in hindsight, it was probably closer to 50% of what originally launched. Surprisingly, it didn't seem to be that much of a hindrance and we were able to get back to where we were relatively quickly. With Nova being a single-page app, a lot of interesting customization options were opened up, and we were able to add some cooler extension points.
By Laracon US 2018, we had a really good product ready to ship. It wasn't perfect (and still isn't!), but it was good for an initial release.
Leading up to the announcement at Laracon, I knew that Nova was going to be a hit, merely for the shear size of the audience, and the consistent cries for an official Laravel admin over the years. But as always, your mind really tries to mess with you and make you regret that you ever started the project to begin with. During the year I had really been getting into the writings of The Stoics. I began to prepare my mind for the worst...that it would make $0 dollars, I'd look like an idiot, we'd have wasted all our money, and the whole project would be an absolute embarassment.
Thankfully, it didn't turn out that way. As I sat inside the Laracon auditorium the reception to Nova seemed to be really warm. At times during the presentation I could hear audible gasps when features were announced. I found myself on the edge of my seat in excitement as everything was revealed. Taylor did a wonderful job presenting it. You can watch it here.
The launch wasn't without a measure of controversy. There's a type of developer who complains about anything being paid and there was a contingent of people who felt that Nova should've been a free product as well. There's so much awesome free stuff in the Laravel ecosystem that for some reason it comes as a surprise when a paid product comes along. But the fact is, on the other side of the curtain there was the Hemphills, who had just had the most painful and stressful 2 years of life, sitting in limbo hoping Nova would be enough of a success to make a year of self-funded development worth the effort. It's sort of a cliche now, but it bears repeating: There are real people behind the products you use every day. If something is useful to you, especially if it makes you money, it's reasonable to pay the requested value for it.
I personally love paying for well-built things made by the people I respect and have gathered great value from over the years.
Since then Nova has built a very active community. We've released 34 updates in the 5 months it's been out. It's been challenging to stay on top of the actual bug reports, all while handling paid support, and building new features. I hope in 2019 I'll be able to better address the demand for support and push the product towards a strong 2.0.
I had tentatively planned on going to the inaugural Laracon Australia earlier in 2018. I say that because I actually didn't really have the money sitting around to buy an expensive plane ticket, and figured I would be in some full-time position by that time anyways (remember I was planning on Nova being a total flop). But with the success of Nova, I was able to work that into my schedule.
I only planned on going as an attendee. It'd be a nice opportunity to visit a new country and hang out once again with the folks in the Laravel community. But as the event drew nearer, I jokingly posted in the Cash Money Cowork, a private telegram group I founded a few years ago, that I'd be bringing a backup talk:
As it turns out, a speaker wound up not being able to make it, and Laracon AU's headmaster Michael Dyrynda asked if I could fill in. Of course I said yes. I hadn't actually planned anything to speak about yet, but I'd had a couple of talk ideas brewing for a couple of years.
So in between maintaining Nova, I was working on getting a passport and visa, all while planning and actually practicing my first talk in a different country. I was able to practice the whole talk about 6 times all the way through. I even recorded video of myself practicing (which I've since deleted, no one needs to see that).
When the time came to do the long flight, I experienced what I would describe as the beginning of my first panic attack. I was settled into my seat before takeoff and just couldn't get enough air. Thoughts of being trapped on this tube of death for the next 17 hours really started to wear on my mind. I started hyperventilating, sweating, and felt my heartrate nearly double.
I've been in similar situations before: I've been practicing jiu-jitsu for about 9 years and there's been many times a much-larger opponent was suffocating me while I couldn't move. I figured if I could get through those situations, then I could definitely get through a temporary lack of airflow on an airplane. I started breathing intentionally and eventually put on the movie "Won't You Be My Neighbor" (the Mr. Rogers documentary), and was able to get to a reasonably calm state.
When it came time to deliver the talk, I felt pretty okay with it. I was rehearsed, I've given conference talks before, and I've been on stages with thousands of people as well. You can watch the talk here. I felt like it went pretty well and judging by the feedback I was given, it was well-received.
In 2019, I'd like to speak a little bit more. Perhaps Laracon US?
The Hemphill family has moved a lot in the past few years. First we moved to Rio Rancho, New Mexico in 2011. After living there for a while, we moved to Albuquerque proper. In 2013, we bought a house in Fort Worth, TX. We eventually sold that house for a hefty profit and rented (another move, ugh!) until we left Texas in 2016.
From there we landed in Springfield, MO, and rented for a few years. As you might expect, we just finished yet-another-move to a second (and hopefully final) residence. For some reason, it worked out so we could move in and hopefully enjoy the Christmas season in our new place. We barely made it, but we were able to have Christmas inside our new home.
We're really happy with the home we picked. With Nova paying our bills, we were able to get a longer-term home this time around so we're hoping to be in this place at least the next ten years.
3 multi-state moves. 6 moves total. Whew!
Dads in Development episodes slowed down significantly this year. Between Andrew's job quest and my work on Nova, we only managed to release 7 episodes in 2018. That's something that needs to change drastically!
I think I'd like to launch another podcast in 2019. I'm not quite sure what format it would take or what topics I'd cover, but I know I'd like to publish more content. A part of me is concerned there's an overexposure of tech-related podcasts, so it could be difficult to find a niche. Maybe I'll do some development live streams instead.
Overall, 2018 was a hard, but great year. However, I need to make an important mention. Everything I accomplished this year would not have been possible without the support of my wife, Tess. She's the reason Nova exists. She convinced me to build it with Taylor. She's remained strong throughout this whole crazy process. She's planned 1000 boring logistics and crunched numbers more times than I can count. She's my secret weapon.
I don't really make New Years resolutions, because my belief is every day is a new year if your perspective is right, but overall my plan is to continue to grow and maintain Nova. And I'd like to help out a bit more on Tailwind CSS. I'd also like to do some more conference speaking. Some stretch goals would be to launch the new PushSilver and officially launch Crondog. I'm not adding any pressure to myself to do those things, but I will work to make them happen.