For me, web development can get very tedious near the end of a development phase, especially when it's your own software.
There might be 1 thing left on your Todo. Then it's 3, then it's 0, then it's 3 again.
Development always ends with getting those last few niggling things finished off, ensuring they work and testing them again and again.
Some people might call this the Vinegar Strokes of development. You're close to the end and you're excited to close your IDE anddddd, fuck, there's another issue to add to the TODO list.
Close to the end, but not over the line.
Basecamp visualises this fantastically with Hill Charts.
Scope meets discipline
I find, at this part of a project, it can be trickier to stay disciplined to your original vision. There is less friction in the way of cutting corners, you're almost finished. You can smell the end.
And sometimes, depending on the problem, this is exactly the right thing to do. I did this on SlickDuck and no customer will ever know.
We have a sidebar that becomes visible when you take some different actions in the web app. In our design, we had 3 possible ways that it could be triggered.
After implementing the primary mechanism and making it work to our requirements (which wasn't trivial, due to implementing HTMX and Alpine JS together), and ensuring the secondary mechanism also worked. I remembered about the other way. I little context menu we added to hide away secondary actions a user might want to take on a page.
Implementing these would have taken 2 - 3 days, of triage, development and testing. For what? Another way of doing the same thing?
It was surplus to requirements. Yes, it looked great on the design but after building the app and testing it, it didn't need to be there.
I think this is good project management / product management and the epitome of what agile should be.
It's better to get the product or feature out to your users sooner, than it is to triage pointless minutae.
All in all, our 'Vinegar Strokes' phase of SlickDuck took 6 weeks. SlickDuck is a pretty big app, but not huge, and in our 2 man development team, things were tight and easy to co-ordinate.
What's next
It true grug dev fashion, we did a little bit of minor tidying up and refactoring along the way, as well as minimal pre-optimisations in terms of performance. Our next phase will be focused on getting feedback from customers, making some minor UX improvements and tidying up and some refactoring the codebase now it has a little bit of shape.
It's not easy work getting to v1 of a bootstrapped project, but im happy with what we've created so far.