I started building out more of the UI for Cushion, including the form for creating a new project. I got antsy and felt the need to be able to change the data I’ve been working with. Leading up to developing Cushion, the plan has been to build local-first, so the app could be used offline from the get-go. This was a nice thought, but became less realistic the more I looked into offline storage and making that work with Angular. The browsers haven’t really decided which local database framework they want to go with, and the one with the most support, Web SQL, has already been labelled as deprecated.

Instead of half-heartedly choosing one direction and regretting it later, I decided to stop spinning my wheels and just put aside the local-first idea. For now, I could at least build the app with offline capabilities in mind. Now, the question is which server-side stack to pick. For the past several years, I’ve been using Ruby and its lightweight, do-most-of-it-yourself framework, Sinatra. I really enjoyed using Sinatra, but have been through the app set-up process so many times that I need something different. I haven’t given Node.js a thorough look since its debut, but now that it has several years under its belt, I decided to seriously consider it.

I started building out the initial server-side groundwork using Express—the Sinatra of Node.js. So far, I love it. The structure is very easy to grasp and everything makes sense. Right now, I have the server running the web app and API. Next up is the database and models.

For those who are interested in Node.js and Express, I’m starring all of the useful repos I come across here.