Hacker News new | ask | show | jobs
by eternityforest 860 days ago
My (possibly unpopular opinion) process is something like:

1. Look for other stuff that already does what I want, or could be extended to do so. I'd rather make a PR for your project than start a new one.

2. Look for tech building blocks to do the thing. I do this before thinking about architecture, I want my design to fit popular tools, not obscure tools that fit my design. Test them out if I haven't used them before, ensure they actually work.

3. Look at protocols and data formats used in similar things. I probably want to stay compatible and keep a similar UI.

4. Sketch what the UI and workflow should be. I don't want to design something that is a poor match for the UI I have in mind and requires ugly glue code.

5. List any nice to have stuff I want to be sure I can do later

6. Write the backend functionality and whatever test code I need for it. A git repo should be there from the start.

7. Do the frontend