Skip to main content

Command Palette

Search for a command to run...

Time Logger: Simplifying Journaling with AI-Powered Reflection

Effortlessly record your daily moments, big and small, in one place.

Updated
8 min read
Time Logger: Simplifying Journaling with AI-Powered Reflection
E

I have only been working on personal projects for my own convenience. I'm looking to get my first job in the industry, and I'll share what I can from the projects I built that I'm currently using or collecting dust.

Traditional journaling methods can be time-consuming and often feel like a chore. We need a more efficient and enjoyable way to reflect on our daily lives. That's where Time Logger comes in – a console and GUI application that uses AI to simplify journaling and make it a sustainable habit.

Background

Need

While I wanted to journal, my primary motivation was wanting to establish an online presence.

I've been coding for several years now but I didn't touch social media. I seriously just go there for memes.

It was just last month that I became serious about being present online, not having posted anything but memes, I looked around to know how other people did it, but it didn't feel right, I didn't know what to post and what to keep to myself, that's when I remembered the logger I built to keep track of small changes I don't commit to git and how I made them.

Inspiration

You know how YouTubers in their dev log video can speak like they remember the whole process, I didn't know how they did it but a logger came to mind, so before I started a new project I quickly wrote a script to store entries on a txt file.

You probably know how the rest of this goes, Time Logger is a desktop application to keep and use entries in a meaningful way.

If anyone shares these problems please consider using and contributing to Time Logger.

Features:

  • A simple console application to write new entries with no distractions.

  • Tag entries for easy filtering and searching

  • Attach files to entries for added context

  • Generate social media posts from your loaded entries

  • Continuous Logging: set reminders to log your experiences at regular intervals

  • Post on X and LinkedIn with just a few clicks

  • Chat about your day(s) with a chatbot that has access to your loaded entries

Design

The most important aspect of this application is being frictionless it is easy to use and pick up.

Console Application:

When it starts it will load all the entries you added that day, and prompt you with the time for tags to attach.

2024-07-08:

    08:10 am: example_tag
        Example entry text

    09:09 am: tag another_tag
        An entry with more tags %%new_tag and attachments **path/to/related/file.pdf **clp

Please refer to the README.md file in the GitHub repository for more details on how to use it.

GUI Application

The UI is quite straightforward.

Logs

Other than adding posts and entries, you can filter the loaded entries using tags by including and excluding some, and choosing a time window, you can also search with text.

Remember to use "I" to refer to yourself, and "you" to refer to the application, it helps when conversing with the chatbot.

Posts

Here you can view the posts you made using Time Logger and post them to your X and LinkedIn, and soon to Facebook as well.

Generate Posts

Say goodbye to having to think up content, an LLM will use your loaded entries to generate posts for you.

Let the AI Get to Know You

Ask it about anything, something you forgot, to summarize your entries, to write a hackathon blog post, or about that time you committed your database to the repository by mistake.

This chatbot is made to think it is Time Logger itself, it's designed like this to soon enable it to directly interface with all the aforementioned features.

And... the Setting Screen.

from here you can log in to your accounts, and customize how often you'd like to log a quick one-line entry.

The Process

This part is completely generated by Time Logger (I removed some stuff).

Here is the detailed step-by-step process of building Time Logger, grouped by day, based on your entries:

July 1, 2024

  • Started working on the database API

  • Got the database API running

  • Implemented quick console logging

July 2, 2024

  • Worked on the UI, focusing on tags

  • Designed the UI for tags

  • Implemented adding tags from the text field

  • Thought about supporting screenshots and attachments

July 3, 2024

  • Wrapped up work for the day, having finished the UI and a good part of the logic

  • Reflected on the importance of putting in effort, regardless of the outcome

July 4, 2024

  • Tested attaching images

  • Implemented filtering tags

  • Showed attachments on the entry card

  • Added the ability to add an entry from the UI

  • Tested attaching multiple images

July 5, 2024

  • Planned out the next steps:

    1. Learn how to use the X API and log it

    2. Work on Time Logger

  • Set goals for the day:

    1. Enable deleting and editing old entries

    2. Enable deleting and editing tags

    3. Design the posts tab UI

