I've maintained a journal and/or a daily log since I was in high school. I enjoyed tracking the data in my life. In addition to thoughts and feelings, I focused a lot on events: what I did, and what happened. I also recorded how many steps I took (using a pedometer clipped to my belt). At first, it was all in plain xml files (why??) so that it would be structured, and potentially machine-readable. This was before I really knew that databases were, but I also wanted to read them easily. I even pulled the day's weather data (I think from Yahoo or something) to include - all to help my future self understand my state of mind and being.
I upgraded my very first client (which, if I recall, was in Flash Actionscript) to a web-based form, which submitted the inputs to a mySQL database. Years later, I scrapped it and started a new system from scratch. This is the one I have today.
The visual interface is based on a dynamic timeline - a single line that stretches from top to bottom, and which is punctuated by dots which represent the events that happen, at the time they happen. Items that don't have specific hours or minutes (like that day's steps, or thoughts I want to record) go on the side of the timeline, next to the day that this data was recorded. There's a different section which compiles and displays statistical data, such as number of hours of sleep and fuel prices. There's also a feature which lets me take a snapshot of my face from the webcam. The timeline is "infinite": I can click to request any day, and it will load onto the timeline without refreshing (with a visual break in the timeline representing elided days). To add an event, I click on a "plus" button that's near the hour I want, edit the exact timestamp, add an event type (there are several to choose from, like generic event, meal, sleep start or end, etc), then write in the content of the event. There is also a separate mobile-optimized web app that I created to support the quick insertion of new entries (see the section on "Daily Instant").
There are a lot of features I'd like to add (many of which have been sitting on the to-do list since time immemorial). These include a robust search feature (I'm currently accessing the database directly for searching), and more sophisticated event content payloads. I'd also like to open-source the project, though I (foolishly) hardcoded some security features and server details early on. Still, my target market (aka: me) has been pretty happy with it.