I’m just kind of dumbstruck by AI right now.
A problem cropped up at work, and AI helped me solve it in a way that wasn’t possible a year ago. It wasn’t a big problem, just the kind that gets on your nerves when some app doesn’t work how you want. The solution, however, offers a glimpse of how software will work in the age of AI.
The problem
Have you ever hit snags when learning to use new software? That’s when I ran into my problem. And it happened when I was trying to integrate a new app with my knowledge management software.
I’m learning to use Asana to help manage all my projects. It allows me to quickly braindump all the details of a project when they’re fresh in my mind after a meeting. After clearing the higher-priority tasks already on my plate, I can easily dive into the project following the roadmap I built a few days before.
One day, when I was reviewing my plan in Asana to roll out a new fleet of classroom printers, I realized I needed to add an email announcement task. Giving our staff a heads-up was important, but I wasn’t ready to write the email yet. I had a list of bullet points in mind, though, and I wanted to get them down somewhere.
However, I don’t like capturing writing ideas in process-oriented apps like Asana. You never know when the thoughts you write down will be useful, so I keep them all in one place, or app. That way, I don’t have to search through a bunch of apps to remember an idea.
Obsidian is my go-to tool for writing and taking notes. It’s fast, simple, and doesn’t get in the way of my thinking. Its marquee feature is the ability to link notes to each other, making them easier to find and rediscover forgotten ideas. It’s like my own personal Wikipedia, so that’s where I quickly wrote down my notes for the email announcement.
And this is also where I ran into the snag.
Asana and Obsidian wouldn’t work together. I couldn’t open my Obsidian note from the email task in my Asana project board. I could open links to Gmail messages from Asana, no problem. But it turns out that Asana does not support opening Obsidian links. When you click an Obsidian link in Asana, it opens a useless blank page in your web browser.

My goal is to be able to open an Obsidian note on the right from the link in the Asana task description.
Now that you know the problem, what’s the solution? It lies in a new way of doing things, but to get there, I first had to struggle with a conventional search.
Starting with an old mindset
To solve the problem, I did what I’ve always done: I started with a Google search. I Googled how to open Obsidian links from Asana. I spent 30 minutes fruitlessly navigating a maze full of dead ends.
Finally, I found this Reddit post about using a Chrome extension to open Obsidian links. I checked the extension’s details, and there was no privacy statement. Red flag #1. When I tried adding the extension, it warned, “The extension can read and change all your data on all websites.” Red flag #2. Yeah, not worth the risk given the lack of privacy statement.
That’s when I realized, “Dude, you’re doing it wrong!”
“It’s a trap!!”
My mistake was searching for someone else’s solution to my unique problem. Google is great for finding content about common, well-documented issues. Looking for a substitute ingredient for your cake recipe? Chances are a Google, Bing, or DuckDuckGo search will be successful. Try that kind of search for an original dish, however, and you’ll likely come up empty. My Google search got close, but it wasn’t a viable solution because of privacy concerns.
Savvier people are beginning to use ChatGPT to find answers, but they usually do it wrong. Many are still trying to use it as a search engine, treating it like a better version of Google. To some extent, it *is* better than Google. Google’s search results have degraded into a blue link morass of SEO-optimized content that serves Google’s need for ad revenue more than your need for answers. Whereas ChatGPT’s web search does a pretty good job of giving you a decent answer synthesized from several sources which are linked to at the end of the chatbot’s response. Like Google search, though, it’s still parroting solutions to other people’s problems.

