Skip to content
All stories

Somehow, I started keeping my to-do list in Cursor.

I started keeping my personal work list in todo.txt instead of Jira. Then I added nipple covers to the shopping list. At that point, I wanted this workflow on my phone too.

al***@gmail.com

This started when I was on a team building a stock-trading app. Think Robinhood. (I’ve moved on since.) One habit from that job stuck, though.

Keeping my to-dos next to my code.

Back then, I practically lived in Cursor. I’d fix a bug, get things ready for the next update, and leave myself notes next to the code.

At first, they were just quick notes. Then I started opening the text file instead of Jira whenever I wanted to check my own work. Here’s how that happened.

The first time I used Cursor

I’d been using VS Code and Atom. I switched to Cursor mostly to see if it could make coding easier.

Before that, getting stuck meant copying code into a separate AI chat. Read the answer, then bring the changes back into the editor.

In Cursor, I could attach the code I was looking at to the AI chat on the right. Ask a question, review the suggested edit, and apply it right there. The code, the conversation, and the changes were all in the same window.

“My first time using Cursor was kind of a shock, honestly.”

One time, a stock purchase went through, but the holdings screen didn’t change. A purchase of three shares had gone through. The app still showed zero.

I opened the relevant code, attached it in Cursor’s AI chat, and asked: “The purchase went through. Why does the screen still say zero? Let’s look at where we reload the share count.”

I read the code the AI pointed to, asked follow-ups in the same chat, and reviewed the proposed fix before applying it in the editor.

That was the part I loved. We were looking at the same thing, and I could make the change right there.

Might as well write my notes here

I made notes.txt in Cursor and wrote down things I noticed while investigating bugs. Plans and longer drafts went into plan.md. A .txt file is plain text; .md is Markdown, useful for headings and lists.

When the notes got long, I attached the file in Cursor’s AI chat and asked:

Pull out what we need to check before the next app update from notes.txt. Keep the ideas separate.

I read the result. Useful. So, in the same chat:

Group notes about the same issue. Don’t mix confirmed facts with my guesses. Show me the proposed changes first.

Image placeholder: show the original notes.txt open in Cursor on the left, with that file attached to the AI chat and the proposed edits on the right. Keep the filename, attachment indicator, and both panels visible so the setting is immediately clear. Replace the existing placeholder with an actual capture.
Image placeholder: show the original notes.txt open in Cursor on the left, with that file attached to the AI chat and the proposed edits on the right. Keep the filename, attachment indicator, and both panels visible so the setting is immediately clear. Replace the existing placeholder with an actual capture.

I applied the parts I liked. The notes didn’t have to be neat first. I could get them down and sort them out with AI afterward.

Blog drafts followed. So did loose thoughts. I was already in that window, and it worked.

My own to-dos moved from Jira to todo.txt

The team’s shared issues lived in Jira. But opening Jira for every small thing I wanted to check while coding felt like overkill. I made my own working list in Cursor.

The filename was todo.txt. These were the things to check before our next app update.

Stock-trading app — before the next update

[ ] Fix holdings not updating right after buying shares
[ ] Check the account balance displayed after selling shares
[ ] Check that tapping Buy repeatedly doesn’t buy twice
[ ] Check that reopening the app loads the latest stock prices
Image placeholder: show that exact checklist inside the actual todo.txt in Cursor. Keep the filename tab and enough editor framing to establish that it is a real file, with all four items readable. Here, the text file is the subject, not the chat. Replace the existing placeholder with an actual capture.
Image placeholder: show that exact checklist inside the actual todo.txt in Cursor. Keep the filename tab and enough editor framing to establish that it is a real file, with all four items readable. Here, the text file is the subject, not the chat. Replace the existing placeholder with an actual capture.

Whenever something came up, I added a line. When it got long, I attached todo.txt in the AI chat.

Group the buying and selling items together. Separate things that need a fix from things I just need to check.

I checked the proposed changes and applied the ones I wanted. If the grouping didn’t make sense, I asked it to try again. All of it happened in the file I already had open.

“Did I already do this?” became a useful question

After fixing the share count, I wasn’t sure about another item. I remembered changing some code, but had I actually checked the result?

I asked in Cursor’s AI chat:

