22 Jun

Building my ultimate digital notes app with AI

08:44

I'm something of a digital notes junkie. I've tried many web apps, desktop programs, and mobile apps, some of which synchronize across devices and platforms. Most of them have some positive attributes, but I've never quite settled on one as a keeper.

So, learning to use AI to its best potential, I went to Google AI Studio and instructed Gemini 2.5 Pro to make one for me. The original brief was to build a personal web app for me to store notes. Requiring a Google login, store the notes in Google Sheets or Docs, allow multiple labels, enable basic formatting such as Markdown, display a list of notes by title, enable sorting including a search feature, and finally to allow attachments.

As the project took shape, we added pagination; if there were more than 20 notes, there would be a link to more of them, truncation of long notes after I think it was 200 characters, an AI assistant, and we made it a progressive web app (PWA) to install on a phone or an iPad.

After this process was completed, I asked the AI to generate a summary of what we had done and how we achieved it. And I'm going to quote from some of that for the next part of this audio blog, and then I'll conclude with my personal thoughts at the end.

The AI transcript starts off: In under an hour we had a Google Cloud project, all the necessary APIs enabled and security credentials generated. The initial code for a secure login page was ready in 10 minutes.

I, that being me, was thrilled. I thought we'd be done in an afternoon. That's when we hit the wall. The moment we tried to connect all the pieces and deploy the app, we fell into a multi-day debugging nightmare that would have cost a fortune with a human developer.

We ran into every classic web development problem imaginable: cross-origin resource sharing (CORS), I'd never heard that acronym, session cookie race conditions, and redirect URI mismatch authorization loops—very technical.

The AI was unfailingly apologetic, which is true; it was quite obsequious at times, and at other times was really quite miserable because it felt that they had failed. That's my commentary being added there.

The AI was apologetic because at several points it provided broken or incomplete code. After one particularly frustrating regression where we lost significant progress, it declared its own process, quote, "a complete failure," and called the app we were building a, quote, "Frankenstein's monster of configuration." Yes, it did that. In fact, I shouldn't say "he or she," it's "they" said that. And I had to redirect them or push them back to a previous version to get them back on track.

Back to the AI: it was in these moments of failure that the true nature of this collaboration became clear. I was not a passive client; true, I was the project lead, the creative director; true, and the lead QA tester; true. My role was to hold the vision, to meticulously test every deployment to spot the bugs, and to provide the precise feedback needed to get the AI back on track.

When it got stuck in a loop, I had to guide it out. When it provided a solution that didn’t make sense, which happened several times, I had to, and so on.

Once we conquered those foundational bugs, the magic returned. My ideas became features in the time it would take to write an email. Here are some examples:

Can we add a toolbar for search and sorting? Done.Let's have the create note form appear as a toggle button. Done.Can we add multiple attachments and a color palette to the notes? Done.Let's make it a progressive web app (PWA) that I can install on my phone. Done.The most ambitious feature and the cream on the cake for me —  that's my commentary — was integrating an AI assistant. I named him Jeeves.

Going back to AI's commentary, we plumbed the app into Google's Gemini API, allowing me to ask questions about my notes. We even built a global query function that feeds the entire library of notes to the AI, effectively turning my app into a personal knowledge base I can converse with.

Throughout this, the app's security was paramount. In the Google ecosystem, the security is handled by Google itself. The login uses my Google account with 2FA, and my data never leaves my own Google Drives and Sheets. I trust that more than any third-party app.

This project has fundamentally changed my perspective on creation. This isn't about AI replacing developers; it's about AI empowering designers, thinkers, and visionaries. The old model of handing a spec to a dev team and waiting weeks for a result is over.

The new model is a dynamic conversation, an iterative dance between a human with a clear vision and an AI with rapid, near-limitless technical execution. I was the designer and the director. The AI was my tireless, occasionally clumsy, but ultimately brilliant developer. And this app is proof that this partnership is the future of building things.

Okay, thanks Gemini for that assistance. Now back to me.

I see this project as a personal knowledge base where I can store information and retrieve it when needed. The content can be organized by label or color. The AI assistant can help me find things quickly, summarize long notes, attach documents, and answer questions.

Whereas in the past I've used notes apps like Keep, Joplin, AmpleNote, and OneNote, and storage services like OneDrive and others, this is a complete package with AI integration.

I envisage using it for personal and work-related purposes. Some might say it should be self-hosted for ultimate security and control, but I like the simplicity and convenience of using Google. If you trust Google with your email, you can trust it with notes and documents. However, I won’t be storing anything particularly sensitive on this notes app.

In conclusion, there are apps that have the features I deployed here, but not many that combine all of them in a single package with clean design.

If you're interested, I've published the code on a personal website, https://ax.lv/bw

This is the second app that I've designed with AI as the developer. It took a couple of days and several resets. I became more assertive with the AI and questioned its logic many times. It was not a robotic exercise where I followed instructions and asked questions.

And I think the advantage of doing this is you're able to personalise the project much more than you can by getting something off the shelf or from another developer. And in terms of developing it, you can do this in one or two days rather than waiting weeks or even months if you outsource this to a human developer. I used about 600,000 tokens in Google's free AI studio, and I learned many things along the way.

Finally, if you want to do this yourself, you need a Gmail account, Google Sheets, Google Drive, and access to the Google Cloud Shell editor, which you can get from your Gmail account.

I made it so the notes can be up to 20,000 characters, which is about 3500 words, and up to four attachments at 20 megabytes each.

I hope you've enjoyed listening to this audio blog or podcast. This is Michael Gorey from Gorey Things.

More from Michael Gorey

© 2025 Michael Gorey