DEV Community

Alvaro Montoro
Alvaro Montoro

Posted on

Digital Ocean Hackathon App: Dwindle

The Digital Ocean + DEV hackathon is underway and I thought about submitting an app.

It will be something small, and probably static, and it will help me test Digital Ocean and see its capabilities and features. Right now I have a hosting with GoDaddy, so it would be good to compare both of them.

The app

It will be something simple, actually based on an old project of mine that I never really completed and ended up abandoning:

I used to have that domain and didn't renew it, and now I just discovered that someone got it and it's on sale for $3,800 😓 was a small PHP app that took some text and reduced it (or tried to) to less than 140 characters (back then, that was the limit). It looked quite crappy and it only worked in Spanish (and not that great, to be honest):

Screenshot of, a site in Spanish to reduce the size of text

The goal of the hackathon would be to:

  • Rebuild the app in JavaScript (keeping it simple, without even using React or any other library).
  • Apply modern CSS and a11y features.
  • Adjust it to work in English (with Spanish as a bonus now).
  • Adapt it to the new Twitter interface (280 characters).
  • Check how Digital Ocean works deploying directly from GitHub.

...And all that in 10 days 😅

I will name the app Dwindle because it is a synonym for shrink and reduce, and it has a nice ring to it.

Here we go!

Top comments (3)

aleksandrhovhannisyan profile image
Aleksandr Hovhannisyan

Cool idea! Best of luck :)

Will you be doing any machine learning for this? I'm curious how the app will determine what text to cut and what text to keep.

Looking forward to seeing the result!

alvaromontoro profile image
Alvaro Montoro


Initially, it won't have any machine learning. There will be a dictionary of words and their shortened versions, and it will a direct replacement.

As a stretch goal, I want to add the option for the user to view the replacement and pick if they want it or not, and that would give some data points to know if a replacement is good or not, and learn from that in order to (not) apply it in the future. It would be a basic thing.

What machine learning opportunities do you see in this app?

aleksandrhovhannisyan profile image
Aleksandr Hovhannisyan

Cool! Yeah, no need to complicate things if you can keep it simple.

I don't know much about machine learning, but there's something called natural language processing (NLP) that may be relevant here.