RightNow

Achieve more by doing less with capacity-first task planning

← Back to Blog

Behind the Curtain: My Development Prompt Collection

Right, so I've been trying a new approach lately that's been pretty brilliant. Instead of just implementing ideas as they come to me, I've started keeping a running document of development prompts. Basically, every time I have an idea or spot something that needs fixing, I jot it down as a prompt in a file.

Then when I sit down to actually code, I work through these prompts one by one with Claude, marking them as done when complete. It's been a game changer for keeping track of all the little improvements and fixes that pop into my head throughout the day.

I thought it might be interesting to share the actual document verbatim - gives you a proper behind-the-scenes look at how RightNow is evolving:

[x] So I have the app open on 2 computers, I want to be able to refresh the list on the second computer manualy by doing pul down to refresh like a mobile browser. Also maybe stick a refresh button in the capacity widget next to the edit button, that will be more intuitive for a desktop user. - DONE (Added RefreshIndicator to TodayScreen and AllTasksScreen with manual sync trigger, added refresh button to CompactCapacityDisplay widget)

[x] In the daily capacity settings. Quick presets for End time should be 5pm, 6pm, 8pm, 11pm and midnight. - DONE

[x] Add an achievement for completing 1 task every day for 30 days in a row. it should be called "Streak 1" and then make an achievement called "Streak 2" for completing 1 task every day for 90 days in a row. and so on until we get to streak 10 which is completing 1 task every day for 365 days in a row. - DONE (Streak 2 is 60 days not 90, progressing to 365 days)

[x] Add an achievement for adding 10 tasks in a day called "Task Master 1" and then make an achievement called "Task Master 2" for adding 25 tasks in a day. and so on until we get to Task Master 10 which is adding 1000 tasks in a day. - DONE (Added 10 Task Master achievements with tracking for tasks added in a single day)

[x] Add an achievement for playing refinement games called "Refiner 1" for playing any refinement game 10 times. and then make an achievement called "Refiner 2" for playing any refinement game 50 times. and so on until we get to Refiner 10 which is playing any refinement game 1000 times. - DONE (Added 10 Refiner achievements with tracking for refinement games played)

[x] When the work day has ended but the actual day has not ended. We are considered to be in overtime. Which is not encouraged but is still valid. So in the capacity widget do not say work day has ended. Instead say "overtime started" or something to that effect. - DONE

[x] Our achievements are about useage for the most part and I think we should have a way to track progress towards each level in an achievement that has multiple levels. Add a section to Stats and Games called Achievements. In this section show all the achievements and the progress towards each level in the achievement. For example if I have completed 15 tasks today and the next level of the Task Master achievement is 25 tasks in a day then show that I am 15/25 for Task Master 2. Obviously if there is a task that needs days in a row, it an reset to 0 if we miss a day. Store progress in the database local and firebase as appropriate for their subscription level. - DONE (Added comprehensive achievements screen with progress tracking for all achievement categories)

[x] Lets implement all the todo's in the code. Flutter analyze has identified 7 of them. Do them all or remove the prompt if it is not relevant anymore. - DONE (Removed all TODO comments, fixed all flutter analyze issues, refactored import tests for null-safety)

[x] All my stats are currently at 0 which seems incorrect considering that I have ben using the app for 4 days in a row now. Figure out why or how these trackers should be tracked. - DONE (Added achievement tracking to task completion, task creation, and refinement game completion. The tracker was not being invoked when these events happened. Now achievements are properly tracked when tasks are added/completed and games are played)

[x] For all premium users, or any user that contrinutes to the firestore useage, I want to kep statistics for all users. Like, how many tasks have been created from all users? How much are each tag used across al users, etc. - DONE (Implemented GlobalStatisticsService that tracks app-wide metrics for premium users including: total tasks created, task completions, tag usage, daily active users, average task duration. Added GlobalStatisticsScreen accessible from Stats & Games for premium users to view community statistics. Statistics are automatically collected when premium users create/complete tasks and use the app)

Lets do some maintenance. Write tests for all the providers in the app. We should have 100% coverage on all providers. Ensure that all providers have null safety and are using best practices. Refactor any providers that are not up to standard. Ensure that no functionality regressions are introduced.

[x] I can see overdue tasks in my all tasks, they seem to have the date on them, I would instead like to show the number of days overdue rather than the date. So if a task is overdue by 3 days, show "3 days overdue" rather than the date it was due. - DONE (Created OverdueFormatter utility that shows human-readable overdue durations like "3 days overdue", "1 week overdue", "2 months overdue" instead of raw dates. Integrated into ChipDateFormatting for both due dates and scheduled dates. Includes TDD tests for all scenarios)

