The goal of a hotlist is to provide fast access to web sites that you want to use frequently. A number of ways to do this are seen on the web. For instance, a number of people keep diaries of sites they found interesting, which basically arranges things chronologically. You can categorize all the links, so that you may find things if you find the right category. Yahoo does things this way, and I've done that several times. In thinking about it, I decided that the goal should be to have either the most recently accessed or the most frequently accessed links be the easiest to get to - meaning they should be at the top.
So when someone goes to the page, they'll be presented with the list of descriptions as links, sorted in some order. I can't decide - but hey, the page is dynamic! So we'll support them both, and provide a link that changes the sort order. When the user clicks on a link, it needs to go back to the application, update the list entry for that item by increasing the count and changing the date of last access, then redirect the users browser to the URL in question.
This list is going to be accessed and updated over the web and updated the same way. That means we might have to deal with simultaneous access and updates to the data, which is generally a clue that we want a database server - besides, this provides an excuse for this paper.
Given that description, the next step is to build the database.