That Personal Project I Have Not Finished

Posted on 15 August 2019 in development

Right about a year ago, I started work on a personal project. The premise was simple, a URL shortener on steroids. It would work like any other existing service out there except you can set conditions to the links. Say, forward the first 100 visitors to site A, and the rest to site B. Or forward to site A only if the click is before set date.

These conditions can also depend on what devices the users are on or which countries they are from. There would be a statistics page for each link, and links can be manage by teams.

The backend code came out well considering it was my first project of such nature (I.e, not CRUD). The conditions would work and statistics were recorded.

My problem was is frontend. I developed the whole site as an SPA using VueJS. Both concept and framework were new to me and I had to learn as I built. The complexity along with browser issue in the end led me to quit the project. Specifically, the issue was on cookies and the ability to grab links created when not logged in.

Lately, there have been some interest in this specific project. I’m going to give it another try, but this time, I’ll tone it down on the frontend part.

The dilemma is whether to restart from scratch or to proceed with the existing codebase. I had a look and I’m quite impressed with how well things are thought through in the backend. Unfortunately, the codes are not documented well. I have to retrace functions from the router, and reverse engineer some algorithms.

I wish I had pushed through last year, but regardless, I’m happy to be back on track. Looking forward to sprint through a simplified version of this project.

Update: I have stopped working on this project but you can find the source code here (https://github.com/xfltrt/urbnlink).