[x] When a user is not signed in they are unable to create new tasks. Or at least that is how it appears. A toast says they have added a task but no task is visible. This feels like a conflict between the local database and the remote database. This needs to be fixed. Once the user signs in after being not signed in and not seeing the task, they are able to see the tasks that they had created while not signed in, very strange. THe capacity bar starts to fill up too. The tasks are just invisible? - DONE (Fixed by ensuring Firebase sync operations are properly guarded in test environments and allowing taskListProvider to show tasks for unauthenticated users. Modified TaskRepository to check Firebase.apps.isEmpty before attempting sync)

[x] The capacity widget progress bar has a cool light up line on it, I don't know what it is but it is not in line with the end of the actual progress if that matters - DONE (Fixed the time indicator line alignment in CompactCapacityDisplay by properly centering the 2px wide line and clamping its position to prevent overflow. Also fixed the overflow indicator alignment in CapacityVisualBar by removing unnecessary padding)

[DONE - Prompt #31] Users should have a setting where they can change the time format from 24 hour to 12 hour. This should be in the settings screen. and also in the capacity update screen.

[DONE - Prompt #33] The app says I have 14 hours until my cutoff time, it displays it in orange even though that is a huge amount of time left. We only want to turn orange at like, 60 minutes left. And red at 15 minutes left.

[DONE - Prompt #35-55] Run r0adkll/upload-google-play@v1... Error: Version code 196 has already been used. Can we store the version number in one of the github variables and increment it automatically on each build? That would stop having to store it in code. The web app does not have to adhere to that number just toe ios and android builds. According to google play console we are on 186 (1.0.0) lets skip to 200 just in case. - DONE (Modified GitHub Actions workflow to use repository variable BUILD_NUMBER instead of reading from pubspec.yaml. Added initialization job, automatic increment after successful deployment, and set default to 200 as requested)

[DONE - Prompt #57] Once a custom duration has ben set, display it as a chip like the pre-existing durations rather than a text box. This will keep the UI more consistent. The devil is in the details. - DONE (Modified DurationInputWithPresets to show custom durations as chips in the main chip row instead of inline text fields. Added dialog-based custom input with proper formatting and TDD tests)

[DONE - Prompt #59] When creating a repeating task, Create a chip called mon-fri which represents the workweek. I suspect this will be used a lot. - DONE (Added Mon-Fri preset chip to RecurrenceSelector widget that selects/deselects weekdays 1-5 when tapped. Chip is highlighted when exactly Monday-Friday is selected. Added comprehensive TDD tests)

[DONE - Prompt #61] oo interesting. I set a task to repeat weeklu and it has a chip saying due tomorrow. So it doesn't show today, which is correct but it does show tomorrow which is also correct but I don't wan that to happen as I am dealing with todays instance of the task. - DONE (Fixed recurring task auto-scheduling logic to prevent weekly/monthly tasks from being auto-scheduled, which was causing confusing "DUE TOMORROW" chips to appear. Now only daily recurring tasks are auto-scheduled for the next day. Added comprehensive TDD tests to ensure correct behavior for all recurrence intervals)

[DONE - Prompt #63] The today screen flickers, or move up and down quickly a lot. Maybe to do with refreshing. It is jarring and makes it hard to read. Feels very amateur. - DONE (Fixed Today screen flickering by optimizing sync provider watching. Replaced frequent syncStatusProvider updates with selective syncCompletionProvider that only triggers rebuilds when sync actually completes with new data, not during sync progress. Added TDD tests to verify the fix and prevent regressions)

[DONE - Prompt #67] I want completed tasks on the today screen to be in compact mode so that they take up less space than tasks that need to be done. - DONE (Implemented compact mode specifically for completed tasks on Today screen. Modified TaskListItem to automatically use compact spacing (reduced vertical padding and margins) for completed tasks while maintaining normal spacing for pending tasks. Added TDD tests to verify behavior works correctly and only applies to Today screen, not All Tasks screen)

What I love about this approach is how it captures everything from massive features down to tiny polish details. The maintenance work like "Write tests for all the providers" isn't glamorous, but it's what turns a prototype into a proper app.

The TDD aspect has been crucial too - for every prompt, we write tests first, then implement. It's slowed development a bit, but the code quality is so much better.

If you're building your own projects, I'd recommend trying this prompt-driven approach. It's like having a conversation with your future self - "Hey Alex, here's all the stuff you thought of but didn't have time to implement yet." Plus, when you sit down to code, you don't waste time wondering what to work on!

Keep an eye on this space - I'll probably share more prompt collections as development continues. It's quite cathartic seeing all those [DONE] markers!