<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://blog.rtnw.app/rss.xml" rel="self" type="application/atom+xml" /><link href="https://blog.rtnw.app/" rel="alternate" type="text/html" /><updated>2026-06-29T11:40:45+00:00</updated><id>https://blog.rtnw.app/rss.xml</id><title type="html">RightNow Blog</title><subtitle>Capacity-first task planning — updates and notes from development.</subtitle><author><name>Alex</name></author><entry><title type="html">Behind the Curtain: My Development Prompt Collection</title><link href="https://blog.rtnw.app/blog/development-prompt-collection/" rel="alternate" type="text/html" title="Behind the Curtain: My Development Prompt Collection" /><published>2025-09-16T16:30:00+00:00</published><updated>2025-09-16T16:30:00+00:00</updated><id>https://blog.rtnw.app/blog/development-prompt-collection</id><content type="html" xml:base="https://blog.rtnw.app/blog/development-prompt-collection/"><![CDATA[<p>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.</p>
<p>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.</p>
<p>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:</p>
<blockquote><p>[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)</p><p>[x] In the daily capacity settings. Quick presets for End time should be 5pm, 6pm, 8pm, 11pm and midnight. - DONE</p><p>[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)</p><p>[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)</p><p>[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)</p><p>[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</p><p>[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)</p><p>[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)</p><p>[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)</p><p>[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 &amp; Games for premium users to view community statistics. Statistics are automatically collected when premium users create/complete tasks and use the app)</p><p>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.</p><p>[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)</p><p>[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)</p><p>[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)</p><p>[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.</p><p>[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.</p><p>[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)</p><p>[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)</p><p>[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)</p><p>[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)</p><p>[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)</p><p>[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)</p></blockquote>
<p>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.</p>
<p>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.</p>
<p>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!</p>
<p>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!</p>]]></content><author><name>Alex</name></author><summary type="html"><![CDATA[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 &amp; 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!]]></summary></entry><entry><title type="html">Back to MVP - Wahoo!</title><link href="https://blog.rtnw.app/blog/back-to-mvp/" rel="alternate" type="text/html" title="Back to MVP - Wahoo!" /><published>2025-09-16T14:00:00+00:00</published><updated>2025-09-16T14:00:00+00:00</updated><id>https://blog.rtnw.app/blog/back-to-mvp</id><content type="html" xml:base="https://blog.rtnw.app/blog/back-to-mvp/"><![CDATA[<p>Right, brilliant news! We're back to MVP status! After all that refactoring and regression fixing, I can finally dogfood the app again. Wahoo!</p>
<p>I'm getting a fresh Android build out today. There are still a couple of bugs hanging around - specifically some quirks with users being logged in or not logged in. Everything works perfectly if you're logged in, but if you're not... well, let's just say the experience isn't quite as smooth yet.</p>
<p>But here's the thing - I can actually use RightNow myself again! Do you know how frustrating it's been building a productivity app I couldn't even use for my own productivity? It's like being a chef who can't taste their own food. Now I'm back to eating my own cooking, as it were.</p>
<p>The refactoring work wasn't for nothing either. The codebase is so much cleaner now. Adding new features should be easier, fixing bugs should be quicker, and hopefully we won't see as many regressions going forward. Famous last words, I know!</p>
<p>So if you're on Android and fancy giving it a go, keep an eye out for the fresh build dropping today. Just... maybe make sure you're logged in for the best experience. I'll sort out those logged-out bugs soon, promise!</p>
<p>It feels proper good to be making forward progress again instead of just fixing things I broke. Onwards and upwards!</p>]]></content><author><name>Alex</name></author><summary type="html"><![CDATA[Right, brilliant news! We're back to MVP status! After all that refactoring and regression fixing, I can finally dogfood the app again. Wahoo! I'm getting a fresh Android build out today. There are still a couple of bugs hanging around - specifically some quirks with users being logged in or not logged in. Everything works perfectly if you're logged in, but if you're not... well, let's just say the experience isn't quite as smooth yet. But here's the thing - I can actually use RightNow myself again! Do you know how frustrating it's been building a productivity app I couldn't even use for my own productivity? It's like being a chef who can't taste their own food. Now I'm back to eating my own cooking, as it were. The refactoring work wasn't for nothing either. The codebase is so much cleaner now. Adding new features should be easier, fixing bugs should be quicker, and hopefully we won't see as many regressions going forward. Famous last words, I know! So if you're on Android and fancy giving it a go, keep an eye out for the fresh build dropping today. Just... maybe make sure you're logged in for the best experience. I'll sort out those logged-out bugs soon, promise! It feels proper good to be making forward progress again instead of just fixing things I broke. Onwards and upwards!]]></summary></entry><entry><title type="html">Progress and Regressions</title><link href="https://blog.rtnw.app/blog/progress-and-regressions/" rel="alternate" type="text/html" title="Progress and Regressions" /><published>2025-09-15T09:00:00+00:00</published><updated>2025-09-15T09:00:00+00:00</updated><id>https://blog.rtnw.app/blog/progress-and-regressions</id><content type="html" xml:base="https://blog.rtnw.app/blog/progress-and-regressions/"><![CDATA[<p>Major changes to the codebase have been happening. Lots of refactoring, writing tests, and the backend has made massive progress. The code is much cleaner and more maintainable now.</p>
<p>But it's come at the cost of many, many regressions.</p>
<p>The Android build is constantly failing - I fix one thing and something else breaks. The web app is always up to date though, which is something. Checkboxes have gone missing entirely. The capacity widget looks totally different.</p>
<p>Some of these changes have helped me focus up and others are just challenging to get back to a working state. It's a bit frustrating but I know it's worth it in the long run.</p>
<p>I'm aiming to be back to a well working state by the end of this month. That's the goal - get through this mess and come out with something that actually works properly.</p>
<p>So if you're testing and things keep breaking... this is why. Bear with me!</p>]]></content><author><name>Alex</name></author><summary type="html"><![CDATA[Major changes to the codebase have been happening. Lots of refactoring, writing tests, and the backend has made massive progress. The code is much cleaner and more maintainable now. But it's come at the cost of many, many regressions. The Android build is constantly failing - I fix one thing and something else breaks. The web app is always up to date though, which is something. Checkboxes have gone missing entirely. The capacity widget looks totally different. Some of these changes have helped me focus up and others are just challenging to get back to a working state. It's a bit frustrating but I know it's worth it in the long run. I'm aiming to be back to a well working state by the end of this month. That's the goal - get through this mess and come out with something that actually works properly. So if you're testing and things keep breaking... this is why. Bear with me!]]></summary></entry><entry><title type="html">Holiday Refresh and a Brutal Reality Check</title><link href="https://blog.rtnw.app/blog/holiday-refresh/" rel="alternate" type="text/html" title="Holiday Refresh and a Brutal Reality Check" /><published>2025-09-02T10:00:00+00:00</published><updated>2025-09-02T10:00:00+00:00</updated><id>https://blog.rtnw.app/blog/holiday-refresh</id><content type="html" xml:base="https://blog.rtnw.app/blog/holiday-refresh/"><![CDATA[<p>Hi all! I've been on holiday for a week and app development took a big back seat while I was away. Now I'm back and feeling refreshed, and the development journey begins fresh.</p>
<p>So the first thing I did was ask Claude to assess my codebase and be brutally honest about the quality and how close I am to production. And let me tell you... it was indeed brutally honest.</p>
<p>It gave me a score of 3/10.</p>
<p>It called the app "a prototype that grew too fast."</p>
<p>And that's true! I've been so focused on adding features and getting something working that I've let the code quality slip. Technical debt has been piling up, and it's time to face it head-on.</p>
<p>So we're doing some major refactoring right now. I can already see it's caused a number of regressions - things that were working are now broken again. But that's the nature of refactoring, isn't it? Sometimes you have to break things to make them better.</p>
<p>Out the other side, we'll have a more elegant and robust app. One that's actually maintainable and scalable. One that won't make me wince every time I open certain files.</p>
<p>It's humbling, really. But I'd rather know the truth now and fix it than launch something held together with duct tape and prayers.</p>
<p>Wish me luck! This might take a while, but it'll be worth it. And hey, at least I'm learning a ton about what not to do next time...</p>]]></content><author><name>Alex</name></author><summary type="html"><![CDATA[Hi all! I've been on holiday for a week and app development took a big back seat while I was away. Now I'm back and feeling refreshed, and the development journey begins fresh. So the first thing I did was ask Claude to assess my codebase and be brutally honest about the quality and how close I am to production. And let me tell you... it was indeed brutally honest. It gave me a score of 3/10. It called the app "a prototype that grew too fast." And that's true! I've been so focused on adding features and getting something working that I've let the code quality slip. Technical debt has been piling up, and it's time to face it head-on. So we're doing some major refactoring right now. I can already see it's caused a number of regressions - things that were working are now broken again. But that's the nature of refactoring, isn't it? Sometimes you have to break things to make them better. Out the other side, we'll have a more elegant and robust app. One that's actually maintainable and scalable. One that won't make me wince every time I open certain files. It's humbling, really. But I'd rather know the truth now and fix it than launch something held together with duct tape and prayers. Wish me luck! This might take a while, but it'll be worth it. And hey, at least I'm learning a ton about what not to do next time...]]></summary></entry><entry><title type="html">Back to the Grindstone</title><link href="https://blog.rtnw.app/blog/back-to-the-grindstone/" rel="alternate" type="text/html" title="Back to the Grindstone" /><published>2025-08-15T18:00:00+00:00</published><updated>2025-08-15T18:00:00+00:00</updated><id>https://blog.rtnw.app/blog/back-to-the-grindstone</id><content type="html" xml:base="https://blog.rtnw.app/blog/back-to-the-grindstone/"><![CDATA[<p>The last two weeks have been really tough at my full-time job. I haven't had the time or energy to make any progress on RightNow, which has been frustrating.</p>
<p>But I'm starting to feel better and work begins again!</p>
<p>What I'm struggling with right now is setting up a way to identify premium versus free accounts and implementing discount codes. It sounds simple but getting it right is proving trickier than expected.</p>
<p>I've also noticed a few bugs. The weird one? If you don't complete a task on a given day, the next day it doesn't have the option to add it to today again. That's definitely not right - you should be able to reschedule incomplete tasks.</p>
<p>So that's where I'm at. First priority is fixing that task rescheduling bug, then I'll tackle the account management stuff.</p>
<p>Thanks for your patience while I juggle all this. Progress is sometimes a bit sporadic!</p>]]></content><author><name>Alex</name></author><summary type="html"><![CDATA[The last two weeks have been really tough at my full-time job. I haven't had the time or energy to make any progress on RightNow, which has been frustrating. But I'm starting to feel better and work begins again! What I'm struggling with right now is setting up a way to identify premium versus free accounts and implementing discount codes. It sounds simple but getting it right is proving trickier than expected. I've also noticed a few bugs. The weird one? If you don't complete a task on a given day, the next day it doesn't have the option to add it to today again. That's definitely not right - you should be able to reschedule incomplete tasks. So that's where I'm at. First priority is fixing that task rescheduling bug, then I'll tackle the account management stuff. Thanks for your patience while I juggle all this. Progress is sometimes a bit sporadic!]]></summary></entry><entry><title type="html">Instagram Soft Launch</title><link href="https://blog.rtnw.app/blog/instagram-soft-launch/" rel="alternate" type="text/html" title="Instagram Soft Launch" /><published>2025-08-04T12:00:00+00:00</published><updated>2025-08-04T12:00:00+00:00</updated><id>https://blog.rtnw.app/blog/instagram-soft-launch</id><content type="html" xml:base="https://blog.rtnw.app/blog/instagram-soft-launch/"><![CDATA[<p>Today I posted on my personal and public Instagram pages that I've been working on RightNow. I included a picture of the logo. It was quite a nerve racking thing actually. My public handle is @AeropherXD if you want to have a look.</p>
<p>The app is still very much in alpha. There's a lot I want to improve and polish before I'd consider it properly ready. But sometimes you've got to put yourself out there.</p>
<p>I didn't mention in the post that there's a link in my bio lol. So I don't think anyone's actually gone looking for it. Which is probably for the best at this stage. Let's call it a soft launch to less than 100 people who probably scrolled past without much thought.</p>
<p>I think I'll start promoting it more properly in the coming month. Once I've ironed out a few more bugs and got the Android version fully public.</p>
<p>I'd also love to do a little YouTube video about how I use the app myself and how I envision others using it. There's something about seeing an app in action that screenshots can't quite capture.</p>
<p>It's interesting how something as simple as an Instagram post can feel like quite a big step. But it's out there now. The logo is in the wild. People know I'm working on something.</p>
<p>If you happened to see the post and made it here... welcome. And thanks for being one of the very first to check out what I'm building.</p>]]></content><author><name>Alex</name></author><summary type="html"><![CDATA[Today I posted on my personal and public Instagram pages that I've been working on RightNow. I included a picture of the logo. It was quite a nerve racking thing actually. My public handle is @AeropherXD if you want to have a look. The app is still very much in alpha. There's a lot I want to improve and polish before I'd consider it properly ready. But sometimes you've got to put yourself out there. I didn't mention in the post that there's a link in my bio lol. So I don't think anyone's actually gone looking for it. Which is probably for the best at this stage. Let's call it a soft launch to less than 100 people who probably scrolled past without much thought. I think I'll start promoting it more properly in the coming month. Once I've ironed out a few more bugs and got the Android version fully public. I'd also love to do a little YouTube video about how I use the app myself and how I envision others using it. There's something about seeing an app in action that screenshots can't quite capture. It's interesting how something as simple as an Instagram post can feel like quite a big step. But it's out there now. The logo is in the wild. People know I'm working on something. If you happened to see the post and made it here... welcome. And thanks for being one of the very first to check out what I'm building.]]></summary></entry><entry><title type="html">Discord is Live!</title><link href="https://blog.rtnw.app/blog/discord-is-live/" rel="alternate" type="text/html" title="Discord is Live!" /><published>2025-07-31T16:00:00+00:00</published><updated>2025-07-31T16:00:00+00:00</updated><id>https://blog.rtnw.app/blog/discord-is-live</id><content type="html" xml:base="https://blog.rtnw.app/blog/discord-is-live/"><![CDATA[<p>Right, so I've been asking people to get in touch with feedback and ideas, but I haven't actually given you a proper way to do that. Bit silly of me! So I've just set up a Discord server for RightNow.</p>
<p>You can join here: <a href="https://discord.gg/YzYagEZcnt" target="_blank">discord.gg/YzYagEZcnt</a></p>
<p>This is where you can:</p>
<ul><li>Chat about productivity and task management</li><li>Share feedback on RightNow</li><li>Suggest features</li><li>Report bugs in a more casual way than GitHub issues</li><li>Connect with other RightNow users</li></ul>
<p>Now, I need to be completely honest - I have a full-time job, so I won't be online 24/7. I'll check in when I can, usually evenings and weekends UK time. But the beauty of Discord is that the community can help each other too!</p>
<p>I'm hoping this becomes a nice little community of people interested in productivity without the overwhelm. Come say hi if you fancy it. Or don't - no pressure!</p>
<p>Quick note though - if you have a bug report or feature request that you really want me to see and action, GitHub issues are still your best bet. Discord messages can easily get lost in the flow of conversation, but GitHub issues stay there until I deal with them. So Discord for chatting, GitHub for things you actually want done!</p>
<p>See you there (maybe)!</p>]]></content><author><name>Alex</name></author><summary type="html"><![CDATA[Right, so I've been asking people to get in touch with feedback and ideas, but I haven't actually given you a proper way to do that. Bit silly of me! So I've just set up a Discord server for RightNow. You can join here: discord.gg/YzYagEZcnt This is where you can: Chat about productivity and task managementShare feedback on RightNowSuggest featuresReport bugs in a more casual way than GitHub issuesConnect with other RightNow users Now, I need to be completely honest - I have a full-time job, so I won't be online 24/7. I'll check in when I can, usually evenings and weekends UK time. But the beauty of Discord is that the community can help each other too! I'm hoping this becomes a nice little community of people interested in productivity without the overwhelm. Come say hi if you fancy it. Or don't - no pressure! Quick note though - if you have a bug report or feature request that you really want me to see and action, GitHub issues are still your best bet. Discord messages can easily get lost in the flow of conversation, but GitHub issues stay there until I deal with them. So Discord for chatting, GitHub for things you actually want done! See you there (maybe)!]]></summary></entry><entry><title type="html">Money Things</title><link href="https://blog.rtnw.app/blog/money-things/" rel="alternate" type="text/html" title="Money Things" /><published>2025-07-31T14:00:00+00:00</published><updated>2025-07-31T14:00:00+00:00</updated><id>https://blog.rtnw.app/blog/money-things</id><content type="html" xml:base="https://blog.rtnw.app/blog/money-things/"><![CDATA[<p>Let's talk about how I'm planning to monetise RightNow. This is something I've been thinking about a lot, and I want to be completely transparent about it.</p>
<p>Firstly, I absolutely hate arbitrary paywalls in apps. "You've created 5 tasks this month! Upgrade to Pro for unlimited tasks!" That's not what I want RightNow to be. My goal is to create an app that's so genuinely useful that you actually want to support it, not one that holds basic functionality hostage.</p>
<p>Here's my thinking: there are two types of costs in this project. First, there are development costs - Android developer license, iOS developer license, AI subscriptions for development, GitHub payments for automatic builds. These would be nice to cover with subscriptions and will influence pricing. But more importantly, there are operational costs - specifically hosting. That's the key bit. The free tier will do everything locally on your device. Full functionality, no limits, no annoying popups telling you to upgrade. The paid feature will be cloud sync - if you want to sync your todo lists across devices, that's when you'll need to pay, because that's when I'm actually incurring operational costs with Firebase hosting.</p>
<p>I think this is fair. If you're happy using RightNow on just one device, you get the full experience for free. If you want the convenience of having your tasks everywhere, then you're using the infrastructure I'm paying for, so it makes sense to contribute.</p>
<p>I've also set up a Ko-fi page at <a href="https://ko-fi.com/aeropher" target="_blank">ko-fi.com/aeropher</a> for one-off payments. I've given people money this way when I've found their work helpful, so I figured... why not do the same for me? If RightNow helps you and you want to buy me a coffee (or three), that'd be brilliant. No pressure though!</p>
<p>This is all still evolving. As the app grows and I learn more about what features people actually want, I might adjust things. But the core principle will stay the same: the free version should be genuinely useful, not a limited demo designed to frustrate you into paying.</p>
<p>What do you think about this approach? Does it seem fair? I'd love to hear your thoughts on app monetisation - what works for you, what doesn't, and what makes you actually want to support an app financially.</p>
<p>At the end of the day, I'm building RightNow because I want it to exist and I want to use it myself. If I can make it sustainable along the way, that's a bonus that lets me keep improving it for everyone.</p>]]></content><author><name>Alex</name></author><summary type="html"><![CDATA[Let's talk about how I'm planning to monetise RightNow. This is something I've been thinking about a lot, and I want to be completely transparent about it. Firstly, I absolutely hate arbitrary paywalls in apps. "You've created 5 tasks this month! Upgrade to Pro for unlimited tasks!" That's not what I want RightNow to be. My goal is to create an app that's so genuinely useful that you actually want to support it, not one that holds basic functionality hostage. Here's my thinking: there are two types of costs in this project. First, there are development costs - Android developer license, iOS developer license, AI subscriptions for development, GitHub payments for automatic builds. These would be nice to cover with subscriptions and will influence pricing. But more importantly, there are operational costs - specifically hosting. That's the key bit. The free tier will do everything locally on your device. Full functionality, no limits, no annoying popups telling you to upgrade. The paid feature will be cloud sync - if you want to sync your todo lists across devices, that's when you'll need to pay, because that's when I'm actually incurring operational costs with Firebase hosting. I think this is fair. If you're happy using RightNow on just one device, you get the full experience for free. If you want the convenience of having your tasks everywhere, then you're using the infrastructure I'm paying for, so it makes sense to contribute. I've also set up a Ko-fi page at ko-fi.com/aeropher for one-off payments. I've given people money this way when I've found their work helpful, so I figured... why not do the same for me? If RightNow helps you and you want to buy me a coffee (or three), that'd be brilliant. No pressure though! This is all still evolving. As the app grows and I learn more about what features people actually want, I might adjust things. But the core principle will stay the same: the free version should be genuinely useful, not a limited demo designed to frustrate you into paying. What do you think about this approach? Does it seem fair? I'd love to hear your thoughts on app monetisation - what works for you, what doesn't, and what makes you actually want to support an app financially. At the end of the day, I'm building RightNow because I want it to exist and I want to use it myself. If I can make it sustainable along the way, that's a bonus that lets me keep improving it for everyone.]]></summary></entry><entry><title type="html">Could RightNow Help with ADHD?</title><link href="https://blog.rtnw.app/blog/rightnow-and-adhd/" rel="alternate" type="text/html" title="Could RightNow Help with ADHD?" /><published>2025-07-29T10:00:00+00:00</published><updated>2025-07-29T10:00:00+00:00</updated><id>https://blog.rtnw.app/blog/rightnow-and-adhd</id><content type="html" xml:base="https://blog.rtnw.app/blog/rightnow-and-adhd/"><![CDATA[<p>So I was having a chat with Claude, the AI, asking about how people get enough testers to get apps into the Play Store, and it mentioned subreddits I can post in. One of the subreddits it suggested was for ADHD, and that RightNow might be a good tool for helping those with ADHD to focus.</p>
<p>That's got me thinking... I've not designed the app specifically with ADHD in mind, but maybe some of the features already align with what could help? The whole capacity-based planning, breaking things down into manageable chunks, and not overwhelming yourself with too many tasks - these might actually be really helpful for people with ADHD.</p>
<p>But I don't want to make assumptions. If you have ADHD and think this app could help (or if you can see ways it could be better), I'd love to hear from you! What features would make a productivity app more ADHD-friendly? What are the pain points with existing todo apps that don't work for you?</p>
<p>I'm genuinely curious about this now. Maybe there's an opportunity to make RightNow more accessible and helpful for a wider range of people. Let me know if this sounds right, and I can look into more ADHD-friendly features!</p>]]></content><author><name>Alex</name></author><summary type="html"><![CDATA[So I was having a chat with Claude, the AI, asking about how people get enough testers to get apps into the Play Store, and it mentioned subreddits I can post in. One of the subreddits it suggested was for ADHD, and that RightNow might be a good tool for helping those with ADHD to focus. That's got me thinking... I've not designed the app specifically with ADHD in mind, but maybe some of the features already align with what could help? The whole capacity-based planning, breaking things down into manageable chunks, and not overwhelming yourself with too many tasks - these might actually be really helpful for people with ADHD. But I don't want to make assumptions. If you have ADHD and think this app could help (or if you can see ways it could be better), I'd love to hear from you! What features would make a productivity app more ADHD-friendly? What are the pain points with existing todo apps that don't work for you? I'm genuinely curious about this now. Maybe there's an opportunity to make RightNow more accessible and helpful for a wider range of people. Let me know if this sounds right, and I can look into more ADHD-friendly features!]]></summary></entry><entry><title type="html">Approaching an Android Release</title><link href="https://blog.rtnw.app/blog/approaching-android-release/" rel="alternate" type="text/html" title="Approaching an Android Release" /><published>2025-07-28T20:00:00+00:00</published><updated>2025-07-28T20:00:00+00:00</updated><id>https://blog.rtnw.app/blog/approaching-android-release</id><content type="html" xml:base="https://blog.rtnw.app/blog/approaching-android-release/"><![CDATA[<p>Getting pretty close to an Android release now!</p>
<p>I've got some family and friends who have it installed and I'm getting some great feedback already. And honestly, no feedback is bad feedback at this stage - every comment, every confused look, every "what does this mean?" is incredibly valuable.</p>
<p>One thing that's become really clear is that I need to ditch some of the software industry jargon. I've changed the language around backlogs and backlog grooming to something that's not a technical term. I'm sure that nerds like me who've tried many todo apps already will pick things up quickly, but the friends I've asked to test are not techy people and their feedback has been some of the most valuable so far.</p>
<p>It's funny how when you're deep in the software world, you forget that terms like "backlog" and "grooming" sound completely alien to normal people. Still a bit of work to do before the public release, but we're getting there. Can't wait to get this into more hands and see what other assumptions I've made that need fixing!</p>
<p>If you're interested in trying out the Android version when it's ready, keep an eye on this space. I'll announce it here first. :-)</p>]]></content><author><name>Alex</name></author><summary type="html"><![CDATA[Getting pretty close to an Android release now! I've got some family and friends who have it installed and I'm getting some great feedback already. And honestly, no feedback is bad feedback at this stage - every comment, every confused look, every "what does this mean?" is incredibly valuable. One thing that's become really clear is that I need to ditch some of the software industry jargon. I've changed the language around backlogs and backlog grooming to something that's not a technical term. I'm sure that nerds like me who've tried many todo apps already will pick things up quickly, but the friends I've asked to test are not techy people and their feedback has been some of the most valuable so far. It's funny how when you're deep in the software world, you forget that terms like "backlog" and "grooming" sound completely alien to normal people. Still a bit of work to do before the public release, but we're getting there. Can't wait to get this into more hands and see what other assumptions I've made that need fixing! If you're interested in trying out the Android version when it's ready, keep an eye on this space. I'll announce it here first. :-)]]></summary></entry></feed>