Note: This entire blog post was produced by Cursor Journal
Dates: 2025-02-26 to 2025-03-03
Blog Post Generation & Data Handling Issues
My primary task for this period was implementing a feature to automatically generate succinct, informative blog posts summarizing AI interactions in Cursor during different work periods. Difficulties arose early regarding timestamps and retrieving chat and compositional data logs matching requested date ranges. I was frustrated—escalating my language substantially, calling AI solutions "nonsense" and explicitly expressing that the AI could not "make this work," at one point stating bluntly: "I quit." Despite multiple frustrated exchanges, incremental progress finally materialized by carefully defining data handling techniques and iterating on my date management logic repeatedly.
Issues persisted related to timestamps being mishandled, and frustration grew considerably as AI repeatedly made unrelated code adjustments. I reiterated clearly not to alter my date handling strategy in both backend (`@route.ts`) and frontend (`@page.tsx`) components.
At one point, due to excessively large query payloads, I transitioned specific API calls from GET to POST, restructuring the payload accordingly. Another major struggle revolved around correctly externalizing TypeScript definitions and ensuring proper reusability while managing relatively complex nested JSON structures for workspace data and chat/composer logs.
I also asked AI to implement green dots in the calendar UI indicating days with recorded activity. The AI's initial attempts resulted in significant UI issues, prompting critical feedback ("terrible," "blech!"). Ultimately, my suggestion to use a different date picker and revising the approach helped realize this feature successfully, though not without significant back-and-forth exchanges and explicit frustration: "wtf are you talking about?" and "do the work!"
Clarifications Around React and JavaScript
Throughout these dates, I intermittently asked basic questions about React hooks (`useEffect` execution and order), JavaScript nuances (timestamps, UTC/local timezone handling, async fetching patterns), and occasionally expressed strong dissatisfaction ("javascript is stupid," "simplify the whole damn thing").
Modifying Data Structures and JSON Extraction
Modifications related to extracting composers and chat log content from nested JSON structures constituted a significant aspect of this phase. Significant confusion and explicit frustration occurred due to repeated AI deviation from specified tasks. My directives were continually specific—adjusting JSON extraction methods for fields like `.text`, `.summary`, and `.name`, and handling timestamps reliably.
Date: 2025-03-03
Implementing Sidebar Layout
Initially, I asked the AI to move my form into a Shadcn sidebar on the left side of my page. I ran into trouble with the sidebar width and asked for clarification around modifying my existing layout to make the sidebar wider. The AI clarified that the root layout component was the cause of layout issues because I had defined the sidebar incorrectly, causing UI overlap. I expressed significant frustration throughout this task due to repeated unsuccessful attempts, prompting several terse exchanges like "wtf did you just do?" and "getting worse by the second."
After various struggles, I asked the AI explicitly to move the sidebar layout from the `@page.tsx` file into a new `@layout.tsx` at the blog level to separate the concerns and fix the overlap issue properly. I experimented with moving elements from my Navbar to the Sidebar and explicitly directed the AI to include the config component in the Sidebar menu without changing anything unrelated.
Navbar Visibility Troubleshooting
I faced an issue where the Navbar wasn't visible and asked the AI directly, "why don't I see the Navbar?" We quickly resolved this after discovering a configuration issue regarding the layout and CSS implementation.
Adding Twitter (X) Icon for Tweeting & Copy Functionality
I asked the AI to implement tweet functionality, specifically adding an "X" logo on each tweet generated by my app, with a link allowing tweets to post directly to my account. Initially, the AI provided the old Twitter icon, but at my request, it was quickly updated to the new X logo (@x-logo-white.png). I also implemented radio buttons switchable between "Blog" and "Tweet", instructing the AI clearly to clear the editor and preview cards whenever switching types.
Later the day, I asked for an additional feature, adding copy functionality to tweets and blog outputs. I became frustrated when the AI diverged from this specific request and began addressing unrelated linter warnings, prompting me to sharply instruct the AI to "stop going off script."
Code Review and Feedback
Near day's end, I requested the AI review my code quality, directly asking, "do you like this code?" and "how can I make it better?" The AI provided constructive feedback without suggesting drastic changes.
Understanding CSS & Tailwind Classes
Through my troubleshooting of the sidebar layout misalignment, I asked multiple times about Tailwind CSS utilities evidencing confusion and frustration with layout behaviors, specifically calling out my dissatisfaction clearly: "so why are the Card components squished? They should take up equal amounts of available space." AI explanations helped clarify CSS properties but failed to fully resolve the immediate layout problems initially, prompting me to perform a significant sidebar refactor.
Config Page Error & API Key Issue Resolution
I encountered trouble with my configuration page where entering valid data incorrectly resulted in errors and didn’t redirect to the homepage as intended. I discovered that `openaiApiKey` wasn't being correctly saved in cookies or localStorage. After some debugging and confusion regarding password fields and path alterations made unexpectedly by AI ("why did you fuck with my workspace path?"), the issue was resolved. Confirming success, I told the AI to discard a temporary test key.
Change Input to Textarea
The AI supported a request to transition input fields to text areas in my form, promptly implementing this simple adjustment without issue.
---
Overall, these coding sessions exhibited pronounced stress points around dates handling, API integrations, CSS/Tailwind confusion, and JSON data manipulation intricacies. Explicit frustration with the AI was repeatedly expressed regarding AI deviating from narrowly defined tasks or mismanaging date logic. Nevertheless, concrete outcomes emerged over time, particularly after breaking down each task into small, isolated requests with clear, direct guidance.