Not available for projects until june 2019

Hi, I am Björn Ruberg, a freelancing all-round IT talent based in Berlin specialized in JavaScript web-development after having started 16 years ago. I graduated with a masters degree at the Hasso-Plattner-Institute in 2013. Since 2011 I am continuously working as a software developer. I am a big fan of web and open source technologies.

I am always looking for people who don't just want to make a webpage which works somehow, but who need a great web application which is useable worldwide, even on older and slower devices with bad connections.

Have a Look at this page or inspect it using developer tools to learn about my work. Afterwards you might want to hire me.

Back-End

Create or enhance your system architecture. Connect your existing application to the web or build a new one. Build back-ends that can carry the weight of fast web applications. Take the common docker or a serverless approach and add in a CDN to provide worldwide services.

Front-End

Use frameworks like React or smaller alternatives like Preact to be as light as a jellyfish. Implement responsive designs with clear and maintainable styling. Make use of the latest browser's technologies and still take care of older devices.

Performance

Joined knowledge of back-end and front-end enables to target the hardest goal: Performance and resiliance even on low-powered devices with bad connections. Performance is the real challenge in web-development.

JavaScript everywhere

I am using JavaScript as my language for everything since 5 years. Using JavaScript it always you can run the same code on the server as you use on the client, and that is a key to make advanced performance optimizations possible and produces additional synergy effects.

For example I can level up my coding skills to a much higher rate than somebody working with two different languages. I get better at front-end and back-end at the same time. Moreover the JavaScript ecosystem is really huge, the language is already strikingly performant and gets faster still.

Responsive is not enough

Mobile designs have failed when people leave your page displeased, before even having had a look at it. The time people wait for your webpage to build up before they start leaving is 2 seconds. On a slow 3G connection 2 secs is about the time required to download nothing but jQuery alone.

That means most webpages today are built on legacy approaches. They are much too heavy and their loading times are far too long under any non-optimal condition. Web pages have to become much slimmer. Being fast is critical for the useability of any serious web application and it requires some investments. In case your application targets lots of mobile users, maybe even outside Europe, we really should have a chat.

Behind this page

This page is running serverless on AWS Lambda and is distributed by Cloudfront. It's a small progressive web app with full search engine support and great loading performance thanks to server-side-rendering based on Preact. Required styles are included at the top of the HTML and do not wait for further network requests. The gzipped HTML source of this page is <10kb and can be downloaded within the first round-trip of the TCP connection. According to that, browsers are able to start rendering this page very quickly.

AWS Lambda?

Why do I use Lambda to host a webpage? On one hand, because I'm able to do so.

On the other hand it has some real advantages like being super-cheap for this usecase. Furthermore it is auto-scaleable which means no one will see a downtime even if thousands of people and bots suddenly visit my page. Under normal load it can be served within the AWS free-tier. For lower costs and better latency Cloudfront is put in front of Lamda.

Preact or React?

I am very experienced in reactive frameworks. Preact is a much smaller alternative to React and I already used it for critical software at DemoUp. React provides a much bigger ecosystem and full-featured project generators which allows fast development. Preact can provide a good choice for projects aiming for best loading peformance and I didn't miss much using it. React itself is bigger than the whole script bundle of this page.

Language Skills

JavaScript99%

JavaScript is the language which I started programming with and I never gave up on it. Thanks to node.js it's now the most important one for web development. So my skills have developed to a high level. This of course includes knowledge about ES6, strict mode, clojures, scopes, garbage collection and much more.

CSS99%

Not a real language but although being simple, CSS is not easy. Styles can easily become slow, big and unmaintainable. Not every JavaScript Coder is doing CSS right and knows how it works in the browsers rendering engines. Therefor I shall I add it here.

Mysql90%

Like CSS this is no complete language and looks simple at first. However, in big projects it is not easy. I gathered some advanced knowledge about i.e. by it building big queries to fetch from very big tables, trying to keep them at a usable speed (see DemoUp Dashboard). Dealing with databases it a job of its own. Although I probably have all knowledge required for your project, I do not give me the full 100% for this.

PHP70%

I worked with this langugage for years, then I got fed up and abandoned it for Full-Stack JavaScript. I do not like this language and I'll never start a new project using it, but still, I can deal with it.

C++50%

I aquired good knowledge some years ago. I did coding done for projects at the university and an Open Source Project (KDE Plasma). I'am not counting myself as an expert. I can deal with it, but there is not much use for it in normal web development.

Additionally I have used languages in university projects which I never used professionally.

Python became my second language at school and I used it heavily for academic purposes

Java is a big language and there are great experts using it. I abandoned it for JavaScript, but I still can get along with the code

Ruby was used at the university and I found many ideas in it very nice

Arduino programming done at university

I always was interested in getting to know how computers work on the low level, what made me look in Assemler languages and learn some basics. I'd be interested to do more with it, but you do not use it for the web.