Probably the same as me you have been reading all over the Internet about all those bleeding edge technologies and was dreaming to be able put your fingers on them. They’re so awesome, with one line you can write alot, functional language will speed up your application, NoSQL will solve all the problems of relational databases – you will be a hero – your users will love you till the end 😉

The truth is, recently I’ve been working on a project which uses all those hyper-technologies like Scala language, Scalatra – a MVC framework and MongoDB as a storage engine. We used AngularJS for frontend to be even more than awesome 😉 We used sbt instead Maven to have even more fun 😉 You can find the project on the GitHub, we decided to open source it under Apache 2.0 license, so you are free to grab the code and do what ever you want with it , enjoy 🙂

You probably think that I have a great job – and you are right, I love to work with teammates from SoftwareMill. The company is great, people are brilliant 🙂 You can check my business card and you will see my job title – Creative Software Engineer – we were allowed to choose whatever title we want, but it just a title and not you 😉

Anyway, I was working for few weeks on the project and on the beginning it was so exciting, everything was new, each step was a new challenge. During the few first days I thought that my head will explode – some many informations, lots of knowledge – I felt like getting high 😀

That was the beginning, but after some time I started to be tired. It was very hard to find any reliable info over the Internet, example projects want work, quite often even could not compile :\ You can find tons of projects on the GitHub but just few of them are useful and even less will compile 😛 And was worse, Scala is still evolving, what was great and awesome feature in 2.7.0 is now deprecated in 2.9.2 and will be removed in 2.10.0 – and you can find a lot of code examples but they will work only with given Scala version. Also some features of the language are terrifying when used in wrong way – implicit is the best example here – especially when you have to add just an import to allow your code to compile. And there is more, Scalatra evolving as well, AngularJS is a least stable from version 1.0.1 – before is like walking on minefield 😛

So, when your hands get dirty, then you can really write something about those awesome technologies and allow others to learn from your mistakes. That’s why we started with the Bootstrap project, to show how to write a remarkable application with bleeding edge technologies. Maybe there are better examples, but this one is our child which was born in sweat, blood and pain 🙂

And remember: with great power comes great responsibility