IdeaPiece logo


I am Mat and I develop functional and beautiful web applications in modern web technologies. I am also the founder of IdeaPiece Ltd. Please, let me show you what my company can do for you. You can also check out my blog.

Discussion about a software project

The cloud

In IdeaPiece I use Linux in the cloud (for example, this website is hosted on Amazon Web Services, but other Linux hosting solutions work as well). DevOps technologies (e.g. puppet) are also not a mystery for me (and I love ZSH). I prefer not to work with Windows, unless my customer's success depends on it. I also have some training in network administration (CCNA modules 1 and 2).

A data centre

The server

As for server technologies, I have almost 3 years of experience with Ruby on Rails, Java Enterprise, JSF and Liferay. Recently I became interested in modern EcmaScript/Babel, Node, React and Redux (including server­side rendering, e.g. this website), but my JavaScript experience is much longer (do you remember jQuery, AlloyUI, Dojo, Backbone.js, CoffeeScript?). I like using PostgreSQL (including PL/pgSQL), but I also have work experience with MySQL, Oracle (including PL/SQL) and even MS SQL.

Ruby programming language source code

The browser

As for frontend technologies, I really like HAML/Pug and Sass/Less, but recently I have started to incorporate Gulp, WebPack and CSSNext to be able to freely use modern HTML5 and CSS3 directly. I also know some other layout technologies, such as TeX, PostScript and XSL-FO (just in case you need to generate amazing PDF documents). Unfortunately I am partially dark red–dark green colourblind, so I will ask you to confirm whether the colours are correct before publishing.

A laptop on a desk


I can also help you evaluate some less common technologies, e.g. Smalltalk/Seaside, Prolog and Lisp. I am keen on artificial intelligence, machine learning, natural language processing, digital signal processing, image processing and neural networks—I have a master's degree in Computer Science from Lodz University of Technology.

Marker pens

Agile methods

I usually use an agile methodology (e.g. SCRUM) and fully manage the workflow. Normally all the source code is kept on GitHub. I expect you to be able to use tracker software (e.g. Yodiz, Pivotal) to write short user stories where you explain your needs from the user's perspective. I will work out the details and convert the requirements into automatic tests, so you can be sure that all your expectations are always fulfilled. To achieve that, I usually use RSpec, Cucumber, Selenium and recently Mocha. UML and BPMN are also sometimes useful, if you have experience with these.

Whiteboard with notes

Managing your project

I will give you estimates for each task before starting the work. I also manage timekeeping records, so you will always be aware about the current status of every task. To provide you with the highest level of service we will enter a custom agreement. The template will be provided to you in our first meeting—the most important benefit is post-contract support, so I can make sure you are never left alone with your problems when the agreement ends.

A meeting room

Past projects

A whiteboard


‘I had the pleasure of having Mat as part of my team when I started at Fitzdares and he was absolutely essential in helping me get up to speed with everything from established workflows to the server architecture and internal IT. He had really stepped up to take responsibility of a whole range of activities and performed all of the tasks given fantastically.

Mat is a hard worker and I could always rely on him for any task, he has a great pragmatic approach to solving technical problems no matter how difficult they might be. He did a great job managing our infrastructure with existing Puppet scripts as well as writing new ones as the requirement came in.’

Ville Hellman—CTO at Fitzdares