the joys of personal software and developing taste

back in 2016, i first taught myself how to code so i can build personal web apps for myself and for my volunteer work. i was volunteering at the time at an NGO to teach mathematics to highschool kids in Cambodian villages in Kampong Cham and i built small JS apps like this, which i recently i updated it to Rust/WASM with Grok4.5 because why not?

some software engineers are crafts people. i am not one of those people, but i am a builder. i have always built things because i needed to solve some problem and i see code as just a tool to solve those problems. of course, we want code to be maintainable so it can be extended and continue to solve our problems, but maintainability and beautiful code is not a goal in itself, solving problems is the goal. it can be argued that code was always free, that is why there is so many open sourced software right? but now in 2026, there is almost no reason not to opensource everything, the value was never in the code or the docs, but in the process knowledge and the group of people working on the system and their shared understanding and passion of the problem domain. that is what a company is right?

there is a rift recently between SV tech bros who are super into autonomous agents and loop engineering to the point of psychosis and those that remain skeptical about it’s benefits. i am 100% with Linus Torvalds on this and agreed that there should be no doubt at this point that AI is useful in the creation of software systems. it is intellectually dishonest to argue the contrary at this point. however it is also not useful to hype things up so much that companies are laying off hundreds of otherwise capable engineers so they can pay a few companies like Anthropic billions of dollars in tokens and produce questionable returns, especially not when you can pay a fraction of that cost to open sourced models that run on 3rd party inference like Deepinfra or Fireworks, using open-sourced harnesses like Pi.

production enterprise software is fundamentally different than greenfield projects, and AI might be able to accelerate 15% to 30% when used by competent and thoughtful engineers, but a lot of the hype coming from the American AI labs are divorce from reality and harmful to smaller not as technical companies who believe in miracles.

so back to the thing i love most about agentic coding and i think is the real promise of AI is that it brings me back to when i first learned to code. building personal software for a small audience, sometimes just me. i did not have to worry about blockers from other teams, legal issues, or SLAs. personal software is for yourself or a small group of people that solves a niche problem that would not warrant a team of engineers to work on and would not be worthwhile to VCs to fund. some examples might be internal tools that would increase efficiency 22% or save some costs from subscribing to a SaaS vendor. perhaps it could be a father making interactive story games from his kids that cater to their interest or hobbies.

in my case, i worked on 2 of these personal software in the past couple months that i would not have the time for if not for AI coding tools.

the first is an mobile app that helps me with reading native Chinese news articles. Chinese is an hard language to learn and to read native news articles, you need to know around ~7000 words (give or take 2000), and since the Hanzi characters are logograms with no alphabet, there are no shortcuts except to memorize each one. so i learned around 1000 characters and decided that was enough to start reading native articles because according to word corpus statistics, you should be able to read 92% of all text if you know the most frequent 1000 characters/words.

the problem is the 8% holds most of the meaning in an news article, so even if you can read 92%, you still might not understand half of the article. so you end up having to use a popup dictionary like the excellent Zhongwen Chrome extension. but this is only from desktop browsers when reading Chinese articles on mobile, i have to copy and paste unknown words into a dictionary like Pleco (another excellent software). i thought i could do better and i ended up building a ReactNative Expo app that would parse articles into a intermediate Chinese learner friendly format combined with pinyin, popup English/Chinese dictionary, translations, and even AI audio. you can try it here if you are learning Chinese. i would not have attempted this without AI, even though i could have build it pre-AI with my existing skills. it would not have been worth it to spend 6 months on it for my own personal study use. now that there is a few thousand users per week so i do have to think about reliability and security, but for me it is still personal software and i build it how i like it, not how the language app industry think are best practices to get the most engagement and users. for example, i do not have any tracking at all and i released the Android version first. both a no-no if you want to monetize.

the 2nd example, just last week i found out that a Chrome extension that i used for the last couple years to control my Youtube and HackerNews addiction was acquired by an American data mining firm, and even though i am not German or even European, i felt like i had to immediately do something about it by building an open sourced, and privacy first alternative. especially with the recent scandals with supply chain attacks and small browser extensions being compromised after being acquired by questionable “data analytics” firms. on top of that, i was also annoyed by the small bugs and awkward UI of many of the website blockers and productivity extensions that i was using. sometimes the blocks would not work as intended because i had my VPN on and they were conflicting for some reason. it never felt just right and smooth to me because it was optimized for the mean user base of millions, not me. this seems like the perfect use case for agentic coding of personalized software!

