4 minutes
HEY!LSN - A Browser Extension to Save Notes
The Name
The name HEY!LSN is a play on the phrase “Hey Listen!” which I remember from the video game The Legend of Zelda: Ocarina of Time. In the game, your fairy, Navi says “Hey! Listen!” all. the. time. When I imagined the extention showing a count of the notes it was aware of for a page, I could hear Navi saying “Hey! Listen!” in my head. Not exactly the most descriptive name for what the thing does but hey, I like the warm fuzzy it gives me.
The Beginner’s Journey
HEY!LSN is a browser extension that I have wanted for some time for personal reasons. I wanted something that would allow me to save small notes specifically for that page/domain. Mostly for web development so I could note special aspects of that site. I wanted it to be simple. I didn’t want to have to sign up for an account or have to worry about syncing across devices. I just wanted something that would work in the browser and save notes locally.
This is my first extension and I used Github-Copilot to assist with it. I’ve attempted plugins in the past and since I wasn’t very familiar with them it was pretty slow going. I understand the technologies involved but the storage was something I struggled with. Coming from a MySQL background, local storage was a shift in thinking to be sure.
Following online tutorials and documentation would allow me to get a very basic extension working. However, working for an hour at a time every few nights made it difficult to get much traction. Tracking down an error as I worked on something would get interrupted by life. When I would return a day or so later I had to refigure out where I was when I left off.
The AI Angle
I decided to take another shot at this particular project with the help of AI. I still have some idealogical issues with AI in general:
- The potential for it to be used to create deepfakes and other forms of misinformation.
- The potential for it to be used to replace human jobs.
- The potential for environmental impact of training large AI models.
- The potential for creators to have their work used without permission to train AI models.
- The fact that it is another unregulated technology that can seriously disrupt many aspects of our daily lives (see social media, which I still think was a mistake…).
All those points being made, I do see potential in the technology and I hope that we can find ways to use it without causing increasing harm. In this case I wanted to see if it could get me to a workable point in this extension project so that I could finally finish it off.
I used Github-Copilot in VS Code to assist. It actually did most of the work so I’m not going to claim that I wrote all of this by hand. The nice thing about browser extentions is that they aren’t super complex (at least this one isn’t). I began with the project descripton markdown file where I described the extension in detail for GC. I then prompted GC to to read the description and ask any questions, one by one that it would need to do the work. After an intial build, some manual tweaks by myself and some reprompting for some extra features it has landed in a place I’m happy with.
I don’t love that AI was the main author of this project but I’m glad I can finally realize the result I’ve wanted for so long…
The End Result
The extension fits a need that I have had for some time. I hope that it can be useful to others as well. I have no plans to monetize it. I have no plans to add any “syncing” features. There will never be an account for it. I don’t care about usage metrics. If you use it and find it helpful, great. If not, there may be another one out there for you.
Intitially it will be for Firefox but I’ll finish Chrome testing at some point and try to release that version as well.
Code for the extension is hosted at Gitlab here: https://gitlab.com/jimmynash/heylsn