The share-count fix is done, so check it off. Did I also verify the balance after selling? Look at recent commits in this project and test results in this conversation. Mark it done if there’s evidence I checked it. Otherwise, leave it open.

I looked at the reasoning before the checkmark. Changing code and verifying the behavior aren’t the same thing.

If the balance code had changed but there was no record of checking the screen after a sale, the item stayed open. I reviewed the commits and conversation evidence the AI found before deciding.

Image placeholder: show Cursor’s AI chat inspecting recent commits and test records from the current conversation, the evidence it cites, and the resulting todo.txt. The share-count fix should be checked while the unverified balance check remains open. Keep the evidence readable instead of shrinking a whole desktop. Replace with a verified actual capture.
Image placeholder: show Cursor’s AI chat inspecting recent commits and test records from the current conversation, the evidence it cites, and the resulting todo.txt. The share-count fix should be checked while the unverified balance check remains open. Keep the evidence readable instead of shrinking a whole desktop. Replace with a verified actual capture.

I wasn’t just dictating checkmarks. I could figure out where I’d left off by looking at the commits and test notes from our work together.

Keeping up with the list became surprisingly enjoyable. Instead of trying to remember my day, I could ask the AI I’d been looking at the code with.

Then I put nipple covers in Cursor

I was getting dressed one morning when I remembered I’d run out of nipple covers. Thin white T-shirt. Bad timing.

So I wrote it at the bottom of todo.txt. Laundry detergent was running low too.

Pick up after work
[ ] Nipple covers
[ ] Laundry detergent

Right below a bug about buying shares twice: nipple covers. (I was the only one reading this file.)

After shopping, I told Cursor’s AI chat:

Got the nipple covers. Check those off. Leave the detergent; I didn’t get it.

Same window where I built a stock-trading app. Funny. Also exactly as convenient as doing it with my work list.

Somewhere along the way, Cursor had become my to-do app.

I love it, but I don’t quite know how to explain the feeling. Somehow, I always end up talking about nipple covers.

Try it once, though, and you’ll get it.

Until I closed the MacBook

At work, Cursor was always open. Easy.

At the store, less so. What else did I need? The list was on my MacBook. Remember something on the way home? Better write it down later.

Opening a development project to check a shopping list was getting a little ridiculous.

The file was growing too. Checks for the next app update, things for next week, errands. I wanted today’s to-dos, but I kept scrolling through everything else to find them.

I didn’t want to give up the workflow. I liked it enough to want it away from my desk.

Same habit. A better place for it.

The layout of thrw’s web app felt familiar. Pick a list on the left, see the to-dos in the middle, talk in the AI chat alongside them.

In Cursor, I’d kept a file beside the AI conversation. Here, the to-dos were beside it. I could start inside thrw without connecting another tool first.

I made a list for the app update and asked in thrw’s AI chat:

Group the buying and selling items in this list. The holdings fix is done. The balance still needs checking.

It was the same workflow I liked in Cursor, with less hunting through a text file.

Asking the AI and reviewing changes felt familiar. But once I applied them, I could see the result at a glance in the to-do list beside the chat. No hunting for checkmarks in a long file. Oh. This was the view I’d been missing.

Image placeholder: show the actual thrw web app with list navigation, the to-do list, and AI chat side by side. The request above and its result must be visible together. Use framing similar to the earlier Cursor capture to show the same behavior continuing in a dedicated interface. Replace the existing placeholder with an actual capture.
Image placeholder: show the actual thrw web app with list navigation, the to-do list, and AI chat side by side. The request above and its result must be visible together. Use framing similar to the earlier Cursor capture to show the same behavior continuing in a dedicated interface. Replace the existing placeholder with an actual capture.

Now I could close the MacBook and still work on my to-dos with AI.

When I was out, I opened thrw on my phone. If the list needed sorting out, I asked the AI in the conversation tab, then returned to the list to check the result.

At the store, I pulled up the list and checked off the detergent after buying it. New things went straight into the app. I didn’t have to keep a development environment open to keep using the workflow I liked.

If someone asks what I like about thrw, I’ll probably start with this story.

I’ll tell them how nipple covers ended up in Cursor. How much I liked it. And how I finally got to close the MacBook.