On April 1, 2020 I opened Apple Notes on my phone and wrote down "Notes app" and pinned the note:
I didn't know at the time, but this was the beginning of engram. I had become so frustrated with my options for notes apps, when I finally realized that the app I wanted was so insanely simple to build, that I didn't understand why I hadn't already built it.
My notes app was just a hobby and a playground for learning new things. I found myself completely changing the app from week to week as I found things useful or not. Before long I had a notes app that worked how I wanted and if I ever wanted it to do something else I was in complete control.
I was hooked! I made my own drawing app for my iPad, a chat app to replace slack, and several others
There was only one unenjoyable part about all of this. Managing deployments was starting to hurt my head. Different projects got deployed to different machines, under different users, and sometimes under different hosting platforms. Every time I needed to deploy a change I had to manually deploy to the correct server.
The worst part was setting up a new deployment with all the configuration and remembering of obscure commands that I hadn't used in weeks. I began to lose interest in building out new prototypes as each new one gave me one more thing to manage.
I took some time to explore options that would solve this problem for me. I tried Heroku, Vercel, fly.io, netlify, Google Cloud Run, and probably a couple others. But just like before I find myself frustrated with each of these.
An engram is a unit of cognitive information imprinted in a physical substance, theorized to be the means by which memories are stored 1
engram (or `eg` on the command line) is a tool to streamline the creation process for developing, hosting, and sharing applications.
The web offers endless possibilities for what can be created. Each website is a unique opportunity to tell a new story or solve a new problem. Engram provides a home for these experiments accelerating how quickly you are able to go from idea to implementation.
Engram aims to inspire new innovations and make the web a fun and quirky place like it was in the old days. This can be achieved by making sure people of all skill levels are able to deploy their custom websites quickly and easily.
We ultimately aim to move the development process off local machines entirely. Doing so will dramatically simplify onboarding processes, eliminate configuration differences between environments, and enable quicker build times.
We are still in the early days of exploring how to improve the web developer's workflow. If you have ideas, suggestions, or feedback, please email us at [email protected].