DEV Community

loading...
Cover image for I used my own app for a month and here is what I learned

I used my own app for a month and here is what I learned

spoman007 profile image spoman007 ・2 min read

I always wondered, I have written so many software solutions for others but I never developed anything for myself. So I decided to build something and use it every day.

What to build 🤔

So the immediate question was what can I build. After spending few days thinking here is what I came up with

Being a developer, I keep exploring the buzz around technology. I explore following things

  • Trending repositories
  • Latest dev blogs
  • Discussions about different topics

I had to hop around multiple sites to do this e.g. GitHub, reddit, dev blog etc. I decided to bring them all together in one place for overview and deep link to the original sites for detailed reading.

TL;DR

If you are in hurry, here is a screenshot and link of what I developed

Technology stack

  • Scrapper using nodejs and scrapeit
  • Rest APIs using express (And GraphQL as well because why not!! 😛)
  • Host backend on Heroku
  • PWA Website using React
  • Firebase for Hosting PWA

And thats it, the PWA was up. This was easy but the real learning began when I started to use the app every day

Adding Animations

The site was fast, but still it felt like a website and not like an app. So I decided to add animations. Adding transitions and other effects using Framer Motion (Great library BTW 💗) made really big difference. I started to get sense of satisfaction with smooth UI.

Initial load time

Heroku is a great platform for free hosting, however after 30 minutes of inactivity the dyno goes to sleep and for any request it takes a while (30 seconds) to show response.
Now this would not be a big deal if it was a POC or tutorial app. But the extra waiting started to annoy me. One of my colleague also mentioned that he abandoned the app because of this.

setInterval(async () => {
await fetch("https://fanas.herokuapp.com")
}, 1140000)

With this single line I was able to fix it, around every 20 mins mark I make a call to API, this keeps dyno awake. (It does restart once in 24 hours but because of this code it is up again)

The Bookmarks

One of my friend who was using this app said that the information keeps updating and there is no way to see a repository (or article, discussion) again if it is gone.
To fix this I added the bookmark feature which uses local storage but it turned out tobe really helpful

PWA Store

After adding all the necessary features, I decided to add the app to PWA Store
To my surprise they added the to Editors Choice list

Alt Text

After 2 months more than 30 people are using this application and I am getting lot of feedback about how it can be improved even further.

Conclusion

It is an awesome feeling to use application created by yourself, but it is more awesome when others are using it as well

Discussion

pic
Editor guide
Collapse
mersadajan profile image
Mersad Ajanovic

I feel like this is the greatest way to create software! Create it for yourself, implement feature your want and need. Show it to others who might like it as well and get inspired by feedback. I would love to make something for myself.

Collapse
mathan26 profile image
mathan26

Great work!

Collapse
vivekkosare profile image
Vivek Kosare

Nice work. I like it :)

Collapse
trivectorx profile image
Xin YAO

Great idea and very handy tool for Devs to kick off the day :)

Collapse
waleedtageldeen profile image
Waleed Tageldeen

Great idea and I liked the concept of developing for your self first, but for the 30 minutes bypass issue will your hack be valid if a large number of users installed and used your app?

Collapse
spoman007 profile image
spoman007 Author

Thank you!!
Yes, as long as the number of requests are within threshold. But frankly I would move to paid hosting for larger userbase.

Collapse
ahmedgmurtaza profile image
Ahmed Murtaza

Great effort and the app idea too! ;)

Collapse
larrykoch680 profile image
larrykoch680

Great idea and very handy tool for cuteplushies.net/

Collapse
jakeerc profile image
Jakeer

Salam , may god reward you
Helpfull

Collapse
fayaz profile image
Fayaz Ahmed

Good work, I would suggest you use the api's instead of writing a scraper.

I had used the trending api for gitstars.co
For dev.to they have an official api

Collapse
spoman007 profile image
spoman007 Author

Thanks!!
Yes and it is super convenient as well. I am already using it for dev.to and reddit.com.
API

Collapse
merichard123 profile image
Richard

Awesome app! I love you solution to bypass the heroku sleep time. I'm going to bookmark this. That snippet may be useful in the future. 😊

Collapse
spoman007 profile image
spoman007 Author

Thank you !!
Yup 😄

Collapse
maxdevjs profile image
maxdevjs

Great insights!

Collapse
igomezal profile image
Iván Gómez Alonso

That's awesome. Good job!

Collapse
andrewbaisden profile image
Andrew Baisden

I am going to try this but I will use Electron to create a desktop app. If you know HTML, CSS and Javascript then you can create desktop apps.

Collapse
teooliver profile image
Teo Oliver

Wow! I was happily surprised with the PWA store screenshot. Im the guy behind Habit Grid. :)

Collapse
spoman007 profile image
spoman007 Author

Thank you :)
I liked the concept for Habit Grid !!!