Hej.nu started as a highschool project with the aim of learning PHP and MySQL. Realizing how fun it was to develop such a site, and that it gained a popularity beyond what could have been expected (16,000 users registered within a year and at most 100 simultaneous users), it was a natural thing to keep working on it. And so the work on version 2.0 started.
It didn't take long before I realized that knowing how to program is far from everything you need to know in order to succeed with such a project. So I started to read. First off was PHP Objects, Patterns and Practice by Matt Zandstra. A great book that helped me realize that there in fact is a way to apply my personal qualities of being orderly and analytical to the world of system development. I really loved what I read.
Wanting more of the same, I continued my reading to books such as Patterns of Enterprise Application Architecture by Martin Fowler and Domain Driven Design: Tackling Complexity in the Heart of Software by Eric Evans. Both of whom have become my personal favourites among the authors in the field of computer science.
Thus the development of the next version of Hej.nu slowly transitioned into a personal education and training session, where more focus was on learning how to do things right, than on finishing the project. I switched to PostgreSQL and learned to write and use stored procedures and triggers. I put a big effort into the database design. I wrote as much as I could in javascript (including AJAX) to make the UI as responsive and smooth as possible. And so on.
Looking back, I don't regret that things turned out that way. At that time, Facebook was just around the corner, so if I would have put all my effort into "just finishing it", I would have gained nothing. Now at least I'm happy that I've learned a lot in the field of system design and analysis (something that has served me well in subsequent projects).
Each user had a guestbook where other users could write to them publicly. When the reply window was shown, it was animated into focus if off-screen. When typing a message, the bar on top of that window showed a "progress bar", indicating how many characters the user had left to type. The javascript behind this page was mainly focused to this file.
Each user was expected to write a presentation about themselves. At their hands they had an editor which allowed for a custom markup language to style their text. The editor above was intended to be introduced in version 2.0 and was the most advanced presentation editor compared to known competitors in Sweden at that time. It allowed for WYSIWYG editing of the most common CSS properties (including absolute positions and z-indexes). The javascript code behind this editor can be found here.
The whole codebase of the incomplete Hej.nu 2.0 can be found on github.
An unedited and incomplete* work log is available here covering this and two other projects. An estimated total of about 1200 hours were spent developing the hej.nu project (including coding, graphics, modelling, etc).
Please note that the documented work is the effective work; i.e. no lunch, unrelated browsing or other significant breaks were included but strictly the time spent on focused and productive work (I used a physical timer which I stopped as soon as I went away for a break or started to do something unrelated). In addition to that, I was hard on myself and did not include so-called "unproductive days"; these simply appear as having zero worked hours. However, far from all days with a zero working time were "unproductive"; some were simply spent on studying, building projects or even vacation.
* Logging started in the middle of the project.