Search I performed using ChatGPT’s Search the Web feature to figure out how to make a local link to an Obsidian note.
The New Hotness
I should have used AI to generate a solution, not search for one. Remember, this is a software problem: my browser didn’t know how to handle Obsidian links. But we also know (the only good thing to come from my Google search) from Reddit that a Chrome extension would work. For those that don’t know, a Chrome extension is like a mini app you can install in your Chrome browser (or Brave, Edge, Arc) to add functionality.
So I knew two important things for solving this problem:
1. Asana interacts with web browsers (opening Gmail links).
2. A Chrome extension could enable my browser to open Obsidian links.
Actually, I knew two more pieces of this puzzle.
3. The frontier AI models, like Claude, ChatGPT, and Gemini, are great at generating usable code.
4. I’ve used Anthropic’s Claude to generate a simple Chrome extension before.
So if I didn’t like the recommended Chrome extension, why not just build my own? Despite how much I use AI, I should have tried this first, but I’m still trying to extricate myself from the old ways of doing things…old habits and all.
A simple solution
It was surprisingly easy. All it took was one simple prompt of Anthropic’s Claude Sonnet, one that incorporated a snippet from the Reddit post I mentioned above (red text):
I need a chrome extension that will redirect urls that begin with https://obsidian//* to: obsidian://$1
Followed by one slight modification:
Modify the code so that the Chrome tab is closed after redirection.
Claude tells you exactly how to implement the code by simply copying and pasting it into two text files.
And that’s all it took. Asana now cooperates with Obsidian, ratcheting up my productivity.
The bigger picture
Let’s take a moment to understand what happened here. Instead of being at the mercy of someone else’s software, I used AI to bend software to my demands. No need to send Asana a feature request and then wait for weeks or months, if ever, for them to implement it. Even more jaw-dropping, I’ve never coded a Chrome extension before. I didn’t know what files were required, or even what languages were used. Not only did Claude generate the code, but it also held my hand and clearly explained how to implement it.
And did you notice how I didn’t have to use Google search? Can you imagine if I did? It would have been a long and time-consuming endeavor starting with “how make chrome extension.” Then I’d wander down several paths learning the file structure and syntax, finding an appropriate algorithm, writing pseudocode, and so on. It would have been a multi-week project, with relatively little return on that effort. Thus, it never would have gotten done with all the other things on my plate.
Better at synthesis
Let’s also appreciate generative AI’s ability to synthesize information. Claude didn’t do a search for someone else’s code. It put 2+2 together and created something new out of three ideas: Chrome extension, URL redirection, and Obsidian app links. Since generative AI models contain much of human knowledge compressed into a few terabytes, they can make connections from seemingly unrelated concepts much easier than humans. This capability helps bridge knowledge gaps.
That said, generative AI works better with you as its guide. Since they’re very sophisticated statistical models, giving them extra information about what you’re looking for helps limit the possibility space. This is why telling AI to “act like a helpful assistant editor who excels at strengthening writing structure” can get you better feedback on blog posts, wink wink. Or in the case of my Chrome extension, Claude might have needed more prompting to generate a properly working extension if I had not included the “https://obsidian//* to: obsidian://$1” in the initial prompt.
It’s important to note that LLMs are still far from perfect at writing code. Claude does pretty well generating code for simple projects like Chrome extensions. However, more complex projects can get stuck in a loop of buggy or nonworking code. Current models can’t fit large code bases in their memory (aka context length). Sometimes they’ll create unnecessary code. I ran into a similar challenge when building an app to extract Amazon Kindle highlights and notes. As Shreya Shankar recounts, there’s more to software engineering than just generating code.
So what does this all mean?
The Future of Software
Like Ethan Mollick is fond of saying, this is the worst AI you’ll ever use. Experiences like mine will become more common. People will simply tell AI to generate the software they need, tailored to our own unique use cases. Watch this eight-year-old girl use AI to build a Harry Potter chatbot, for example. Most people won’t need to learn how to code. AI will be capable of generating almost any kind of app we can dream up. When that happens, there’s a much bigger question.
What skills will become important in a world where AI can do so much for you? I agree with Daniel Miessler that creativity and judgment will be paramount. If AI can build anything, what will you tell it to make? And how will you know when it’s done? Lots of real-world experience will be necessary to think outside the box and understand when the outcome is good. For example, software may do what you want, but is it safe? Are there security flaws? Can you think of which ways a malicious actor might attack it? Humans will likely be better than AI at coming up with unknown unknowns, so education must focus on developing these meta skills in students.
Stay Human
Play. Play a lot. Experiment. Not just with AI, but with everything. Go out and learn more about the world, even if it feels “less productive.” Be more curious. Ask more questions. Wonder. Understand what makes things useful, enjoyable. Push boundaries. Try weird stuff that doesn’t make sense.* Most of it won’t “work,” but you’ll feel more creative. Help other people do the same. Empathize with them. Be with them. You’ll be at your most human. And you will feel glorious.
*Kind of like this last paragraph coming a bit out of nowhere.
Join the discussion...