How and why I built https://checkonelonjet.ue.r.appspot.com
About me
This tweet describes me perfectly https://twitter.com/b0rk/status/1533869636479066115
The problem I wanted to solve
There are not enough fun projects in this world--if they are, they die quickly, like Flappy Bird.
https://checkonelonjet.ue.r.appspot.com?
What isI wanted to track if ElonJet ever shows up in Washington D.C. area using a simple, single page, without going through twitter's (at times confusing UI) timeline
Tech stack
NodeJS@Google App Engine
Plain Javascript
Tailwind CSS
https://checkonelonjet.ue.r.appspot.com
The process of buildingI used NodeJS@Google App Engine, because it is simplistic and NodeJs has a lot of great community support. Google even provide you with a basic shell without asking too many incriminating questions--surprising for Google. Also, it was my first ever online experience. Basic visibility like performance analytics, tracing and logs.
Used their boilerplate datastore code https://cloud.google.com/appengine/docs/standard/python/getting-started/storing-data-datastore and used it to fetch twitter status periodically using their cron jobs. I store the latest few statuses in there, as a cache, so that each page view doesn't need to be fetched directly from twitter for each page view.
Do a simple JS dance in the front-end and the pie is served.
I wrote a rough front end using Tailwind CSS using their documented JIT process which doesn't work very well when using docker containers and remote VS Code--google search it if you don't believe me https://www.google.com/search?q=tailwind+does+not+update+changes but I somehow hacked through.
Challenges I faced
Tailwind installation, the JIT way is somewhat error prone https://www.google.com/search?q=tailwind+does+not+update+changes
Key learnings
Google App Engine is awesome for quick and fun projects--it doesn't squash motivation like some other's do.
Tips and advice
Use simple technologies make great stuff.
Final thoughts and next steps
I'd like to use twitter webhooks to track twitter account's activity.