Using LLMs to parse 7 years of stand-up updates
Using Claude, ChatGPT + OpenAI API to reflect on my last few years at work
I've been trying to help some colleagues get a job in this current market, and one thing that I noticed is that people struggle to keep their LinkedIn/resumes up to date with their actual achievements.
I think everyone should have a Year Review doc and take note quarterly of all your work (projects, impact, launches, metrics, etc.) so you can use this in interviews and for your resume.
This is a problem that I have myself. I've spent 7 years at Canopy, wrote most of the 200kloc of our codebase, helped a lot with our UI design, was involved in all product and hiring decisions, helped fundraise, etc.
But my LinkedIn is empty. I honestly don't even remember what I did.
The thing is that for 7 years I've used Canopy Perform to record daily standups. I have a journal of everything. Now, how do I make sense of it?
Summarization
So I decided to summarize everything with GPT4 and Claude Opus and see the differences. The steps:
1. Exported the CSV with all my Heartbeats from Canopy Perform. The data was a row for every day containing HTML with lists, strong tags, and divs of what I did on that day, what I did the day before, and sometimes reflections and challenges.
2. Used ChatGPT with Code Interpreter to rewrite the CSV, combining every day into a new CSV that had weeks instead of days, and the value of each week was all the days of that week combined.
3. Wrote this script to call OpenAI gpt-4-turbo-preview and summarize every week while getting rid of the HTML (tried with GPT 3.5, and as usual, it's useless). The output wasn't perfect – I should have added more guidance on vocabulary to cut the BS words, but good enough.
4. Then I wanted to manually go over every month and try to reflect/remember what I did. For that, I decided to test the differences between a Custom GPT in ChatGPT, OpenAI Playground, and Claude Opus with the same system message.
Comparing Claude, Custom GPT and OpenAI API
Here's the comparison of each on my 1st full month at Canopy:
This was the System Message (same used for all), and here’s the input data.
Note: the summary was generated by GPT4 with low guidance, so there's some BS vocabulary that I would never use.
Claude console result
All default settings: temperature 0, claude-3-opus-2024, max tokens sample 1k
Title: April 2017: Focusing on Admin Panel, Rails 5 Update, and Slack Integration:
In April, I focused on improving our Admin panel, particularly the statistics section, which was deactivated due to performance issues. I also worked on updating our system to Rails 5 to keep pace with upcoming updates and facilitate a smoother transition to Rails 5.1 in the future.
Additionally, I began integrating Slack into our workflow to enhance our communication and collaboration processes. Although I had to postpone some administrative tasks, such as completing revenue and question popularity reports, I prioritized these system updates and integrations to ensure our technology remains current and efficient.
ChatGPT with a Custom GPT:
**April 2017: System Enhancements and Administrative Focus**
This month involved significant focus on improving our Admin panel, particularly the statistics section, due to performance issues. I managed the transition from CRM and Intercom management to addressing these concerns, aiming to restore and optimize this vital tool for our team’s decision-making.
Following this, I tackled pending administrative tasks and began updating our system to Rails 5, balancing these priorities effectively. The update was crucial for keeping pace with new technology and was strategically planned to ensure a smooth transition to future versions.
I also initiated integration with Slack, enhancing our workflow efficiency, although this task is ongoing. Overall, the month was about enhancing system performance and efficiency while managing routine administrative duties.
OpenAI Playground (GPT-4-turbo-preview)
Default temperature 0.5 with gpt-4-turbo but max tokens increased to 1k
### Monthly Work Summary: April 2017
This month, I focused on various critical areas in our system administration. I began by addressing performance issues in the statistics section of our Admin panel, aiming to enhance its efficiency and restore its functionality.
Following that, I handled pending administrative tasks and initiated the upgrade of our system to Rails 5. This update was important to keep our system compatible with upcoming versions and improve overall performance.
Additionally, I planned to integrate Slack into our workflow to streamline communications. Each of these tasks was vital for maintaining and improving our operational capabilities.
I think my preference order here is:
1. Claude Opus
2. OpenAI Playground with GPT-4-turbo
3. ChatGPT with Custom GPT
What I actually did
Title: April 2017: Focusing on Admin Panel, Rails 5 Update, and Slack Integration
In April, I focused on improving our Admin panel, particularly the statistics section, which was turned off due to performance issues.
I also updated us to Rails 5 to keep facilitate a smoother transition to Rails 5.1 in the future. Additionally, I began the work on the Slack integration feature. Slack took priority over some of the extra Admin things I wanted to do like adding a Revenue and Engagement reports.
Some of these things got lost in the first pass of summarization that GPT-4 did on the Python script above.
Conclusion
After running through all my ~88 months at KYT/Canopy, I think this was a very helpful reflection exercise to see all the things I did. It helped me reflect on my mistakes and on things I did right.
Moving forward, I plan to keep a monthly journal like this and keep it up-to-date here on Substack under the Journal tag. I’ll share a post a day in retrospect, covering all these last years. Here’s the first one: