So a few months ago, Twitch.tv made a big announcement that they were going to start allowing username changes. You can find the announcement here: twitch.tv username change blog post
A big part of this announcement is that they were going to start releasing old and unused usernames, so that they could be claimed again.
"Inactive usernames will be recycled periodically and made available for new users in batches. Legacy justin.tv usernames will eventually be recycled as part of this process." - Twitch.tv FAQ page
Twitch Username Checker
I was a bit bored at the time and I wanted a small project to do so I could learn a bit of VueJS. I decided to make an app that I could use to check the availability of usernames automatically and send notifications when names became available.
The result is here: https://twitchusernames.com
The concept is simple. Add a username, and the app emails you when it is available.
I set a goal for myself to make the app in a single day, so I sat down Saturday morning around 10 and worked on it throughout the day. At the end of the day I had something I was happy with. The biggest challenge was writing the frotnend VueJS stuff because it was my first time using it.
Over the next couple of days I pushed a few more updates to the site, but they were mainly small improvements etc, and nothing that I spent more then a combined 2 or 3 hours on. To be honest the code is still a bit crude, and I'm not necessarily extremely proud of the VueJS code (it should probably be refactored a bit), but the goal of the challenge was to create an app in a day, and focus on productivity rather then perfect code.
You can find the code here if you want to take a look: https://github.com/isaackearl/twitchnames
Learning Result
I really like Vue, and I'm going to be trying to learn more and become more proficient with it. My first attempt here I did as a SPA (single page application), but in the future I might create a view component or do something a bit more modular with my code.
On the backend I typically will create a service layer for all of my work, but since the API was very small and simple (4 endpoints) , I was able to just use Eloquent in the controller to get my work done without feeling to gross about it.