my problems are quite simple. i wanted to block all trackers from networks like Google and Facebook. i also want to create Block Site Groups that have a daily allowance like 50 minutes for Youtube and other media sites. another feature i want is an “Sanctuary Mode” (the original software calls it Nuclear Mode, but i thought it was too violent and never used it) where all sites are blocked except a few sites in my “Allowed List”. an additional bonus feature is that i would like all adult and gambling sites blocked with a single switch.

i relay these requirements to my coding harness using Grok4.6 with Deepseek-V4 for research and planning and after around 50 rounds and few hours of steering, i had a working product that is 80% feature complete and usable. after using it for a day, i like it better than the original extension that i have been using for the past 3 years. here are some screenshots of the wip product 1, 2, 3

i called it OpenFocusd and you can contribute or fork the project here: https://github.com/zshanhui/openfocusd. the project is forked from the DuckDuckGo privacy Chrome extension. it took about half an afternoon, less than the time it took to write the blog post. but to be fair, i have had some practice with AI coding tools since early 2025, and i have been coding non stop with AI, pretty much every day since mid 2025.

the point is you can just create what you want now if the software you are using is not satisfactory, and often what you make will be better and personalize for your specific use case and tastes.

what is personalized software? it does not mean that this type of software is only for a group of 1 as i seem to have alluded to above. but i think the way product is developed changes from lets build something that most users want because the cost of development is so high pre-AI to lets build an ideal product for a certain group of users, say ~5000 with a certain taste profile and preference. the former requires data analytics, surveys, and A/B tests to optimize the product for the most users. the latter is far more dictatorial way of making product. users subscribe to your taste or they find something else and you do not need to do all that growth hacking side work to figure out what users want that was required in the past which i never enjoyed tbh, but you do need to know the problem domain very well. in many cases the best way is to experience the problems yourself or be there in the business where the issues are happening in real time.

so does this mean that the software apocalypse folks are right and there are no more horizontal software opportunities? probably not, because businesses still need another party to blame when things go wrong and vibe coding (agentic engineering) is actually harder than people like me make it out to sound. the localhost meme is funny because it is based in reality after all, most people who have not worked in software engineering do not actually have the vocabulary to steer these magical ghosts which now exists among us. and i have tried to teach my non-technical friend how to use Cursor to very little success, so i have some opinions based on actual observations. however, i do think over time, non-technical folks will be able to make working software with the advent of tools like Replit and Atoms and i welcome that 100%.

i do think that a certain class of software will probably go away, there might be a hollowing out in the middle where you have general agent harnesses like Codex and Cowork on one end that does 85% of what businesses need, and then you have a long tail of niche personalize software for the remaining 15% of human problems (and also agent needs). the remaining long tail of personalize software will rely just as much on taste as the particular features the product has. taste is as much about the features you choose not to include.

taste is thrown around a lot these days, but i think of it as the lens in which the creator of the product sees the problem and in extension the world through that product. the reason you invest in Berkshire is because you trust in Buffets taste. there will be 100-1000x more products in the world compared with pre-AI days, and an user might want to choose a particular product amongst a sea of similar products because they subscribe to a particular lens and they trust in your taste and judgement. if they can not find it, then they can build it themselves the way they want it.

using AI tools saves a ton of time. i use the extra time to write more like with this blog even though i am not really good at writing, i still refuse to use AI to write because i believe that writing is thinking and i would not want to substitute that even if AI is better at it.

professional engineers can also use the time to learn more about the problem domain, something that we needed a whole team of UX designers and product managers to do in the past because the actual process of writing the syntax took so much time. maybe that is why you see the rise of FDEs across the industry, because you have to actually understand and suffer the problems yourself to develop good taste. but you might not be in a position where you work with customer at a deep level, you can still start with building personalize software for yourself.