Depending on what assurances and promises you've made to other people about the robustness of your current solution, I reckon there's a high likelyhood you haven't "screwed up" at all. You've investigated your problem space, found some workable solutions, and got some proof-of-concept code running.<p>Writing something in a language you know is always better than not writing anything in a "better" language that you don't know. For _you_, Javascript was the right language, at least for your initial explorations. You're now a long way ahead of where you started, with new-found knowledge about some of the edge case problems and implementation details that you never had when you started.<p>Javascript async is difficult (I'd hesitate to jump all the way to "retarded"), mostly because async itself is difficult (though, to be honest, a lot of people consider JS to have implemented it badly as well, but that's kind of secondary).<p>Having said that, there are going to be similar downsides to doing it in Python, Ruby, Haskel, Erlang, Go, Groovy, Befunge, Brainfuck, Assembler, Perl - that's why there isn't just one language, they all have different compromises, different learning curves, different support communities, different library availability and robustness, different expertise availability...<p>Try not to ask "how much have I screwed up?", but instead ask "what has this version taught me?", and "which of the decisions I made would I have made differently if I knew at the beginning what I knew now?"<p>Bottom line - your project _can_ be written in Javascrip. It's almost certainly significantly less complex than Gmail or Googlemaps. It just might take some very senior level Javascript developers to get there.<p>Don't think that jumping from college-project-level Javascript to I've-read-a-bit-about-it-level Ruby or Python is going to magically make the hard things easy though.