Skip to main content
cascadia.computer

Building Memos AI, a developers perspective

Hello! I recently released an app I've been working, Memos AI, and I wanted to talk a bit about how I built this app. Before we dive in, lets touch on exactly what Memos AI is.

Memos AI is a new voice memos app that uses artificial intelligence to provide highly accurate transcriptions. The app is available on Windows, Android, Linux and iOS, and it can be used to transcribe any type of audio recording, including lectures, meetings, and interviews.

It is also open source, and can be found here on Github.

With that out of the way, what are we going to cover exactly? Let's touch on:

Let's dive in!

Why a PWA (Progressive Web Application) #

PWAs are web apps that are installable on a user's device and can be used like any other native app. They offer a number of benefits over traditional web apps, including:

PWAs also offer benefits over a native app. For example:

Tech Stack #

Ahh the age old tech stack discussion. First, as you always should with a tech stack discussion, lets discuss what my user goals are for Memos AI:

With this in mind (and yes I also work on the PWABuilder project) I decided on the following stack:

Publishing #

For publishing, I wanted to take full advantage of the fact that my app is cross-platform. I deployed to the web first, using Azure Static Web Apps. Static Web Apps, especially when used with Github Actions, makes it incredibly easy to deploy a web app. You get HTTPS out of the box, and other features such as:

I then decided that my first store I would publish to is the Microsoft Store. Using PWABuilder, it was as easy as grabbing the URL that Azure Static Web Apps created for my app, going to https://www.pwabuilder.com, and clicking a few buttons. PWABuilder then gave me an MSIX that you can submit to the Microsoft Store, just like a UWP app. And just like that, my app, still with only a single codebase, is in the Microsoft Store.

And thats it! To get started building a new app like I did here, go to PWABuilder and click "Start a new PWA".