Considering I grew up to become an engineer, it probably comes as no suprise that when I was younger the biggest highlight of every birthday was a new LEGO set. Each set gave me new pieces for my collection, and with every new piece came the possibility to build something entirely different. By the time I moved on to more durable construction methods, I knew how to work with gears, pulleys, belt drives, drive trains, and of course, spring-loaded exploding walls.
Like building with LEGOs, putting together a web application is a matter of combining the right pieces in the right configuration. Once you have established the overall purpose of your application, try to break it down into functional units. If you can find an API or library for each function, then all you have to do is figure out what you need to connect the pieces. This allows you, the developer, to focus solely on building something no one has built before.