Intro
Just write, that’s what I told myself while I started to write my first ever blog post while sitting at my favorite local cafe and sipping through a double espresso. But I didn’t know where to start. I had a general idea of what I wanted to achieve so I started by leveraging that and doing a quick sketch about the titles I wanted to cover in this blog post.
As you might have already heard about the new internet sensation named Wordle that has become an inseparable part of millions of people’s daily routines. We were playing it with friends and competing on who did it better every day, they were saying they wished it was in Albanian and I didn’t think I would be able to do it so I just let it go.
Fjalëz
Building
Until one Friday weekend when I decided to ‘push’ my insecurities and start working on it. I found an open-source repo of the game and decided to clone and modify it. The code was very straight forward so I could manage easily through the files. After fixing the code to suit my needs I arrived at my biggest problem - finding the words. I struggled to find something on the internet for a while so I reached out to the fjale.al(Albanian dictionary) maker and asked him for any kind of suggestion he could provide of where to find the word. He sent me a few links and I went through them where I found the most common words, I filtered them, found only the 5 letter ones, and managed to have around 5k words.
Then I went on my journey to test and play it with friends, I fixed some minor bugs and suggestions they had but the app didn’t have a name. I wanted something in Albanian, something easily understood and related to the idea. While brainstorming I came up with Fjalëz - meaning small word, exactly as I wanted, I decided to do a simple logo with just the letter F on it and pushed the code to production.
Launch
It all started with a post on Twitter of me announcing the game it picked up a lot of pace immediately and people started playing and recommending me with words that weren’t on the platform. During the day it was played and retweeted by a lot of Albanian influencers before being posted by ICK (Innovation Center of Kosovo) which was the time it arrived its peak.
In the following days, I was also featured in the local newspaper which made my parents proud. 🤪 The trend continued for a few months where I had more than 1k players daily, and I managed to make a lot of new friends through that.
Why it worked
It’s not trivial but it’s not that hard if you have a decent vocabulary and some intuitive sense for letter frequencies (and letter pair frequencies) for different locations in a word. The answer list does not seem to include really hard words as naively picking all the words in the MW dictionary would be. It’s a fun 10-15 minute puzzle.
The 5 letters seem to be the sweet spot, not very long not very short.
Easily shareable you can just copy the results with the button ‘Share’ and have it shared on Twitter, which created a networking effect and encouraged people to try and do better than their friends and peers.
And yes, the main feature to success is the once-a-day playability, if you try the more than one word per day clones after a few rounds, it just won’t be as fun. What makes it fun to spend 10 minutes on the game is that it’s the only round of the day so there’s a pay-off to giving it some thought. When you can keep playing new rounds, it’s just not rewarding and you would just close the tab when you were stumped.
Technology
The game is made with React and Javascript, entirely in the front-end without any server or anything. You have two static lists of words in the JS code - known words, and a smaller, random pre-shuffled list of words the game will select from.
The selection is done on the client, by date, from the second list - every day at midnight (your local time!) the next word in the pre-shuffled list is selected - no hashing or randomizing or anything. No cookies are involved in making you play one game per day, no server-side calls are involved in the gameplay at all. And yes, this means that changing your time zone will let you play tomorrow’s game and that you can just view the source to know tomorrow’s word - it appears right after today’s word in the code.
About Me
I am Metin Ferati a Senior Front-End developer and an aspiring entrepreneur based in Skopje, Macedonia. With a background in full-stack programming and experience in marketing and sales, I have shipped multiple products in the past including Spory[https://spory.app] & LaunchTorch most notable. Currently, I am one of the partners at DeltaBees[https://deltabees.com] where we help businesses digitalize their services. Feel free to reach out.