{"data":{"markdownRemark":{"id":"8d37b599-7a71-566e-ae63-a2cbd9b38c3f","html":"","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","cover":"5_useful_git_command.jpg","tags":["git","commands"],"lead":"When I started my first project with Git, I learned how to use the basic commands that are listed in any tutorial. And I stuck with those for some time, because what else can you use Git for?","content":[{"body":"This is a common problem - a lack of detailed knowledge of how a solution can be used. I spent too much time trying to fix up failed merges, checking a list of parameters for some commands over and over again, and in long debug sessions that would be a lot easier and shorter with Git.\n\nI’ve made a list of 5 Git commands that are real life savers and I hope that some of them will help you to save your precious time.\n\n## 1. Bisect to the rescue!\n\nOnce in a while, you will find yourself in an annoying situation when one of the features in your app no longer works. Furthermore, after a brief investigation you are sure that none of the related code has been changed so that isn’t the cause of the malfunction. Your next option is probably a tedious debugging process, dealing with tons of code that may not even be related to the problem.\n\nThe good news is that Git offers a great debugging tool for this specific situation: git bisect.\n\nSo, what Git can do for you? It simply finds the particular commit that introduced the error. Our hero is called “bisect” because it carries out a binary tree search. Your role in whole process is to check whether the commit does contain an error or if the code is working fine.\n\n### Debugging with Git\n\nAt the beginning, you need to mark the current commit as “bad”, and mark the last commit that resulted in a fully functional feature as “good”. After that Git will pick a commit between these two and it's up to you to check whether this one is buggy or contains a working feature. It will recursively narrow the range as long as there is more than one commit left – the one you’re looking for.\n\nOf course it’s not only a valuable tool for tracing bugs, but will also help you to find the exact commit for any change in general.\n\nStart bisect and mark current commit as “bad”:\n\n`$ git bisect start\t\t\t\n$ git bisect bad`\n\nFind the latest commit that was bug-free, for example you can use git log with the –grep parameter to search for a commit with the feature name. After that you can mark the last commit that was working fine using its hash:\n\n`$ git log --oneline --all --grep='commit without bug'\t\n\td151996 commit without bug\n$ git bisect good d151996\n\tBisecting: 3 revisions left to test after this (roughly 2 steps)\n\t[15cfda61715d2d901ab7540078643e146b443dc6] \tsome commit 6`\n\nGit is now in bisect mode, at this moment you are working on the  commit selected by Git from the range between commits marked as good and bad. Also, you will be provided with short info about how many commits are in the range and the number of steps to find the error.\n\nRun your tests, and mark the commits as good or bad according to your results.\n\n`$ git bisect bad\t\n\tBisecting: 1 revision left to test after this (roughly 1 step)\n\t[33023a856796c74c12915b55434f88d7602c555a] some commit 4\t\n$ git bisect good\n\tBisecting: 0 revisions left to test after this (roughly 0 steps)\n\t[1c307570ac1b424fa58ea83c5dde3cd7316a3438] some commit 5\n$ git bisect good\n\t15cfda61715d2d901ab7540078643e146b443dc6 is the first bad commit\n\tcommit 15cfda61715d2d901ab7540078643e146b443dc6\n\tAuthor: User <user@example.com>\n\tDate: Wed Mar 13 15:25:20 2019 +0100\n\t\tcommit 6`\n\nAfter you find the right commit, you can get back to your previous branch state with:\n\n`$ git bisect reset`\t\n\n### Set appropriate tags for marked branches\n\nSometimes it may be a little bit confusing to call commits either “bad” or “good” especially if we are just searching for a change in the application. \n\nIn this case, you can use “old” and “new” instead, or even include your own marks for clarity. Let’s assume that we want to track a commit where one of the project dependencies changed, we can mark old and new commits using more accurate names to make it easier to properly mark each commit:\n\n`$ git bisect start --term-old spring4 --term-new spring5\t\t\n$ git bisect spring5`\n\n### Run scripts for automatic testing\n\nPerforming tests to verify if the commit under review meets our requirements may take some time. It is possible to introduce automation to the process with the “run” command. For each iteration, Git will run the given command and mark commits as good or bad according to the script return code.\n\nLet’s consider this scenario: after pulling the latest commits from the repository you are no longer able to build your application. Maybe you need to tweak a configuration of your local environment? The easy way to find the exact cause may be to mark the last commit you were working on as “old” and the latest one as “new”. After that you can just use the run command to find the last working build for you:\n\n`$ git bisect start\n$ git bisect bad\n$ git bisect good c72ac\n\tBisecting: 3 revisions left to test after this (roughly 2 steps)\n\t[b99f7cb7a35e5d8eb3a6a328ca4419a239b1a9dd] \tNon breaking change 3\n$ git bisect run ./gradlew clean build\n\trunning ./gradlew clean build`\n\nAnd that’s it! Git will now recursively bisect the given commit range and run a clean build for each selected commit. As a result, you’ll be notified of the first commit that is breaking your build.\n\n`576faa87e99fc29d20218529e92a9b652b6de78f is the first bad commit\n...\nbisect run success`\n\n## 2. Undoable things with reflog\n\n_“I broke my repository, what should I do?”_ \n\nI think the first step you need to take in most most cases is to check your reflog.\n\nWhat is that and how is it different from the regular git log?\n\nGit log is supposed to keep track of our commits history. It contains information about branch, author and everything that could be helpful for checking the history and current state of the branch.\n\nAs the name may suggest, reflog keeps information about changes to references. It allows you to check a list of all actions in the local repository. And with that knowledge, we are able to undo a lot of changes that could be very painful to fix, like a deleted local branch. \n\n### Restore deleted branch\n\nGit does its best not to lose any data, so you should be still able to restore your lost work. Check your reflog to find the latest commit for the deleted branch; it should be marked with a commit hash. You can use it to create a new branch based on that commit and merge it or continue with further development.\n\n`$ git reflog\n\t949bea0 (HEAD -> master) HEAD@{0}: checkout: moving from feature-branch to    \tmaster\n\t2e373ae HEAD@{1}: commit: changes from feature branch\n\t949bea0 (HEAD -> master) HEAD@{2}: checkout: moving from master to \t\tfeature-branch\n$ git checkout -b restored-feature-branch 2e373a\n\tSwitched to a new branch 'restored-feature-branch'`\n\n### Split commit after using amend\n\nTo take another case, let's assume that you have done some work on a feature branch and instead of creating a new commit you amended it for the previous one. For the sake of keeping a clean Git history, you want to split the commit into two separate ones. Simply check in reflog for the reference to the state before the amendment and do a soft reset. As a result, you will have amended changes staged and waiting to be committed separately to our repository:\n\n`$ git log --oneline -n 2\n\t82de5a6 (HEAD -> master) new feature\n \t949bea0 some changes in master branch\n$ git reflog\n\t82de5a6 (HEAD -> master) HEAD@{0}: commit (amend): new feature\n\ted8b56f HEAD@{1}: commit: new feature\n$ git reset --soft HEAD@{1}\n$ git commit -m 'another feature'\n\t[master b2c24b0] another feature\n\t1 file changed, 1 insertion(+)\n$ git log --oneline -n 2\n\tb2c24b0 (HEAD -> master) another feature\n\ted8b56f new feature`\n\n### Revert rebase operation\n\nThis works the same for reversing git rebase. After carrying out a rebase we find our commits attached at the end of the base branch. Basically, you can use reflog to check the last state before the rebase and use a hard reset to restore the previous state.\n\n`$ git log --oneline -n 2\n\t64eef74 (HEAD -> feature-branch) code from feature branch\n\ta4e78e2 (master) new code in master branch\n$ git reflog\n\t64eef74 (HEAD -> feature-branch) HEAD@{0}: rebase finished: returning to \t\trefs/heads/feature-branch\n\t64eef74 (HEAD -> feature-branch) HEAD@{1}: rebase: code from feature branch\n\ta4e78e2 (master) HEAD@{2}: rebase: checkout master\n\t1ecb24d HEAD@{3}: checkout: moving from master to feature branch\n\ta4e78e2 (master) HEAD@{4}: commit: new code in master branch\n$ git reset --hard HEAD@{3}\n\tHEAD is now at 1ecb24d code from feature branch\n$ git log --oneline -n 2\n\t1ecb24d (HEAD -> feature-branch) code from feature branch\n\tb2c24b0 another feature`\n\nOf course this works not only for rebase but also for merge, reset and so on!\n\n### ORIG_HEAD\n\nOne last but not least useful trick: as long as you have not carried out any further operations on your branch, you can easily bring up the previous state without searching for the right reference in reflog. All complicated operations like the above mentioned rebase or reset will set the reference ORIG_HEAD to its previous HEAD state, so you can simply revert almost everything with:\n\n`$ git reset --hard ORIG_HEAD \n\tHEAD is now at 1ecb24d code from feature branch`\n\n## 3. Git Stash\n\nSometimes you need to change your focus from the task you are working on to something with a higher priority. When the work has not yet been finished or would even cause the project in its current state to crash, you don’t want to commit that into your branch. Of course, you can create a temporary commit or branch and bring it back after you finish working on the urgent hotfix but it’s not very convenient. Git offers a great feature for stashing your code without unnecessary effort.\n\n### Keep your uncommitted changes\n\nGit stash basically creates a record of your current changes and brings back the clean branch. After that, you can safely check out other branches or start working from the beginning on the current one. It can be also useful when you want to try a different approach for solving a problem and want to be sure that the previous solution can be easily restored. Simply use git stash (which is just a short form of git stash push) to store changes and display everything stored in stash with git stash list.\n\n`$ git stash\n\tSaved working directory and index state WIP on master: a4e78e2 new code in \t\tmaster branch\n$ git stash -u -m'untracked files'\n\tSaved working directory and index state On master: untracked files\n$ git stash list\n\tstash@{0}: On master: untracked files\n\tstash@{1}: WIP on master: a4e78e2 new code in master branch`\n\n### Restore your stashed code whenever you want\n\nRestoring your code is also very simple. There are two possible ways for bringing back your changes. the first one is to use git stash pop stash{0} – this will restore your latest stash. Instead of 0 you can use any stash reference. If you don't use a reference, Git will pick up the latest one by default. Alternatively, you can restore changes with git stash apply stash{0}; the reference is also optional for this command. The difference between these two is that pop not only applies changes but also removes them from the stash list. \n\nYou can remove a single stashed record with git stash drop, or remove all records at once with git stash clear.\n\n`$ git stash list\n\tstash@{0}: On master: readme\n\tstash@{1}: WIP on master: a4e78e2 new code in master branch\n\tstash@{2}: On master: untracked file\n\tstash@{3}: On master: some code\n$ git stash pop\n\t...\n\tDropped refs/stash@{0} (9523d8c55a84e6aceb05346e2d42d1a6166f4bf4)\n$ git stash list\n\tstash@{0}: WIP on master: a4e78e2 new code in master branch\n\tstash@{1}: On master: untracked file\n\tstash@{2}: On master: some code\n$ git stash pop stash@{2}\n\t...\n\tDropped stash@{2} (9c829eace30f94c39a7eafc250494e2df4306c1c)\n$ git stash list\n\tstash@{0}: WIP on master: a4e78e2 new code in master branch\n\tstash@{1}: On master: untracked file\n$ git stash apply stash@{1}\n\t...\n$ git stash list\n\tstash@{0}: WIP on master: a4e78e2 new code in master branch\n\tstash@{1}: On master: untracked file\n$ git stash drop stash@{1}\n\tDropped stash@{1} (bf0271ac3b38f29556df9af2e39564635b6dac85)\n$ git stash list\n\tstash@{0}: WIP on master: a4e78e2 new code in master branch\n$ git stash clear \n$ git stash list\n\t...`\n\n## 4. Undo your changes\n\nActually, this is three Git commands for the price of one. All three are really basic, but for new Git users it can be a little bit confusing which one should be used.\n\n### Revert\n\nThis command reverts the changes introduced by particular commits. This might be a change that introduced some undesirable behavior or something that you only intended to add temporarily. Of course, it can be any other commit that you want to remove for some reason. Type git revert and list all the commits that should be undone. Git will create one commit that will remove all changes introduced by those commits passed as a parameter.\n\n### Reset\n\nThe purpose of reset is to take your branch history back to a particular commit. It can also be used to remove changes that have not been committed yet. Git reset can be executed in three different modes:\n\n`$ git reset –soft`\n\nThis one will reset the HEAD to a particular commit, but all changes will remain in the staging area. This means that these changes are ready to be committed again.\n\n`$ git reset –mixed`\n\nThis is the default mode, it’s not required to pass parameters. Changes will not be staged after reset, but will be kept in the work tree, so you can manually pick which files you want to stage and commit.\n\n`$ git reset --hard \n\tHEAD is now at ee1164c last commit`\n\nIf you want to discard all changes without preserving data in the working tree, use –hard mode.\nYou don't need to point to an exact commit to perform this reset, you can also use a reference relative to current the HEAD.\n\nTo reset the last commit:\n\n`$ git reset HEAD^\n\tUnstaged changes after reset:\n\tM\tfile_changed_in_last_commit`\n\nTo reset the last three commits:\n\n`$ git reset HEAD~3\n\tUnstaged changes after reset:\n\tM\tfile_changed_in_last_commit\n\tM\tfile_changed_two_commits_ago\n\tM\tfile_changed_three_commits_ago`\n\nIf you don't provide a commit hash or a reference, the reset will affect only your current staging area. Soft reset won’t change anything in that case, mixed will remove changes from the staging area, and finally hard will discard all changes that have not been committed yet.\n\nAnd if the reset goes wrong you can always count on _ORIG_HEAD_ and reflog.\n\n### Clean\n\nThis third one is used for cleaning the working directory. It will remove all untracked files, but will preserve all repository files.\n\n``$ git status\n\tOn branch master\n\tUntracked files:\n\t  (use \"git add <file>...\" to include in what will be committed)``\n\n\t\tuntracked_file\n\t\tuntracked_file_2\n\n\tnothing added to commit but untracked files present (use \"git add\" to track)\n``$ git clean -f\n\tRemoving untracked_file\n\tRemoving untracked_file_2``\n\nThere is bunch of useful parameters that makes clean more powerful. For example you can remove all untracked and ignored files excluding jar archives (-x for including -e for an exclude pattern):\n\n``$ ls\n\tapp.jar  app.war  code  untracked_file\n$ git status\n\tOn branch master\n\tUntracked files:\n\t  (use \"git add <file>...\" to include in what will be committed)``\n\n\t\tuntracked_file\n\n\tnothing added to commit but untracked files present (use \"git add\" to track)\n``$ git clean -f -x -e'*.jar'\n\tRemoving app.war\n\tRemoving untracked_file\n$ ls\n\tapp.jar  code``\n\n## 5. Git Aliases\n\nAnother thing that can be very useful on a daily basis are Git aliases. If you often use the same set of Git commands, especially with long sets of parameters, you can make life much easier by setting up aliases for them.\n\n### How to set up an alias\n\nTo set up an alias you need to use git config and provide an alias name and the command that should be executed:\n\n``$ git config --global alias.unstage 'reset HEAD --'``\n\nYou can list all available aliases with get-regexp config parameter:\n\n``$ git config --get-regexp alias\n\talias.unstage reset HEAD --``\n\n### Some additional examples\n\nAdd changes to the last commit without changing its message:\n\n``$ git config --global alias.amend 'commit --amend --no-edit'\n$ git amend\n\t[master ca43c17] add file\n\tDate: Thu Mar 14 12:14:34 2019 +0100\n\t1 file changed, 0 insertions(+), 0 deletions(-)\n\tcreate mode 100644 file``\n\nDisplay a readable graph of Git history:\n\n``$ git config --global alias.graph 'log --all --decorate --oneline --graph'\n$ git graph``\n\t* 868aa22 (feature-branch) feature\n\t| * ca43c17 (HEAD -> master) add file\n\t|/  \n\t* cdc896b add git ignore\n\t* af1e063 initial commit\n\nOf course, you can also add an alias for listing all aliases:\n\n``$ git config --global alias.aliases 'config --get-regexp alias'\n$ git aliases\n\talias.unstage reset HEAD --\n\talias.amend commit --amend --no-edit\n\talias.graph log --all --decorate --oneline --graph``\n\n## Master your Git commands\n\nSome of the Git commands listed above are not ones you use on a daily basis but knowing about their existence and what they can do will certainly pay off. Some of them are more commonly used but if you don’t know their full possibilities, you will not be able to take full advantage of the potential of Git. I think that mastering our Git skills is very underestimated, given it is one of the most commonly used basic tools for any programmer.\n\n","fullwidthImage":{"image":"","alt":"","comment":null}}],"settings":{"date":"2019-03-01T10:14:10.290Z","category":"Tech","metaDescription":"Git is, without a doubt, one of the most useful tools for every developer. See 5 handy commands to make it even more efficient in your daily work.  ","metaTitle":"See 5 useful Git commands to make your work smarter","related":[{"title":"System Story – the little sentence that builds big things"},{"title":"TOP 3 products we've built in PHP – challenges and conclusions"},{"title":"Converter pattern in Java 8"}],"slug":"5-git-commands-that-will-make-your-work-smarter","canonical":""},"contributor":"Łukasz Mitusiński","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":"8d37b599-7a71-566e-ae63-a2cbd9b38c3f","isCanonical":""}}