This was originally published 9 July 2022 on Nicheless and has been slightly revised. There are two types of learning: structured and unstructured. The first is reading a textbook from start to end. The second abandons formal progression through learning material. When you go through a formal course, you’re expected to progress from one level to the next. Chapter one, then chapter two. In the end,…
After using IntelliJ IDEA at work, I got used to hitting the shift key twice to open the search everywhere window. Since I use VS Code for personal projects, I found that I was starting to hit shift twice reflexively to bring up the VS Code equivalent of this search everywhere window, the “Search files by name” window that normally opens with ctrl/cmd+p. I consider this to be equivalent of search…
I was born in 1998. There are many timespans which include that year. Some of them started hundreds of years prior, some only a few. Many continue until the present day. When I think about the state of the world when I began to comprehend it, it seems like it could have always been that way. It’s hard to imagine a world without internet, without books, without the automobile, one where the borders…
The dictionary definition of craft gives us a starting point for understanding what somebody means when they say the word, but it doesn’t capture the full essence. Where do dictionary definitions come from? Merely the usages of the word. To create a definition, you study how the word is used in as many example sentences as you can find. Here’s the definition of craft in the Oxford English…
Sometimes you need to surround a block of code with an if statement, or put a block of code inside a for loop, and there’s no way around it. When you review the change using git diff, it shows the entire block as changed, making it hard to see what’s actually been removed, added, and modified. Maybe you’ve seen something like this before: ~/code/sample (main) git diff diff --git a/sample.js…
For a while, I was obsessed with productivity. I was a fan of all the popular personal productivity blogs. I liked seeing how people organized their days and got things done, and I liked trying new techniques to get more things done faster. These days, I’m no longer like this. I don’t try to squeeze productivity out of every minute. However, I’m still a fan of to-do lists. If there are things I…
A goal orients you towards something you want. There is a state of being you desire, or something you wish to accomplish, so you choose a way to measure whether you’ve achieved it, and then you work towards it. I’ve been thinking about an alternative approach to getting where you want to be—without setting goals. Goals are flawed There are a few problem with goals: It often happens that what you…
About four months ago, I left a startup I co-founded. It was quite the learning experience—I’ll save the details for another time. After leaving, I knew that I wanted another go at creating a business, but this time I wanted to do things differently. No VC funding, no ridiculous growth expectations. Just a modest business with kind people making a great product. Companies like Basecamp, Buffer,…
You create a product, so now what? You need to market it, which means letting the right people know that it exists—the people who have the problem the product solves. Since Dashify Search is exclusive to Dashify Pro, people who downloaded the free version of Dashify for the order page design aren’t necessarily the people looking for a convenient WooCommerce order search. It’s almost like marketing…
Some time ago, I came across Record Club, which calls itself “A new way to discover and share music with friends.” This won’t be a post discussing their idea—just their blog page. I liked how when you hovered over a card, the whole card was clickable. However, they didn’t wrap an <a> around the whole card—that wouldn’t be good for accessibility and SEO. The anchor tag only wrapped around the title…
While making updates to the Dashify website, I had the thought that maybe I should create some conversion events in my web analytics so I know roughly where the converting visitors are coming from. But wait, I don’t have any paid conversions yet—besides one. I’d be trying to measure something I don’t have if I were to set that up. Right now, there’s one metric for Dashify that matters, and it’s…
After launching the first iteration of Dashify Search, naturally I went to create a page on the website talking about it so that people can find it. This made me think a lot about marketing websites and how something as simple as the presence of a keyword in the title can make the difference between it being found by hundreds and it being forever invisible. I struggled with the title and main…
There’s a habit I’ve been getting into recently, one I call “doing things until completion”, which means that once I’ve started something, I keep doing it until the activity reaches a state of completion. This is because once I start something, it’s easier to keep going and finish than it is to start and stop multiple times. Let’s illustrate it this way—suppose my kitchen is a mess, with many…
After a while working in a particular software domain, it becomes clear whether something was designed or whether it came to be through a process of evolution. I’m thinking the WordPress plugin updating system is the latter. A plugin ecosystem designed from the ground up today might make automatic updates to plugins require only a few lines of code from the plugin developer. Figma’s plugin system…
With Dashify Search ready for release in a new version of Dashify Pro, I began updating marketing materials, focusing on the WordPress.org listing. After editing other parts of the listing, I noticed the screenshots were getting outdated and so spent some time in Figma creating new ones. Previously, I had before and after screenshots for how WooCommerce looks with and without Dashify, but I…
I decided to release Dashify Search earlier than planned by shipping only the ability to search WooCommerce orders by ID. Yes, I could have spent another day adding the ability to search orders by customer name, but searching by ID from anywhere in the WordPress dashboard already provides value—so let’s ship it. I spent time today cleaning up the code, which tends to get messy while I’m trying…
My working hours today were spent writing up the past few days of reflections, as well as doing some reflecting in my head, so I wanted to take this space to write something I’ve been thinking about lately. Many informational websites make money from ads. Unfortunately, the incentives at play create a downright terrible experience for the end user. Ads make money two ways: from impressions (people…
This holiday came around quicker than I thought—I ended up taking some rest from Dashify. Whenever I’m working on my own projects, time really goes fast—I’ve always liked the phrase “time flies when you’re having fun” because it’s so true for me. I’m curious about the science behind this now. Maybe something to look up another day!
Dashify Search, as I’ve started to call it, is going well. Merchants can now search WooCommerce orders by the order ID. It shows the result in a format similar to the recent orders, which currently are always shown—each search result has the order ID, status, name, and time displayed. Clicking on a result takes you to the order edit page for that order. This didn’t take all that long to implement,…
It’s been great to see the interest in Dashify so far. There’s enough of it that I’m ready for the next step, which is getting a paid version out there. Although Dashify Pro has launched, it doesn’t do much besides add the ability to sort order items by SKU. I feel like I’ve written that before in this work journal series—probably a sign that it’s long overdue for actually doing something about…
June was the third full month of working on my own projects to make a living. I continued focusing on Dashify, a WordPress plugin, because I figured I’ll have the greatest chance at success if I spend all my time on a single project versus splitting it between multiple bets as others have done. It just doesn’t make sense to spend time on something else when I’m getting positive signs from Dashify…
One way to market an internet product is to help people in a relevant community for free. You have to be careful with this and not self-promote, as that erodes trust and is annoying to people searching for information. For example, you shouldn’t comment on posts in a forum that are slightly relevant to your product with just a pitch for your product. Instead, you should help people—who might find…
How long did it take for Dashify to get its next 10 users? Six days! It’s really motivating to see this. With Dashify getting its first revenue in June and crossing 100 active installs, I have a feeling that July will be the month where I’ll see signs of sustainability, not just interest. It will be great if Dashify can become profitable next month—it shouldn’t take more than a few customers to…
I began work on the first major feature for Dashify Pro: a search bar in the WordPress admin navigation bar from which a merchant can search for an order by name, number, or other criteria. Later, this search will expand to not just orders, but customers, products, settings, and anything else on the store. But for now, the MVP of the search is focused on searching orders. I think it’s important…
As a result of writing a lot for this work journal, I’ve been looking at my website and blog a lot, and doing that, I started to notice how even after many recent tweaks, it still doesn’t quite feel like home. For me to write well, I have to know that the writing will be published in a place that I feel good about. This led me to getting distracted. I spent the day tweaking the navigation, header,…