Ask HN: How do you start development of your latest great idea?
I'm interested in hearing about how you aproach the initial development efforts.
Choosing technology. Do you go with what you know, or sometimes see it as an opportunity to try something new?
Getting started on a prototype. Do you start on paper, i.e. some sort of design, or do you jump heads first into coding?
If it's a something with a front end, do you start with that, or do you prefer to start with the back end?
Any other insights, on how you attack your new ideas, are greatly appreciated.
5 comments
[ 3.2 ms ] story [ 25.1 ms ] threadFinally I start building code out, starting with a very basic theme for the front end and concentrating on any security that needs to be in place.
Yes, I generally start from a blank slate each time, just using pieces of code I already have. I don't use frameworks or CSS grids.
That being said, I usually start building out the front-end first. Understanding actual user interaction and use cases is pre-requisite for designing appropriate data models and storage solutions. I basically try to get something up and running as fast as possible, while minimizing the cost to change directions.
But at the beginning everything starts out with just one or two files. Figure out what you want to get done and just do it. Don't worry about if it is ugly or not. You are just proving an idea.
If you are attacking a much larger concept you still want to start small. If it is a web application make sure you use a framework.
Once you know you can do it then you start architecting. Make a list of tech choices you know or want to learn and might be a good fit.
Then pair down the ideas/use cases/requirments to what you need for an MVP.
Then I like to work on the data models and back end. But that is where my strengths are. If it is a complex problem, I like doing some design work to make sure a) its doable b) that I don't code myself into a corner.
That said, I'd like to all the above very quickly and get to the coding. I have found at times that I get stuck spinning my wheels. It helps to get input on any of the above from another person.
Then I just go and code the core of it ugly and fast into simple tests to make sure it'll fly.
Then I go out and start building a first release with minimum functionality, release it to a closed alpha test group, iterate, iterate, iterate, go beta and cross my fingers.