{"data":{"markdownRemark":{"id":"ba18bf7b-b537-52c3-8689-9abaf926ada0","html":"","fields":{"slug":"/blog/the-new-dawn-of-functional-reactive-programming-in-node-js-marble-js/"},"frontmatter":{"title":"The New Dawn of functional reactive programming in Node.js - Marble.js 2.0","cover":"/img/marble_fb.png","tags":["marble.js","node.js","backend","open source"],"lead":"We all want to make our products more responsive and better performing. We all want to deliver a smooth user experience without freezing and slowing down. **Reactive programming is not just a buzzword** but nowadays is a de facto standard for building web apps on the frontend. On the backend, the concept is still not so popular as we might think. **The Marble.js framework comes as a response** to that need and offers a way of building scalable and functional products with reactive data flow in mind.","content":[{"body":"## The core philosophy\n\nMarble.js is a functional reactive framework built on top of the Node.js platform. The core concept assumes that almost everything is treated as a stream of events passing through over time. **If you come from a functional programming world** you might notice that the framework draws on many functional programming concepts. The purely functional languages like Haskell express side effects such as I/O and other stateful computations using monadic actions. \n\nWith the growing popularity of reactive extensions, with Marble.js **you can create a referential transparent program specification** made up of just functions that may produce side effects, like networking, logging, database access, etc. Using its monadic nature we can map I/O operations over effects and bring in other sequences of operations.\n\nBecause it is a functional reactive framework, RxJS is the first class citizen here. Despite the single event nature of basic HTTP, there are are no contraindications against using it for single events. In Marble, **RxJS is used as a hammer** for expressing asynchronous flow in a monadic manner, even if you have to deal with only one event occurring over time. \n\nThe framework **doesn't operate over basic protocol only** but can be used also for both WebSocket and event sourcing purposes, where its multi-event nature shows its claws.\n\n<RelatedArticle title={`Marble.js – new open source framework for JavaScript`} />\n\n## Everything is a stream\n\nThe main building block of the whole framework is an Effect, which is just a function that operates over a stream of events. \n\nMarble.js abstracts this concept in a way that can be applied in many different scenarios - from a very basic REST API to a feature-rich real-time WebSocket-based system.\n\n![marble.js 1](/img/image3.png \"Marble.js 1\")\n\nAs previously mentioned, Marble.js defines a common functional interface for many different kinds of Effects. Combined with a **unidirectional data flow**, it provides predictability and traceability of the events passing through. \n\nThanks to that, **it makes the framework consistent** across the different areas that it needs to operate on. \n\nIf we look at the WebSocket protocol and try to apply the reactive programming concepts under the same core principles defined by the framework, we can achieve a **coherent environment** for dealing with asynchronous events passing over time.\n\n![marble.js 2](/img/image2.png \"Marble.js 2\")\n\n## The powerful set of features\n\nFrom the very first version, **Marble.js was built as a middleware-based system.** It is a common requirement to encounter the necessity of having various operations needed around incoming data. \n\nIn Marble.js, as with any other Effect, **the middleware is a stream of side-effects** that can be composed and plugged into our incoming data lifecycle to perform certain actions before reaching the designated point.\n\n**The second major release** takes even bigger steps toward being a fully featured framework. Besides the fluent API for working between different protocols (such as WebSockets) one of the main goals of the newest release was to increase the type safety and improve data type inference within Effects. \n\nWith Marble.js you can validate and check at runtime that **incoming data has the shape that you would expect**. With the deep integration of the io-ts library, you can even extract a static type from validator that is guaranteed to match any data structure that passes validation.\n\n![marble.js 1](/img/image1.png \"Marble.js 1\")\n\nThe functional nature does not stand in the way of proposing its own mechanism for implementing **a Dependency Injection (DI) system**. It is a very simple concept which can be implemented in many different ways. \n\nBased on the **need to provide different modules on demand**, Marble.js comes at the DI problem from a different, more functional direction, potentially very similar to other popular pure functional implementations. From version 2.0, it introduces a Context - an abstraction over the Reader monad.\n\n## **Lean Startup**\n\nBuilding a framework or even a bigger library is not something you can do overnight. It is always a process with a clear philosophy behind it. At first, Marble.js was born as an HTTP middleware library for Node.js. \n\n**Applying lean startup principles to an open source** product is not something you see very often, but in practice, a lot of popular open source projects were born with lean startup principles in mind, even if the authors didn’t realize. \n\nStarting from the market analysis, in just a one week, **Marble had a working proof of concept** that tried to combine a reactive programming paradigm with the event nature of HTTP protocol. \n\nAfter just one more week it was presented as an **open source MVP product** to a wider audience on GitHub. The initial concept was validated in the beta phase and was iterated with new ideas and improvements from version to version. \n\nThe latest 2.0 major version was released after about 6 months from the first debut. Similar to other popular JavaScript frameworks, such as Angular, Marble.js tries to operate on exactly the same release cycle, which means that **you can expect a major release every 6 months.**\n\n<NewsletterSmall id={`article-bottom`} />\n\n## Open Source\n\nOpen source is all about the people and their support. From the very beginning, the framework received an incredibly **positive response from the JavaScript community.** In the first week of its publication, it earned more than **700 stars** and for a few days, it was the most popular TypeScript repository on the GitHub. \n\nBesides that, it gains its fair share of exposure on social media, getting attention from, among others, **Ben Lesh (the RxJS project lead)** who gave a big shot of support from the very beginning.\n\nWith such interest in the presented concept, Marble.js got a big response with a bunch of proposed improvements and cool ideas from the community. **The second major version, released on the 2nd of March,** is an acknowledgment of the trust that the community gave from the very beginning.\n\n**Keep an eye on the** [**Marble.js GitHub repository**](http://github.com/marblejs/marble/pulls)**, on** [**Twitter**](http://twitter.com/marble_js)**, and on** [**docs.marblejs.com**](https://docs.marblejs.com/) **for the latest information and updates!**","fullwidthImage":{"image":"","alt":"marble.js","comment":null}}],"settings":{"date":"2019-03-12T15:31:39.212Z","category":"Tech","metaDescription":"Reactive programming is not just a buzzword but nowadays is a de facto standard for building web apps on the frontend. Read the article about Marble.js open source from our Javascript Developer, Józef Flakus","metaTitle":"The New Dawn of functional reactive programming in Node.js - Marble.js 2.0","related":[{"title":"Digital Product Prototyping – it’s a team effort"},{"title":"MVP development - what, why & how"},{"title":"Marble.js – new open source framework for JavaScript"}],"slug":"functional-reactive-programming-nodejs-marblejs","canonical":""},"contributor":"Józef Flakus","mainContent":null}},"allMarkdownRemark":{"edges":[{"node":{"excerpt":"","id":"a9a74167-061d-5449-a2c6-dc7c1782dc89","fields":{"slug":"/blog/6-benefits-from-having-a-qa-ba-in-your-development-team/"},"frontmatter":{"title":"6 benefits from having a QA/BA in your development team","job":null,"photo":null,"cover":"/img/team-meeting-in-conference-room.jpg","templateKey":"article-page","settings":{"date":"October 11, 2018","slug":"6-benefits-from-having-qa-ba-in-your-team","type":"blog","category":"How to"},"contributor":"Natalia Kolińska","box":{"content":{"title":"6 benefits from having a QA/BA in your development team","tags":null,"clientLogo":null,"coverImage":"/img/team-meeting-in-conference-room.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"4063b7a7-933f-5dc0-ad59-812f89ab802d","fields":{"slug":"/blog/digitalizing-renewable-energy/"},"frontmatter":{"title":"Digitalizing renewable energy","job":null,"photo":null,"cover":"/img/wind-turbines-photo-by-jason-blackeye.jpg","templateKey":"article-page","settings":{"date":"October 23, 2018","slug":"digitalizing-renewable-energy","type":"blog","category":"Future"},"contributor":"Kamil Mizera","box":{"content":{"title":"Digitalizing renewable energy","tags":null,"clientLogo":null,"coverImage":"/img/wind-turbines-photo-by-jason-blackeye.jpg"},"settings":null,"type":null}}}},{"node":{"excerpt":"","id":"209d906b-0385-5007-8608-34403e51f78e","fields":{"slug":"/blog/system-story-the-little-sentence-that-builds-big-things/"},"frontmatter":{"title":"System Story – the little sentence that builds big things","job":null,"photo":null,"cover":"/img/system-story.jpg","templateKey":"article-page","settings":{"date":"October 29, 2018","slug":"system-story-the-little-sentence-that-builds-big-things","type":"blog","category":"How to"},"contributor":"Anna Bil","box":{"content":{"title":"System Story – the little sentence that builds big things","tags":null,"clientLogo":null,"coverImage":"/img/system-story.jpg"},"settings":null,"type":null}}}},{"node":{"excerpt":"","id":"a3748254-2e36-5a1e-b1c3-e12684fd7a66","fields":{"slug":"/blog/marble-js-new-open-source-framework-for-javascript/"},"frontmatter":{"title":"Marble.js – new open source framework for JavaScript","job":null,"photo":null,"cover":"/img/marblejs.jpg","templateKey":"article-page","settings":{"date":"November 07, 2018","slug":"marblejs-new-open-source-framework-for-javascript","type":"blog","category":"Tech"},"contributor":"Kamil Mizera","box":{"content":{"title":"Marble.js – new open source framework for JavaScript","tags":null,"clientLogo":null,"coverImage":"/img/marblejs.jpg"},"settings":null,"type":null}}}},{"node":{"excerpt":"","id":"594cc335-68ab-5f32-a312-9ca32b8ec9a8","fields":{"slug":"/career/qa-business-analyst-warszawa/"},"frontmatter":{"title":"QA Business Analyst Warszawa","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 18, 2018","slug":"qa-business-analyst-warszawa","type":"career","category":"Product"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"d8e30317-a1e2-524d-bd1c-ef42b29e651d","fields":{"slug":"/career/social-media-strategiest-warszawa/"},"frontmatter":{"title":"Social Media Strategist Warszawa","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 18, 2018","slug":"social-media-strategiest-warszawa","type":"career","category":"Marketing"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"1b9bd994-2308-5d94-96c1-c5d847deb012","fields":{"slug":"/career/product-designer-warszawa/"},"frontmatter":{"title":"Product Designer Warszawa","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 18, 2018","slug":"product-designer-warszawa","type":"career","category":"Product"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"5fd9230c-2c5f-5e3f-a6f6-f37117047653","fields":{"slug":"/career/php-developer-warszawa/"},"frontmatter":{"title":"PHP Developer Warszawa","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 18, 2018","slug":"php-developer-warszawa","type":"career","category":"Technology"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"d6826549-8d52-56d2-9b00-73735c4ce91f","fields":{"slug":"/career/java-developer-gliwice/"},"frontmatter":{"title":"JAVA Developer Gliwice","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 18, 2018","slug":"java-developer-gliwice","type":"career","category":"Technology"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"d0757525-e447-59d2-96c2-5db00efdd966","fields":{"slug":"/career/python-developer-warszawa/"},"frontmatter":{"title":"Python Developer Warszawa","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 18, 2018","slug":"python-developer-warszawa","type":"career","category":"Technology"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"058baa2d-fe58-58db-809f-5835a01341ad","fields":{"slug":"/career/scrum-master-warszawa/"},"frontmatter":{"title":"Scrum Master Warszawa","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 18, 2018","slug":"scrum-master-warszawa","type":"career","category":"Product"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"17ffb8fe-12d1-50e1-b094-e9b7e748ff70","fields":{"slug":"/career/finance-and-administrations-specialist-gliwice/"},"frontmatter":{"title":"Finance and Administrations Specialist Gliwice","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 18, 2018","slug":"finance-administrations-specialist-gliwice","type":"career","category":"Operations"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"e6fb07bd-2a4b-5964-bac2-c651e255cd75","fields":{"slug":"/career/devops-engineer-gliwice/"},"frontmatter":{"title":"DevOps Engineer Gliwice","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 18, 2018","slug":"devops-engineer-gliwice","type":"career","category":"Technology"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"95c0f56e-e668-5c8e-9615-cc674fdc1e5f","fields":{"slug":"/career/qa-engineer-warszawa/"},"frontmatter":{"title":"QA Engineer Warszawa","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 18, 2018","slug":"qa-engineer-warszawa","type":"career","category":"Technology"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"d242e797-634b-5c1c-94f0-711b73d53775","fields":{"slug":"/career/social-media-strategiest-gliwice/"},"frontmatter":{"title":"Social Media Strategist Gliwice","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 19, 2018","slug":"social-media-strategiest-gliwice","type":"career","category":"Marketing"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"d8a55b1f-f6bc-5ac3-ab78-ce7df7706572","fields":{"slug":"/career/scrum-master-gliwice/"},"frontmatter":{"title":"Scrum Master Gliwice","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 19, 2018","slug":"scrum-master-gliwice","type":"career","category":"Product"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"008fd063-191a-5e71-a7d7-c95884746fb7","fields":{"slug":"/career/python-developer-gliwice/"},"frontmatter":{"title":"Python Developer Gliwice","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 19, 2018","slug":"python-developer-gliwice","type":"career","category":"Technology"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"8956fba2-8e4b-5d11-a3a4-112f110c8134","fields":{"slug":"/career/php-developer-gliwice/"},"frontmatter":{"title":"PHP Developer Gliwice","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 19, 2018","slug":"php-developer-gliwice","type":"career","category":"Technology"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"241104c9-d806-5fcb-a8a2-bc771d824876","fields":{"slug":"/career/php-developer-wroclaw/"},"frontmatter":{"title":"PHP Developer Wroclaw","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 19, 2018","slug":"php-developer-wroclaw","type":"career","category":"Technology"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"92bba01b-1041-5b5a-8fa4-cb42a9af478b","fields":{"slug":"/career/qa-engineer-gliwice/"},"frontmatter":{"title":"QA Engineer Gliwice","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 19, 2018","slug":"qa-engineer-gliwice","type":"career","category":"Technology"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"a8cc031a-3526-5ab6-9889-4589e69c387a","fields":{"slug":"/career/qa-business-analyst-gliwice/"},"frontmatter":{"title":"QA Business Analyst Gliwice","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 19, 2018","slug":"qa-business-analyst-gliwice","type":"career","category":"Product"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"28afd319-72b8-5ccd-b10b-b13905bc4f23","fields":{"slug":"/career/product-designer-gliwice/"},"frontmatter":{"title":"Product Designer Gliwice","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 19, 2018","slug":"product-designer-gliwice","type":"career","category":"Product"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"da24caca-b571-573f-ac8b-431bbc084e37","fields":{"slug":"/career/product-designer-wroclaw/"},"frontmatter":{"title":"Product Designer Wroclaw","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 19, 2018","slug":"product-designer-wroclaw","type":"career","category":"Product"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"a6893e76-0dc4-5213-9990-af16c36e632d","fields":{"slug":"/career/javascript-developer-wroclaw/"},"frontmatter":{"title":"JavaScript Developer Wroclaw","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 19, 2018","slug":"javascript-developer-wroclaw","type":"career","category":"Technology"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"43f7c991-491f-5b3b-ad28-1fd852c0a875","fields":{"slug":"/blog/differences-between-class-and-dex-files-in-java-android/"},"frontmatter":{"title":"Differences between .class and .dex files in Java & Android","job":null,"photo":null,"cover":"/img/25094713777_cae2db29e7_k-1-.jpg","templateKey":"article-page","settings":{"date":"November 29, 2018","slug":"differences-between-class-and-dex-files-in-java-android","type":"blog","category":"Tech"},"contributor":"Grzegorz Kukla","box":{"content":{"title":"Differences between .class and .dex files in Java & Android","tags":null,"clientLogo":null,"coverImage":"/img/devsatwork.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"625ca873-6a9d-55e6-8564-9390834dc2bf","fields":{"slug":"/blog/hackyeah-2018-boldare-team-at-the-biggest-stationary-hackathon-in-the-world/"},"frontmatter":{"title":"HackYeah 2018 – Boldare Team at the biggest stationary hackathon in the world!","job":null,"photo":null,"cover":"/img/img_9134.jpg","templateKey":"article-page","settings":{"date":"December 04, 2018","slug":"hackyeah-2018-boldare-team-at-the-hackathon","type":"blog","category":"People"},"contributor":"Claudia Wensierska","box":{"content":{"title":"HackYeah 2018 – Boldare Team at the biggest stationary hackathon in the world!","tags":null,"clientLogo":null,"coverImage":"/img/img_9134.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"4ad6cf8e-d46b-5ee1-9542-91bdcc2e3b8d","fields":{"slug":"/blog/10-steps-to-becoming-a-javascript-developer/"},"frontmatter":{"title":"10 Steps to Becoming a JavaScript Developer","job":null,"photo":null,"cover":"/img/boldare-js-developers-team.jpg","templateKey":"article-page","settings":{"date":"December 05, 2018","slug":"10-steps-becoming-javascript-developer","type":"blog","category":"Tech"},"contributor":"Mateusz Grzesiukiewicz","box":{"content":{"title":"10 Steps to Becoming a JavaScript Developer","tags":null,"clientLogo":null,"coverImage":"/img/boldare-js-javascript-developers-team.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"f3b97c7c-4034-565a-89af-dd7bdfd33cea","fields":{"slug":"/blog/digital-product-prototyping-it-s-a-team-effort/"},"frontmatter":{"title":"Digital Product Prototyping – it’s a team effort","job":null,"photo":null,"cover":"POC-teameffort-blog_cover_v4.jpg","templateKey":"article-page","settings":{"date":"December 07, 2018","slug":"digital-product-prototyping-team-effort","type":"blog","category":"Digital Product"},"contributor":"Dave Foxall","box":{"content":{"title":"Digital Product Prototyping – it’s a team effort","tags":null,"clientLogo":null,"coverImage":"POC-teameffort-miniatura.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"10cea117-d483-585e-a95f-66a05d8db143","fields":{"slug":"/career/customer-success-guide-warszawa/"},"frontmatter":{"title":"Customer Success Guide Warszawa","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"December 09, 2018","slug":"customer-success-guide-warszawa","type":"career","category":"Product"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"a8b1d57b-582d-55da-8968-18f6c4f487ad","fields":{"slug":"/career/customer-success-guide-gliwice/"},"frontmatter":{"title":"Customer Success Guide Gliwice","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"December 09, 2018","slug":"customer-success-guide-gliwice","type":"career","category":"Product"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"1dceda6f-73a4-58bb-8340-b0d3d867a7b5","fields":{"slug":"/career/devops-engineer-warszawa/"},"frontmatter":{"title":"DevOps Engineer Warszawa","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"December 12, 2018","slug":"devops-engineer-warszawa","type":"career","category":"Technology"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"3dbc7b9b-b163-5855-8b9a-b6b4b94ba3db","fields":{"slug":"/blog/effective-scaling-through-teamwork/"},"frontmatter":{"title":"Effective scaling through teamwork","job":null,"photo":null,"cover":"/img/working-in-the-office.jpg","templateKey":"article-page","settings":{"date":"December 13, 2018","slug":"scaling-team-for-digital-product","type":"blog","category":"Digital Product"},"contributor":"Dave Foxall","box":{"content":{"title":"Effective scaling through teamwork","tags":null,"clientLogo":null,"coverImage":"/img/working-in-the-office-2.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"3bc4a242-1228-50d6-9aad-a141515624dc","fields":{"slug":"/career/content-writer-warszawa/"},"frontmatter":{"title":"Content Writer Warszawa","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"December 14, 2018","slug":"content-writer-warszawa","type":"career","category":"Marketing"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"ad58d0ec-f978-541a-bf81-acccfe623d8f","fields":{"slug":"/career/content-writer-gliwice/"},"frontmatter":{"title":"Content Writer Gliwice","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"December 14, 2018","slug":"content-writer-gliwice","type":"career","category":"Marketing"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"3ddb8338-24b7-5e73-8490-339437d999a7","fields":{"slug":"/blog/building-digital-products-based-on-machine-learning-the-cost-perspective/"},"frontmatter":{"title":"Building digital products based on machine learning - the cost perspective","job":null,"photo":null,"cover":"/img/team-meeting-discussion.jpg","templateKey":"article-page","settings":{"date":"June 05, 2018","slug":"machine-learning-digital-product-costs","type":"blog","category":"Strategy"},"contributor":"Kamil Mizera","box":{"content":{"title":"Building digital products based on machine learning - the cost perspective","tags":null,"clientLogo":null,"coverImage":"/img/team-meeting-discussion.jpg"},"settings":null,"type":null}}}},{"node":{"excerpt":"","id":"66c4db9b-3dd4-5ab6-b8ef-9c515cf2c141","fields":{"slug":"/blog/lean-process-for-a-better-product/"},"frontmatter":{"title":"Lean process for a better product","job":null,"photo":null,"cover":"/img/team-meeting-in-mir-room.jpg","templateKey":"article-page","settings":{"date":"June 05, 2018","slug":"lean-process-for-better-product","type":"blog","category":"Digital Product"},"contributor":"Kamil Mizera","box":null}}},{"node":{"excerpt":"","id":"e9c5a21b-f2e8-536e-a8b7-80f47bce5e3d","fields":{"slug":"/blog/digital-product-prototyping-what-s-it-all-about/"},"frontmatter":{"title":"Digital Product Prototyping – what’s it all about?","job":null,"photo":null,"cover":"POC-prototyp-blog_cover.jpg","templateKey":"article-page","settings":{"date":"December 18, 2018","slug":"digital-product-prototyping-whats-it-all-about","type":"blog","category":"Digital Product"},"contributor":"Dave Foxall","box":{"content":{"title":"What is a igital product prototype?","tags":null,"clientLogo":null,"coverImage":"POC-prototyp-miniatura_2x.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"e4247904-a734-55b0-b6b1-5efb16eb8ed6","fields":{"slug":"/blog/digital-travel-trends-in-the-experience-economy/"},"frontmatter":{"title":"Digital travel trends in the experience economy","job":null,"photo":null,"cover":"/img/travel-digital-trends.png","templateKey":"article-page","settings":{"date":"December 21, 2018","slug":"digital-travel-trends-in-experience-economy","type":"blog","category":"Ideas"},"contributor":"Radek Grabarek","box":{"content":{"title":"Digital travel trends in the experience economy","tags":null,"clientLogo":null,"coverImage":"/img/travel.png"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"1125509f-7b32-5388-bfc9-52dea1165eb0","fields":{"slug":"/blog/converter-pattern-in-java-8/"},"frontmatter":{"title":"Converter pattern in Java 8","job":null,"photo":null,"cover":"/img/converter-pattern-in-java8-boldare-blog.jpg","templateKey":"article-page","settings":{"date":"January 01, 2019","slug":"converter-pattern-in-java-8","type":"blog","category":"Tech"},"contributor":"Anna Skawińska","box":{"content":{"title":"Converter pattern in Java 8","tags":null,"clientLogo":null,"coverImage":"/img/converter-pattern-in-java-8-boldare-blog-cover.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"ffad3fbb-e3e1-5785-9d35-95ce10a13143","fields":{"slug":"/blog/2018-at-boldare-the-story-of-great-changes-in-ten-graphics/"},"frontmatter":{"title":"2018 at Boldare: the story of great changes in ten graphics","job":null,"photo":null,"cover":"/img/cover-na-bloga.jpg","templateKey":"article-page","settings":{"date":"January 16, 2019","slug":"2018-at-boldare-the-story-of-great-changes","type":"blog","category":"News"},"contributor":"Kamil Mizera","box":{"content":{"title":"2018 at Boldare: the story of great changes in ten graphics","tags":null,"clientLogo":null,"coverImage":"/img/blog-miniaturka.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"7e5ab016-da29-5222-9e79-1442657b5cb9","fields":{"slug":"/career/qa-business-analyst-wroclaw/"},"frontmatter":{"title":"QA Business Analyst Wroclaw","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"January 18, 2019","slug":"qa-business-analyst-wroclaw","type":"career","category":"Product"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"1f967c77-6045-55b9-9c94-30e792ce69f6","fields":{"slug":"/career/qa-engineer-wroclaw/"},"frontmatter":{"title":"QA Engineer Wroclaw","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"January 24, 2019","slug":"qa-engineer-wroclaw","type":"career","category":"Technology"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"a64966ec-0fd9-5528-a7f7-526540c87f49","fields":{"slug":"/blog/eres-yachting-designing-a-premium-online-booking-experience-for-luxury-travel/"},"frontmatter":{"title":"ERES Yachting - designing a premium online booking experience for luxury travel","job":null,"photo":null,"cover":"/img/coverfoto-blogpost-big.jpg","templateKey":"article-page","settings":{"date":"January 30, 2019","slug":"eres-yachting-designing-premium-online-booking-experience","type":"blog","category":"Digital Product"},"contributor":"Dave Foxall","box":{"content":{"title":"ERES Yachting - designing a premium online booking experience for luxury travel","tags":null,"clientLogo":null,"coverImage":"/img/coverfoto-blogpost-small.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"5df42308-319e-5e86-b1df-42dcad8f925d","fields":{"slug":"/blog/choosing-digital-product-development-partner-political-and-economic-issues/"},"frontmatter":{"title":"Choosing a digital product development partner - the political and economic issues","job":null,"photo":null,"cover":"img/video-call-at-conference-room.jpg","templateKey":"article-page","settings":{"date":"February 01, 2019","slug":"choosing-digital-product-development-partner-political-and-economic-issues","type":"blog","category":"Strategy"},"contributor":"Paweł Kaiser","box":{"content":{"title":"Choosing a development partner - the political and economic issues","tags":null,"clientLogo":null,"coverImage":"img/video-call-at-conference-room.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"95f1cc78-0016-5002-b2d9-074325c4687e","fields":{"slug":"/blog/how-much-should-you-pay-for-digital-product-development/"},"frontmatter":{"title":"How much should you pay for a digital product development?","job":null,"photo":null,"cover":"img/webp.net-resizeimage-1-.jpg","templateKey":"article-page","settings":{"date":"February 01, 2019","slug":"how-much-should-you-pay-for-digital-product-development","type":"blog","category":"Strategy"},"contributor":"Paweł Kaiser","box":{"content":{"title":"Looking for a digital product development partner? ","tags":null,"clientLogo":null,"coverImage":"img/webp.net-resizeimage-1-.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"17a0958e-87fb-568c-91ab-17183a611644","fields":{"slug":"/blog/face-validator-open-source-symfony3-facial-recognition-bundle/"},"frontmatter":{"title":"Face Validator: open source Symfony3 facial recognition bundle","job":null,"photo":null,"cover":"/img/facevailidator.jpg","templateKey":"article-page","settings":{"date":"February 13, 2019","slug":"face-detection-open-source-symfony3","type":"blog","category":"Tech"},"contributor":"Paweł Krynicki","box":{"content":{"title":"Face Validator: open source Symfony3 facial recognition bundle","tags":null,"clientLogo":null,"coverImage":"/img/facevailidatorsymfony3.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"69cd8e52-1dad-5209-89a1-8a40687b4835","fields":{"slug":"/reviews/tauron-polska-energia/"},"frontmatter":{"title":"Tauron Polska Energia, an energy company","job":null,"photo":null,"cover":null,"templateKey":"review-page","settings":{"date":"March 05, 2019","slug":"tauron-polska-energia","type":"reviews","category":null},"contributor":"Karolina Kołodziej","box":null}}},{"node":{"excerpt":"","id":"cc5b368e-1a10-5747-91b1-fc826264d915","fields":{"slug":"/reviews/virgin-radio-oman/"},"frontmatter":{"title":"Virgin Radio Oman, a part of Sabco Media ","job":null,"photo":null,"cover":null,"templateKey":"review-page","settings":{"date":"March 05, 2019","slug":"virgin-radio-oman","type":"reviews","category":null},"contributor":"Karolina Kołodziej","box":null}}},{"node":{"excerpt":"","id":"d9dbfd84-e0e2-5719-acbf-2b9a5745c048","fields":{"slug":"/reviews/eres-yachting/"},"frontmatter":{"title":"Eres Yachting - a booking platform","job":null,"photo":null,"cover":null,"templateKey":"review-page","settings":{"date":"March 05, 2019","slug":"eres-yachting","type":"reviews","category":null},"contributor":"Karolina Kołodziej","box":null}}},{"node":{"excerpt":"","id":"2aa0994b-173c-5455-a4f7-ce8edab3dfc6","fields":{"slug":"/reviews/numera-lighting/"},"frontmatter":{"title":"Numera Lighting, a lighting manufacturer","job":null,"photo":null,"cover":null,"templateKey":"review-page","settings":{"date":"March 06, 2019","slug":"numera-lighting","type":"reviews","category":null},"contributor":"Karolina Kołodziej","box":null}}},{"node":{"excerpt":"","id":"67da4b02-5c53-5e7e-a103-fde6c3803144","fields":{"slug":"/reviews/holiday-taxis/"},"frontmatter":{"title":"Holiday Taxis - a transport booking service","job":null,"photo":null,"cover":null,"templateKey":"review-page","settings":{"date":"March 06, 2019","slug":"holiday-taxis","type":"reviews","category":null},"contributor":"Karolina Kołodziej","box":null}}},{"node":{"excerpt":"","id":"d068d911-945a-540c-a07f-2f3f6b91b3fc","fields":{"slug":"/reviews/ezycount/"},"frontmatter":{"title":"EZYcount - a fintech startup","job":null,"photo":null,"cover":null,"templateKey":"review-page","settings":{"date":"March 06, 2019","slug":"ezycount","type":"reviews","category":null},"contributor":"Karolina Kołodziej","box":null}}},{"node":{"excerpt":"","id":"828e7028-9bdf-59d5-bbbb-f851267671ab","fields":{"slug":"/reviews/lamden/"},"frontmatter":{"title":"Lamden - a blockchain startup","job":null,"photo":null,"cover":null,"templateKey":"review-page","settings":{"date":"March 06, 2019","slug":"lamden","type":"reviews","category":null},"contributor":"Karolina Kołodziej","box":null}}},{"node":{"excerpt":"","id":"d854d112-347e-5811-8551-d652ddfe5e2c","fields":{"slug":"/reviews/brasswillow/"},"frontmatter":{"title":"BrassWillow - a consulting company","job":null,"photo":null,"cover":null,"templateKey":"review-page","settings":{"date":"March 06, 2019","slug":"brasswillow","type":"reviews","category":null},"contributor":"Karolina Kołodziej","box":null}}},{"node":{"excerpt":"","id":"c1ec5b4f-7e91-5e73-bc13-fd87f40119a9","fields":{"slug":"/blog/top-3-products-weve-built-in-php-challenges-and-conclusions/"},"frontmatter":{"title":"TOP 3 products we've built in PHP – challenges and conclusions","job":null,"photo":null,"cover":"/img/webp.net-resizeimage-1-.jpg","templateKey":"article-page","settings":{"date":"March 12, 2019","slug":"top-3-products-php-tojjar","type":"blog","category":"Tech"},"contributor":"Mariusz Bąk","box":{"content":{"title":"TOP 3 products we've built in PHP – challenges and conclusions","tags":null,"clientLogo":null,"coverImage":"/img/takamol-tojjar-case-study-boldare-product-development-team.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"c41c41c0-b0ba-5f70-88ce-c4d3f425fa7f","fields":{"slug":"/blog/when-two-become-one-the-story-of-boldare/"},"frontmatter":{"title":"When two become one. The story of Boldare","job":null,"photo":null,"cover":"/img/anna-zarudzka-and-piotr-majchrzak.jpg","templateKey":"article-page","settings":{"date":"June 04, 2018","slug":"the-story-of-boldare","type":"blog","category":"News"},"contributor":"Kamil Mizera","box":{"content":{"title":"When two become one. The story of Boldare","tags":null,"clientLogo":null,"coverImage":"/img/anna-zarudzka-and-piotr-majchrzak.jpg"},"settings":null,"type":null}}}},{"node":{"excerpt":"","id":"e20e0491-9012-501f-9237-56c08d8a7dda","fields":{"slug":"/blog/wtf-open-source-web-testing-framework/"},"frontmatter":{"title":"WTF: Open Source Web Testing Framework","job":null,"photo":null,"cover":"/img/kamil-chyrek.jpg","templateKey":"article-page","settings":{"date":"June 05, 2018","slug":"web-testing-framework","type":"blog","category":"Tech"},"contributor":"Tomasz Konieczny","box":null}}},{"node":{"excerpt":"","id":"ae745671-5fac-5bf4-8fc6-5584ce0332f4","fields":{"slug":"/blog/transforming-us-politics-with-a-voting-platform-for-concerned-citizens/"},"frontmatter":{"title":"Transforming US politics with a voting platform for concerned citizens","job":null,"photo":null,"cover":"/img/usa-flag.jpg","templateKey":"article-page","settings":{"date":"June 05, 2018","slug":"case-study-polco","type":"blog","category":"Case Study"},"contributor":"Karolina Kołodziej","box":{"content":{"title":"Transforming US politics with a voting platform for concerned citizens","tags":null,"clientLogo":null,"coverImage":null},"settings":null,"type":null}}}},{"node":{"excerpt":"","id":"3d384b14-f104-5965-86f7-224829f22c9d","fields":{"slug":"/blog/speeding-up-e-commerce-content-moderation-with-machine-learning-based-on-amazon-web-services/"},"frontmatter":{"title":"Speeding up e-commerce content moderation with Machine Learning based on Amazon Web Services","job":null,"photo":null,"cover":"/img/human-eye.jpg","templateKey":"article-page","settings":{"date":"June 05, 2018","slug":"machine-learning-content-moderation","type":"blog","category":"Case Study"},"contributor":"Paweł Krynicki","box":{"content":{"title":"Speeding up e-commerce content moderation with Machine Learning based on Amazon Web Services","tags":null,"clientLogo":null,"coverImage":"/img/human-eye.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"31250d56-d30d-516c-a1e6-eddf4a60ad16","fields":{"slug":"/blog/how-we-do-digital-products-at-boldare-and-what-it-means-for-your-business/"},"frontmatter":{"title":"This is how Boldare Development Teams process addresses your business needs","job":null,"photo":null,"cover":"/img/open-space.jpg","templateKey":"article-page","settings":{"date":"June 05, 2018","slug":"agile-process-for-digital-product-development","type":"blog","category":"How to"},"contributor":"Kamil Mizera","box":{"content":{"title":"This is how Boldare Development Teams process addresses your business needs","tags":null,"clientLogo":null,"coverImage":"/img/open-space.jpg"},"settings":null,"type":null}}}},{"node":{"excerpt":"","id":"364acb1e-105f-5dc3-b49b-265e7ef8c5a9","fields":{"slug":"/blog/how-to-start-a-neural-network-with-javascript-in-5-minutes/"},"frontmatter":{"title":"How to start a neural network with JavaScript in 5 minutes","job":null,"photo":null,"cover":"/img/barbara-strak.jpg","templateKey":"article-page","settings":{"date":"June 05, 2018","slug":"neural-network-with-javascript","type":"blog","category":"Tech"},"contributor":"Kamil Mikosz","box":null}}},{"node":{"excerpt":"","id":"05a33609-f9e8-55af-a595-50e4bdd418a2","fields":{"slug":"/blog/how-to-scale-a-monolithic-mvp-application-without-losing-business/"},"frontmatter":{"title":"How to scale a monolithic MVP application without losing business?","job":null,"photo":null,"cover":"/img/dubai.jpg","templateKey":"article-page","settings":{"date":"June 05, 2018","slug":"case-study-ionoview","type":"blog","category":"Case Study"},"contributor":"Karolina Kołodziej","box":{"content":{"title":"How to scale a monolithic MVP application without losing business?","tags":null,"clientLogo":null,"coverImage":null},"settings":null,"type":null}}}},{"node":{"excerpt":"","id":"98547217-caf0-56f6-955f-a615b8aaf688","fields":{"slug":"/blog/how-to-deliver-an-e-commerce-platform-mvp-in-just-6-weeks/"},"frontmatter":{"title":"How to deliver an e-commerce platform MVP in just 6 weeks","job":null,"photo":null,"cover":"/img/arabian-women.jpg","templateKey":"article-page","settings":{"date":"June 05, 2018","slug":"case-study-tojjar","type":"blog","category":"Case Study"},"contributor":"Karolina Kołodziej","box":null}}},{"node":{"excerpt":"","id":"28bad4be-ff41-5eb1-a1fa-922cfa1e511c","fields":{"slug":"/blog/how-to-create-a-teal-space-for-enhancing-creativity-and-productivity-of-self-managing-teams/"},"frontmatter":{"title":"How to create a teal space for enhancing creativity and productivity of self-managing teams","job":null,"photo":null,"cover":"/img/relax-space-big-hammock.jpg","templateKey":"article-page","settings":{"date":"June 05, 2018","slug":"teal-space-for-creativity-and-productivity","type":"blog","category":"Ideas"},"contributor":"Patrycja Kasperkiewicz","box":{"content":{"title":"How to create a teal space for enhancing creativity and productivity of self-managing teams","tags":null,"clientLogo":null,"coverImage":"/img/relax-space-hammock-and-bike.jpg"},"settings":{"tileColor":null,"textColor":null,"link":"/blog/teal-space-for-creativity-and-productivity/"},"type":"BLOG"}}}},{"node":{"excerpt":"","id":"6d31c771-b3eb-519e-850c-bd4b6ddb51d0","fields":{"slug":"/blog/from-design-to-development-in-4-weeks-creating-a-mobile-and-web-mvp-for-an-iconic-brand/"},"frontmatter":{"title":"From design to development in 4 weeks. Creating a mobile and web MVP for an iconic brand","job":null,"photo":null,"cover":"/img/virgin-radio-oman-mobile-app-design.jpg","templateKey":"article-page","settings":{"date":"June 05, 2018","slug":"case-study-virgin-radio-oman","type":"blog","category":"Case Study"},"contributor":"Karolina Kołodziej","box":{"content":{"title":"From design to development in 4 weeks. Creating a mobile and web MVP for an iconic brand","tags":null,"clientLogo":null,"coverImage":null},"settings":null,"type":null}}}},{"node":{"excerpt":"","id":"12ceee0c-1750-5780-b53a-7dbefa112d19","fields":{"slug":"/blog/designing-a-simple-search-experience-for-a-complex-product-with-a-luxurious-interface/"},"frontmatter":{"title":"Designing a simple search experience for a complex product with a luxurious interface","job":null,"photo":null,"cover":"/img/yacht.jpg","templateKey":"article-page","settings":{"date":"June 05, 2018","slug":"case-study-eres-yachting-booking-platform","type":"blog","category":"Case Study"},"contributor":"Karolina Kołodziej","box":{"content":{"title":"Designing a simple search experience for a complex product with a luxurious interface","tags":null,"clientLogo":null,"coverImage":null},"settings":null,"type":null}}}},{"node":{"excerpt":"","id":"a4fe2a8a-4bf4-5978-855a-7ea9ca9f5c05","fields":{"slug":"/blog/best-outsourcing-practices-meetup-–-designed-for-ctos/"},"frontmatter":{"title":"Best Outsourcing Practices Meetup – designed for CTOs","job":null,"photo":null,"cover":"/img/outsourcing-best-practices-meetup-group.jpg","templateKey":"article-page","settings":{"date":"June 05, 2018","slug":"cto-asks-meetup","type":"blog","category":"People"},"contributor":"Kamil Mizera","box":{"content":{"title":"Best Outsourcing Practices Meetup – designed for CTOs","tags":null,"clientLogo":null,"coverImage":null},"settings":null,"type":null}}}},{"node":{"excerpt":"","id":"6e6f6df1-3ef1-5301-867f-a342d766efd9","fields":{"slug":"/blog/agile-and-skilled-development-teams-for-a-french-unicorn/"},"frontmatter":{"title":"Agile and skilled development teams for a French unicorn","job":null,"photo":null,"cover":"/img/blablacar-office.jpg","templateKey":"article-page","settings":{"date":"June 05, 2018","slug":"case-story-blablacar","type":"blog","category":"Case Study"},"contributor":"Karolina Kołodziej","box":{"content":{"title":"Agile and skilled development teams for a French unicorn","tags":null,"clientLogo":null,"coverImage":null},"settings":null,"type":null}}}},{"node":{"excerpt":"","id":"2c5d6b57-5f85-5d02-9fe0-8696c2519059","fields":{"slug":"/blog/a-step-by-step-guide-to-event-storming-–-our-experience/"},"frontmatter":{"title":"A step by step guide to Event Storming – our experience","job":null,"photo":null,"cover":"/img/woman-in-room-with-glass-walls.jpg","templateKey":"article-page","settings":{"date":"June 05, 2018","slug":"event-storming-guide","type":"blog","category":"How to"},"contributor":"Natalia Kolińska","box":null}}},{"node":{"excerpt":"","id":"ce64d144-f9f4-528b-be78-62cda2836cbb","fields":{"slug":"/blog/5-signs-you’re-ready-for-holacracy/"},"frontmatter":{"title":"5 Signs You’re Ready for Holacracy","job":null,"photo":null,"cover":"/img/team-meeting-during-holacracy-workshop.jpg","templateKey":"article-page","settings":{"date":"June 05, 2018","slug":"5-signs-you-are-ready-for-holacracy","type":"blog","category":"Ideas"},"contributor":"Piotr Majchrzak","box":{"content":{"title":"5 Signs You’re Ready for Holacracy","tags":null,"clientLogo":null,"coverImage":"/img/team-meeting-during-holacracy-workshop.jpg"},"settings":null,"type":null}}}},{"node":{"excerpt":"","id":"2dab7565-9fc1-5d04-a721-3f7e72eec8f0","fields":{"slug":"/work/how-to-create-predictive-maintenance-software-for-wind-turbines-using-machine-learning-algorithms/"},"frontmatter":{"title":"How to create predictive maintenance software for wind turbines using machine learning algorithms","job":null,"photo":null,"cover":"/img/wind-turbine-predictive-maintenance-software-case-study.jpg","templateKey":"case-study-page","settings":{"date":"October 29, 2018","slug":"case-study-predictive-maintenance","type":null,"category":"Case Study"},"contributor":"Karolina Kołodziej","box":{"content":{"title":"How to create predictive maintenance software using machine learning","tags":["#machinelearning #python #ux #lean"],"clientLogo":null,"coverImage":null},"settings":{"tileColor":"white","textColor":"black","link":"https://www.boldare.com/work/case-study-predictive-maintenance"},"type":null}}}},{"node":{"excerpt":"","id":"a14e040a-8768-5d38-80fe-c023cc6de5bd","fields":{"slug":"/blog/introducing-data-visualization-in-d3-javascript-library/"},"frontmatter":{"title":"Introducing Data Visualization in D3 JavaScript library","job":null,"photo":null,"cover":"/img/giant-globe.jpg","templateKey":"article-page","settings":{"date":"November 07, 2018","slug":"data-visualization-in-d3-javascript-library","type":"blog","category":"Tech"},"contributor":"Marcin Brach","box":{"content":{"title":"Introducing Data Visualization in D3 JavaScript library","tags":null,"clientLogo":null,"coverImage":"/img/giant-globe.jpg"},"settings":null,"type":null}}}},{"node":{"excerpt":"","id":"77d570b2-f7ec-5415-af3e-d335793486d2","fields":{"slug":"/blog/lean-startup-series-vanity-metrics-vs-actionable-metrics/"},"frontmatter":{"title":"Lean Startup Series: Vanity Metrics vs. Actionable Metrics","job":null,"photo":null,"cover":"/img/meeting-room-1440.jpeg","templateKey":"article-page","settings":{"date":"November 19, 2018","slug":"lean-startup-vanity-metrics-vs-actionable-metrics","type":"blog","category":"Digital Product"},"contributor":"Dave Foxall","box":{"content":{"title":"Lean Startup Series: Vanity Metrics vs. Actionable Metrics","tags":null,"clientLogo":null,"coverImage":"/img/meeting-room-1440.jpeg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"05f28b4e-5320-595c-b7b3-d147bc0bb129","fields":{"slug":"/blog/lean-startup-series-validated-learning/"},"frontmatter":{"title":"Lean Startup Series: Validated Learning","job":null,"photo":null,"cover":"/img/team-at-work-1440.jpg","templateKey":"article-page","settings":{"date":"November 21, 2018","slug":"lean-startup-validated-learning","type":"blog","category":"Digital Product"},"contributor":"Dave Foxall","box":{"content":{"title":"Lean Startup Series: Validated Learning","tags":null,"clientLogo":null,"coverImage":"/img/team-at-work-1440.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"e9317355-0ae3-5691-ade0-f06e70ac4ab3","fields":{"slug":"/blog/practical-tips-on-changing-the-service-provider-and-keeping-your-digital-product-delivered/"},"frontmatter":{"title":"Practical tips on changing the service provider and still delivering your digital product","job":null,"photo":null,"cover":"/img/dev-team-at-work.jpg","templateKey":"article-page","settings":{"date":"November 25, 2018","slug":"changing-the-digital-product-service-provider","type":"blog","category":"Strategy"},"contributor":"Adam Ziemba","box":{"content":{"title":"Practical tips on changing the service provider and keeping your digital product delivered ","tags":null,"clientLogo":null,"coverImage":"/img/dev-team-at-work-cover.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"3c699bf0-2b0f-5b91-a69a-41dee56279f7","fields":{"slug":"/blog/lean-startup-series-innovation-accounting/"},"frontmatter":{"title":"Lean Startup Series: Innovation Accounting","job":null,"photo":null,"cover":"/img/lean-startup-chart.jpg","templateKey":"article-page","settings":{"date":"November 28, 2018","slug":"lean-startup-innovation-accounting","type":"blog","category":"Digital Product"},"contributor":"Dave Foxall","box":{"content":{"title":"Lean Startup series: innovation accounting","tags":null,"clientLogo":null,"coverImage":"/img/lean-startup-chart.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"23ac8e45-1c10-544a-ae63-73a9dc74bc77","fields":{"slug":"/blog/predictive-maintenance-for-wind-turbines-an-interview-with-boldare-s-machine-learning-engineers/"},"frontmatter":{"title":"Predictive maintenance for wind turbines - an interview with Boldare’s machine learning engineers","job":null,"photo":null,"cover":"/img/machine-learning-team-boldare.png","templateKey":"article-page","settings":{"date":"November 30, 2018","slug":"predictive-maintenance-wind-turbine","type":"blog","category":"Digital Product"},"contributor":"Mateusz Kościelak","box":{"content":{"title":"Predictive maintenance for wind turbines - an interview with Boldare’s machine learning engineers","tags":null,"clientLogo":null,"coverImage":"/img/machine-learning-team-boldare.png"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"545ca9ce-097c-5047-a759-a6fd14566899","fields":{"slug":"/blog/product-market-fit-for-expanding-market-demand/"},"frontmatter":{"title":"Product-Market Fit for expanding market demand","job":null,"photo":null,"cover":"/img/team-board.jpg","templateKey":"article-page","settings":{"date":"December 05, 2018","slug":"product-market-fit-expanding-demand","type":"blog","category":"Digital Product"},"contributor":"Dave Foxall","box":{"content":{"title":"Product-Market Fit for expanding market demand","tags":null,"clientLogo":null,"coverImage":"/img/team-board-miniatura.jpeg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"68a10263-08e5-5906-aa47-8a3e56250b23","fields":{"slug":"/blog/product-vision-workshops-seeing-clearly-from-the-beginning/"},"frontmatter":{"title":"Product Vision Workshops – seeing clearly from the beginning","job":null,"photo":null,"cover":"/img/team-meetings.jpg","templateKey":"article-page","settings":{"date":"December 11, 2018","slug":"product-vision-workshops-toolkit","type":"blog","category":"Digital Product"},"contributor":"Dave Foxall","box":{"content":{"title":"Product Vision Workshops – seeing clearly from the beginning","tags":null,"clientLogo":null,"coverImage":"/img/team-meetings.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"be4dba11-a1c4-5a55-94de-13271c6c5fe7","fields":{"slug":"/blog/the-what-why-and-how-of-mvps/"},"frontmatter":{"title":"MVP development - what, why & how","job":null,"photo":null,"cover":"/img/rallo.png","templateKey":"article-page","settings":{"date":"December 12, 2018","slug":"mvp-what-why-how","type":"blog","category":"Digital Product"},"contributor":"Dave Foxall","box":{"content":{"title":"MVP development - what, why & how","tags":null,"clientLogo":null,"coverImage":"/img/rallo-mini.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"97b4ca81-c274-565c-84db-4d0e62bf2d7a","fields":{"slug":"/blog/user-satisfaction-user-perspective-user-oriented-approach-an-interview-with-product-designer-pawel-capaja/"},"frontmatter":{"title":"\"User satisfaction. User perspective. User-oriented approach\" - an interview with Paweł Capaja","job":null,"photo":null,"cover":"/img/cover-photo-blogspot.jpg","templateKey":"article-page","settings":{"date":"December 12, 2018","slug":"product-desinger-pawel-capaja-interview","type":"blog","category":"Ideas"},"contributor":"Kamil Mizera","box":{"content":{"title":"What does it mean to be a Product Designer- an interview with Paweł Capaja","tags":null,"clientLogo":null,"coverImage":"/img/cover-photo-miniaturka.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"960777c2-f59c-58c3-8323-72557ba6353d","fields":{"slug":"/blog/product-market-fit-teamworking-for-results/"},"frontmatter":{"title":"Product-Market Fit – teamworking for results","job":null,"photo":null,"cover":"/img/team-meeting-1440.jpeg","templateKey":"article-page","settings":{"date":"December 14, 2018","slug":"product-market-fit-team-for-results","type":"blog","category":"Digital Product"},"contributor":"Dave Foxall","box":{"content":{"title":"Product-Market Fit – teamworking for results","tags":null,"clientLogo":null,"coverImage":"/img/team-meeting-1440.jpeg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"25800c12-fafc-5c39-ac21-19b137e9928b","fields":{"slug":"/blog/minimum-viable-products-it-s-all-about-the-team/"},"frontmatter":{"title":"Minimum Viable Products? It’s all about the team","job":null,"photo":null,"cover":"/img/teamwork.jpg","templateKey":"article-page","settings":{"date":"December 18, 2018","slug":"minimum-viable-product-team","type":"blog","category":"Digital Product"},"contributor":"Dave Foxall","box":{"content":{"title":"Minimum Viable Products? It’s all about the team","tags":null,"clientLogo":null,"coverImage":"/img/teamwork.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"7838a388-62b3-5d2c-b68e-3f89949c8470","fields":{"slug":"/blog/what-is-design-thinking/"},"frontmatter":{"title":"What is Design Thinking","job":null,"photo":null,"cover":"/img/design-thinking.jpg","templateKey":"article-page","settings":{"date":"December 18, 2018","slug":"what-is-design-thinking","type":"blog","category":"Digital Product"},"contributor":"Dave Foxall","box":{"content":{"title":"What is Design Thinking","tags":null,"clientLogo":null,"coverImage":"/img/design-thinking.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"356867d7-a9ea-5c30-9725-03f4e16f5804","fields":{"slug":"/blog/the-5-dares-of-functional-testing-an-application-in-arabic/"},"frontmatter":{"title":"The 5 dares of functional testing an application in Arabic","job":null,"photo":null,"cover":"/img/openspace-work.jpg","templateKey":"article-page","settings":{"date":"January 29, 2019","slug":"5-dares-of-functional-testing-in-Arabic","type":"blog","category":"How to"},"contributor":"Natalia Kolińska","box":{"content":{"title":"The 5 dares of functional testing an application in Arabic","tags":null,"clientLogo":null,"coverImage":"/img/openspace-work.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"a662207b-eeea-5020-8b5e-7063b88e066f","fields":{"slug":"/blog/people-dont-buy-products-people-buy-meanings/"},"frontmatter":{"title":"People don't buy products. People buy meanings","job":null,"photo":null,"cover":"/img/cover.jpg","templateKey":"article-page","settings":{"date":"February 07, 2019","slug":"design-driven-innovation","type":"blog","category":"Ideas"},"contributor":"Anna Zarudzka","box":{"content":{"title":"People don't buy products. People buy meanings","tags":null,"clientLogo":null,"coverImage":"/img/cover-mini.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"1ecc7b10-fe5e-58fb-a3db-55e65e2e1f87","fields":{"slug":"/blog/what-exactly-can-you-do-with-python/"},"frontmatter":{"title":"What exactly can you do with Python? ","job":null,"photo":null,"cover":"/img/developers-working-on-machine-learning-algoritm.jpg","templateKey":"article-page","settings":{"date":"February 27, 2019","slug":"what-exactly-can-you-do-with-Python","type":"blog","category":"Tech"},"contributor":"Mateusz Wyciślik","box":{"content":{"title":"What exactly can you do with Python? ","tags":null,"clientLogo":null,"coverImage":"/img/developers-working-on-machine-learning-algoritm.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"1c8073b0-a59b-5f51-8ceb-ee4206c84b69","fields":{"slug":"/blog/what-is-node-js-used-for/"},"frontmatter":{"title":"What is Node.js used for? ","job":null,"photo":null,"cover":"node.js_a_cover_photo.png","templateKey":"article-page","settings":{"date":"March 01, 2019","slug":"what-is-node-js-used-for","type":"blog","category":"Tech"},"contributor":"Kacper Geisheimer","box":{"content":{"title":"Learn about Node.js characteristic","tags":null,"clientLogo":null,"coverImage":"node.js_.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"1dd3e9ac-ee33-5abc-bb9d-77ba0c05dbf2","fields":{"slug":"/blog/java-vs-javascript-whats-the-difference/"},"frontmatter":{"title":"Java vs. JavaScript: what's the difference? ","job":null,"photo":null,"cover":"/img/java-vs-java-script.jpg","templateKey":"article-page","settings":{"date":"March 01, 2019","slug":"java-vs-javascript-what-is-the-difference","type":"blog","category":"Tech"},"contributor":"Grzegorz Kukla","box":{"content":{"title":"See the main differences between Java and JavaScript","tags":null,"clientLogo":null,"coverImage":"/img/javascript-vs-java.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"7c10cc73-8a0f-5ada-aec9-f06400ee6913","fields":{"slug":"/blog/machine-learning-obstacles-and-limitations/"},"frontmatter":{"title":"Machine learning - obstacles and limitations","job":null,"photo":null,"cover":"machine_learning_b.png","templateKey":"article-page","settings":{"date":"March 03, 2019","slug":"machine-learning-obstacles-and-limitations","type":"blog","category":"Strategy"},"contributor":"Jonathan Wooddin","box":{"content":{"title":"See the real power of Machine Learning","tags":null,"clientLogo":null,"coverImage":"machine_learning_b.png"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"a179fdd9-84ab-5f5d-9673-c344c54057e0","fields":{"slug":"/blog/how-to-use-javascript-classes-three-different-ways/"},"frontmatter":{"title":"How to use JavaScript Classes? Three Different Ways","job":null,"photo":null,"cover":"/img/dev-team-at-work2.jpg","templateKey":"article-page","settings":{"date":"March 21, 2019","slug":"how-to-use-javascript-classes","type":"blog","category":"Tech"},"contributor":"Sebastian Musiał","box":{"content":{"title":"How to use JavaScript Classes? Three Different Ways","tags":null,"clientLogo":null,"coverImage":"/img/dev-team-at-work-cover.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"cc9ad27c-1e05-5a65-b6b8-fd0fa0fe3340","fields":{"slug":"/work/case-study-sonnen-customer-portal/"},"frontmatter":{"title":"Visualising Energy","job":null,"photo":null,"cover":"/img/sonnen-web-app-mockup.jpg","templateKey":"case-study-page","settings":{"date":"June 05, 2018","slug":"case-study-sonnen","type":"work","category":"Case Study"},"contributor":"Karolina Kołodziej","box":{"content":{"title":"Visualising Energy","tags":["ReactJS","MVP"],"clientLogo":"/img/sonnen-logo.png","coverImage":"/img/sonnen-case-study-boldare-min.jpg"},"settings":{"tileColor":"white","textColor":"black","link":"/work/case-study-sonnen/"},"type":"CASE_STUDY"}}}},{"node":{"excerpt":"","id":"3914c4ff-8699-5b32-8b57-338e0a21a76c","fields":{"slug":"/blog/wondering-about-viability-let-impact-mapping-reassure-you/"},"frontmatter":{"title":"Wondering about viability? Let impact mapping reassure you","job":null,"photo":null,"cover":"/img/team-meeting-in-apollo.jpg","templateKey":"article-page","settings":{"date":"July 06, 2018","slug":"build-product-that-make-impact","type":"blog","category":"How to"},"contributor":"Natalia Kolińska","box":null}}},{"node":{"excerpt":"","id":"8d37b599-7a71-566e-ae63-a2cbd9b38c3f","fields":{"slug":"/blog/5-git-commands-i-wish-i-d-known-about-when-i-started-coding/"},"frontmatter":{"title":"5 Git commands that will make your work smarter","job":null,"photo":null,"cover":"5_useful_git_command.jpg","templateKey":"article-page","settings":{"date":"March 01, 2019","slug":"5-git-commands-that-will-make-your-work-smarter","type":"blog","category":"Tech"},"contributor":"Łukasz Mitusiński","box":{"content":{"title":"Learn super useful Git commands","tags":null,"clientLogo":null,"coverImage":"img/5_Useful_command_cover29.03.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"ba18bf7b-b537-52c3-8689-9abaf926ada0","fields":{"slug":"/blog/the-new-dawn-of-functional-reactive-programming-in-node-js-marble-js/"},"frontmatter":{"title":"The New Dawn of functional reactive programming in Node.js - Marble.js 2.0","job":null,"photo":null,"cover":"/img/marble_fb.png","templateKey":"article-page","settings":{"date":"March 12, 2019","slug":"functional-reactive-programming-nodejs-marblejs","type":"blog","category":"Tech"},"contributor":"Józef Flakus","box":{"content":{"title":"The New Dawn of functional reactive programming in Node.js - Marble.js 2.0","tags":null,"clientLogo":null,"coverImage":"/img/marble.js-2.0-2-.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"d3068389-ad96-565d-9537-85d7499f1df0","fields":{"slug":"/blog/python-vs-c-sharp-detailed-comparison/"},"frontmatter":{"title":"Python vs C# - a detailed comparison","job":null,"photo":null,"cover":"/img/python-vs-c-_cover-duz-y-2x.jpg","templateKey":"article-page","settings":{"date":"March 13, 2019","slug":"python-vs-c-sharp-a-comparison","type":"blog","category":"Tech"},"contributor":"Krzysztof Miczkowski","box":{"content":{"title":"Python vs C# - a detailed comparison","tags":null,"clientLogo":null,"coverImage":"/img/python-vs-c-_miniatura-2x.jpg"},"settings":null,"type":"BLOG"}}}},{"node":{"excerpt":"","id":"aaa6ddb7-41d7-5322-a719-642d4ec9a332","fields":{"slug":"/work/how-to-test-a-business-idea-with-minimum-cost-time-and-effort/"},"frontmatter":{"title":"How to test a business idea with minimum cost, time and effort","job":null,"photo":null,"cover":"/img/lean-startup-moodboard.jpg","templateKey":"case-study-page","settings":{"date":"July 18, 2018","slug":"case-study-boldare","type":"work","category":"Case Study"},"contributor":"Karolina Kołodziej","box":{"content":{"title":"How to test a business idea with minimum cost, time and effort","tags":["Lean Startup","MVP","ReactJS"],"clientLogo":null,"coverImage":null},"settings":{"tileColor":"yellow","textColor":"black","link":"/work/case-study-boldare/"},"type":"CASE_STUDY"}}}},{"node":{"excerpt":"","id":"7e0e1169-5c9d-5504-a3c6-bdff665380e7","fields":{"slug":"/blog/scaling-your-product-thriving-in-the-market/"},"frontmatter":{"title":"Scaling Your Product – thriving in the market","job":null,"photo":null,"cover":"/img/ionoview-web-app-mockup.jpg","templateKey":"article-page","settings":{"date":"September 12, 2018","slug":"scaling-your-product-thriving-in-the-market","type":"blog","category":"Digital Product"},"contributor":"Dave Foxall","box":{"content":{"title":"Scaling Your Product","tags":null,"clientLogo":null,"coverImage":"/img/ionoview-web-app-mockup.jpg"},"settings":null,"type":null}}}},{"node":{"excerpt":"","id":"b5d246ec-f16d-5e88-aacf-fbfd7fcc38a8","fields":{"slug":"/blog/how-machine-learning-is-boosting-businesses/"},"frontmatter":{"title":"How machine learning is boosting businesses","job":null,"photo":null,"cover":"/img/developers-working-on-machine-learning.jpg","templateKey":"article-page","settings":{"date":"September 12, 2018","slug":"how-machine-learning-is-boosting-businesses","type":"blog","category":"Future"},"contributor":"Dave Foxall","box":{"content":{"title":"Artificial Intelligence: the next digital frontier","tags":null,"clientLogo":null,"coverImage":"/img/developers-working-on-machine-learning-algoritm.jpg"},"settings":null,"type":null}}}},{"node":{"excerpt":"","id":"65930467-2328-534f-aa46-090ceb6c826c","fields":{"slug":"/blog/what-are-design-sprints/"},"frontmatter":{"title":"What are design sprints?","job":null,"photo":null,"cover":"/img/lean-startup-moodboard.jpg","templateKey":"article-page","settings":{"date":"September 12, 2018","slug":"what-are-design-sprints","type":"blog","category":"Digital Product"},"contributor":"Dave Foxall","box":{"content":{"title":"What are design sprints?","tags":null,"clientLogo":null,"coverImage":"/img/lean-startup-moodboard.jpg"},"settings":null,"type":null}}}},{"node":{"excerpt":"","id":"0c153fd2-b6cb-5b8a-8b39-adaf355814cc","fields":{"slug":"/career/javascript-developer-gliwice/"},"frontmatter":{"title":"JavaScript Developer Gliwice","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 05, 2018","slug":"javascript-developer-gliwice","type":"career","category":"Technology"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"79d159fe-b91f-57e9-ab54-1bba5d1dcb22","fields":{"slug":"/career/javascript-developer-warszawa/"},"frontmatter":{"title":"JavaScript Developer Warszawa","job":null,"photo":null,"cover":null,"templateKey":"job-offer-page","settings":{"date":"November 05, 2018","slug":"javascript-developer-warszawa","type":"career","category":"Technology"},"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"f8664000-0175-575e-a57b-f0fec19fb5a6","fields":{"slug":"/categories/digital-product/"},"frontmatter":{"title":"Digital Product","job":null,"photo":null,"cover":null,"templateKey":"category-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"aeb35f54-7b85-58ec-8161-46d3a6fd589d","fields":{"slug":"/categories/future/"},"frontmatter":{"title":"Future","job":null,"photo":null,"cover":null,"templateKey":"category-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"f0d198ed-1809-5505-8e7e-a97d2a75a238","fields":{"slug":"/categories/how-to/"},"frontmatter":{"title":"How to","job":null,"photo":null,"cover":null,"templateKey":"category-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"06eefb24-632a-5c1d-a885-32b84016f220","fields":{"slug":"/categories/news/"},"frontmatter":{"title":"News","job":null,"photo":null,"cover":null,"templateKey":"category-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"f07ffebb-bac3-54c3-9c75-e41a29f90c8d","fields":{"slug":"/categories/ideas/"},"frontmatter":{"title":"Ideas","job":null,"photo":null,"cover":null,"templateKey":"category-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"533db729-1580-5a09-9a54-13c2f19965b4","fields":{"slug":"/categories/people/"},"frontmatter":{"title":"People","job":null,"photo":null,"cover":null,"templateKey":"category-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"9edae576-6321-53db-9438-b43635ee49e7","fields":{"slug":"/categories/strategy/"},"frontmatter":{"title":"Strategy","job":null,"photo":null,"cover":null,"templateKey":"category-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"e8f53529-9f9f-5478-beea-c2caf5f888b1","fields":{"slug":"/categories/tech/"},"frontmatter":{"title":"Tech","job":null,"photo":null,"cover":null,"templateKey":"category-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"ad4a22c2-f1f9-5eed-a322-08c0cbfc72b4","fields":{"slug":"/contributors/adam-ziemba/"},"frontmatter":{"title":"Adam Ziemba","job":"Customer Success Guide","photo":"/img/adam-ziemba.png","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"de38694f-459b-5c43-a04d-e017daecf733","fields":{"slug":"/contributors/anna-bil/"},"frontmatter":{"title":"Anna Bil","job":"Product Designer","photo":"/img/ania_bil_blog.png","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"2b26f7a5-7fad-52f7-a597-110764a5b39c","fields":{"slug":"/contributors/anna-skawinska/"},"frontmatter":{"title":"Anna Skawińska","job":"Java Developer","photo":"/img/anna-skawin-ska-java-developer-.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"487500a7-95fa-52ce-b66e-8fbd7390a170","fields":{"slug":"/contributors/anna-zarudzka/"},"frontmatter":{"title":"Anna Zarudzka","job":"Co-CEO of Boldare","photo":"/img/anna-zarudzka.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"811fb6bd-64da-5b1f-86af-87488bdd2f99","fields":{"slug":"/contributors/claudia-wensierska/"},"frontmatter":{"title":"Claudia Wensierska","job":"Product Designer","photo":"/img/image-from-ios-2-2-.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"1daa2bfc-f4d9-54e8-af4c-26803363f04e","fields":{"slug":"/contributors/dave-foxall/"},"frontmatter":{"title":"Dave Foxall","job":"Blog Editor","photo":"/img/dave-foxall-2-.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"7fb675ae-3ebc-5aae-a81c-5a1d7ece03b0","fields":{"slug":"/contributors/dawid-rogowicz/"},"frontmatter":{"title":"Dawid Rogowicz","job":"Frontend Developer ","photo":"Dawid_Rogowicz.png","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"96148145-77e2-521e-8483-a24d368a85ff","fields":{"slug":"/contributors/grzegorz-kukla/"},"frontmatter":{"title":"Grzegorz Kukla","job":"Java Developer","photo":"/img/grzegorz-kukla.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"ac376421-4cfd-5885-9162-114eaf8a15f3","fields":{"slug":"/contributors/jonathan-wooddin/"},"frontmatter":{"title":"Jonathan Wooddin","job":"Guest Blogger","photo":"Jonathan_Wooddin.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"74b0f21e-659c-5e80-bba2-06603fb3eb65","fields":{"slug":"/contributors/kamil-mizera/"},"frontmatter":{"title":"Kamil Mizera","job":"Content Editor-in-Chief","photo":"/img/kamil-mizera-.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"8fd24eb6-db34-56ea-bcd4-5492c800964d","fields":{"slug":"/contributors/kacper-geisheimer/"},"frontmatter":{"title":"Kacper Geisheimer","job":"JavaScript Developer","photo":"Kacper_Geisheimer_JavaScript_Developer.png","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"be6c3e0b-6fbf-5517-99c8-650f78c63b1f","fields":{"slug":"/contributors/kamil-mikosz/"},"frontmatter":{"title":"Kamil Mikosz","job":"Frontend Developer","photo":"/img/kamil-mikosz.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"ab98f2af-26b1-50c1-a372-8f9059cff184","fields":{"slug":"/contributors/jozef-flakus/"},"frontmatter":{"title":"Józef Flakus","job":"Senior JavaScript Developer","photo":"/img/20840986_1453742828012914_5601588540288690596_n.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"ebd2adc5-39b1-5a8e-9cfa-cca58c133b21","fields":{"slug":"/contributors/karolina-kolodziej/"},"frontmatter":{"title":"Karolina Kołodziej","job":"Communications Manager","photo":"/img/karolina-kolodziej.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"06e843fa-c803-5d46-b8da-3392606c180b","fields":{"slug":"/contributors/lukasz-mitusinski/"},"frontmatter":{"title":"Łukasz Mitusiński","job":"Java Developer","photo":"Lukasz_Mitusinski_Java_Developer.png","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"c285c3f7-5108-5295-a238-b4d2bc4107d8","fields":{"slug":"/contributors/krzysztof-miczkowski/"},"frontmatter":{"title":"Krzysztof Miczkowski","job":".NET developer","photo":"/img/wp_20150704_002-2-.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"7fe90594-3623-5803-b924-3440cd3cb887","fields":{"slug":"/contributors/mariusz-bak/"},"frontmatter":{"title":"Mariusz Bąk","job":"Senior Software Developer ","photo":"/img/1810317.png","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"23fe696e-bdd9-5db5-97e5-7c415a90f53a","fields":{"slug":"/contributors/marcin-brach/"},"frontmatter":{"title":"Marcin Brach","job":"JavaScript Developer at Boldare","photo":"/img/marcin-brach.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"3c39dd75-dc4d-5085-ab47-49eedb24d940","fields":{"slug":"/contributors/mateusz-grzesiukiewicz/"},"frontmatter":{"title":"Mateusz Grzesiukiewicz","job":"Senior JavaScript Developer ","photo":"/img/mateusz-grzesiukiewicz.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"1166809c-2652-55ff-a9a9-d35c5ff10b32","fields":{"slug":"/contributors/mateusz-koscielak/"},"frontmatter":{"title":"Mateusz Kościelak","job":"Direct Marketing Lead","photo":"/img/mateusz-koscielak.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"88a52405-13b1-51d6-90dd-dd1f2b4a8c89","fields":{"slug":"/contributors/natalia-kolinska/"},"frontmatter":{"title":"Natalia Kolińska","job":"QA Business Analyst","photo":"/img/natalia-kolinska.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"159c6e0d-8b74-571e-b355-120ec5a6e00a","fields":{"slug":"/contributors/mateusz-wycislik/"},"frontmatter":{"title":"Mateusz Wyciślik","job":"Machine Learning/Python developer","photo":"/img/prof_sqr.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"3e951423-0b04-53b7-afb7-e787c02cc143","fields":{"slug":"/contributors/patrycja-kasperkiewicz/"},"frontmatter":{"title":"Patrycja Kasperkiewicz","job":"Office Coordinator","photo":"/img/patrycja-kasperkiewicz.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"424b273f-f67e-515f-84cd-eeae16915cfb","fields":{"slug":"/contributors/pawel-kaiser/"},"frontmatter":{"title":"Paweł Kaiser","job":"Customer Success Guide ","photo":"/img/pawelkaiser.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"7e7643bb-e010-5f35-aadb-341b15aa453e","fields":{"slug":"/contributors/pawel-krynicki/"},"frontmatter":{"title":"Paweł Krynicki","job":"Senior PHP Developer","photo":"/img/paweł-krynicki.jpeg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"91ebd35e-d1c1-5a34-8844-03cfcba5816d","fields":{"slug":"/contributors/radek-grabarek/"},"frontmatter":{"title":"Radek Grabarek","job":"Guest Blogger","photo":"/img/radek-portret-800.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"9cfe40f6-01b4-55c9-b937-fafd7bd7bf34","fields":{"slug":"/contributors/piotr-majchrzak/"},"frontmatter":{"title":"Piotr Majchrzak","job":"CEO","photo":"/img/piotr-majchrzak.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"28ee12d9-7f00-5e75-adce-539ff4326637","fields":{"slug":"/contributors/sebastian-musial/"},"frontmatter":{"title":"Sebastian Musiał","job":"Senior JavaScript developer","photo":"/img/_musial.png","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}},{"node":{"excerpt":"","id":"99f1dc20-b1c5-507f-b4a6-7e24c1f8f3f5","fields":{"slug":"/contributors/tomasz-konieczny/"},"frontmatter":{"title":"Tomasz Konieczny","job":"QA Engineer","photo":"/img/tomasz-konieczny.jpg","cover":null,"templateKey":"contributor-page","settings":null,"contributor":null,"box":null}}}]}},"pageContext":{"id":"ba18bf7b-b537-52c3-8689-9abaf926ada0","isCanonical":""}}