July 6, 2024

  • Tried to use the Tweepy library to post on Twitter/X, but had trouble with access levels

July 7, 2024

  • Accidentally deleted two entries while working

  • Found out how to post using Tweepy, but had trouble with access levels

  • Needed to get the todo list from the day before yesterday done

July 8, 2024

  • Posted two posts with Tweepy

  • Started learning about FaceBook and LinkedIn APIs

July 9, 2024

  • Updated the README file

  • Learned how to use LLaMA

  • Found an API called Groq, which is easy to use

July 10, 2024

  • Worked on the posts UI

  • Watched the Neuralink update

July 11, 2024

  • Edited the database

  • Started building the AI Tool UI

  • Worked on the prompt for the post-generator

July 12, 2024

  • Reached the 90-90 stage (90% of the work is done, but the remaining 10% takes 90% of the time)

July 13, 2024

  • Committed the changes made yesterday

  • The user can now generate, write, edit, and delete posts, but posting is not supported yet

  • Started working on the preferences tab

July 14, 2024

  • Polished up a presentation for a friend

  • Planned out the next steps:

    1. Prompt the chatbot on a different thread

    2. Enable the copy feature on the AI tool chat boxes

    3. Start the hackathon blog post about Time Logger

    4. Get the app to post on Facebook

July 15, 2024

  • Put the prompt function on a separate thread

  • Fixed some issues with the UI

  • Enabled the copy feature on the AI tool chat boxes

  • Started designing the settings screen

July 16, 2024

  • Worked on the preferences (settings) screen

July 17, 2024

  • Figured out how to let the user log in with their Twitter/X account

  • Struggled to get things done, but made a plan to break it down into smaller steps

July 18, 2024

  • Struggled to stop procrastinating and start learning what was needed

  • Asked for help online to learn how to store API keys and user credentials

July 19, 2024

  • Set up the LinkedIn API

July 20, 2024

  • Helped around the house

  • Got back to work and felt motivated

July 21, 2024

  • Electricity went out for 12 hours

  • Confirmed that logging in with LinkedIn is working

  • Looked for ways to make posts with the LinkedIn API

July 22, 2024

  • Got back to work and felt motivated

  • Struggled with the LinkedIn API, finding it unnecessarily complicated

  • Watched anime episodes

July 23, 2024

  • Had trouble getting the LinkedIn and Facebook APIs to work

  • Considered submitting the application as is

  • Had depressing thoughts due to the lack of progress

July 24, 2024

  • Wrapped up the application for the hackathon

  • Read through articles made for the hackathon to get an idea of how the blog post should be like

  • Evaluated the project based on the criteria:

    • Real-world usefulness

    • Feature completeness

    • The story behind it

July 25, 2024

  • Improved the preferences screen

  • Figured out how to implement Continuous Logging

  • Got the LinkedIn API to work, posting on LinkedIn via the API

  • Packed the Continuous Logging into an executable

July 26, 2024

  • Packed the Console Application into an executable

July 27, 2024

  • Finished adding or fixing features

  • Packaging the application to an executable

  • Planned out the hackathon blog post, including:

    • Explaining design choices concerning UX and UI

    • Listing features with brief explanations and reasons behind them

    • Speaking about the inspiration behind Time Logger

    • Relating the application to Hashnode and the possibility of generating blog posts for users

    • Making it personal for the readers

    • Mentioning the challenges faced during development

Future Plans

I'm quite proud of Time Logger, but it improved much further.

  1. Smoothing the UX by adding keyboard shortcuts.

  2. Enabling the chatbot to control everything.

  3. Adding an AI-assisted Dirary tab.

  4. Building a backend.

  5. Porting to Android, IOS, Linux, and Mac.

Conclusion

I started building Time Logger because I needed it, it's the only time tracker that I can use without overthinking, I know a lot of people have similar problems and I would be overjoyed if you started using Time Logger, or contribute to it, feedback is also much appreciated.

The Windows executable is out, give it a try you won't regret it.

GitHub: https://github.com/ezooon/TimeLogger/

An attempted where Time Logger wrote the whole blog post: https://hashnode.com/post/clz4d1s3f000l09l90dfyhovr