{"componentChunkName":"component---src-templates-case-study-js","path":"/projects/salus-pro","result":{"data":{"contentfulProject":{"slug":"salus-pro","heading":"Salus Pro","subHeading":"From MVP to Safety Management Software Built For The Construction Industry","link":"https://salussafety.io/","description":{"json":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Business Overview","nodeType":"text"}],"nodeType":"heading-3"},{"data":{},"content":[{"data":{},"marks":[],"value":"Salus Pro is field-level construction safety software, it provides digital forms, certificate tracking, document management and more to the workers in the field. Because the data is getting entered by field-level employees, management gets the data they need in real-time to keep their crews compliant with local safety boards.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Problem","nodeType":"text"}],"nodeType":"heading-3"},{"data":{},"content":[{"data":{},"marks":[],"value":"In construction, the current processes at the field-level for safety documentation is paper-based. So companies count on workers filling out the paperwork, filing it correctly in their site trailer, safety officers reviewing the submitted paperwork and reporting back to management if crews are negligent.\nThe above process is slow, outdated and relies on multiple parties to get the data/information back to management. Often it is too late for the management team to track trends and to make the necessary changes if they are required.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Recommended Solution","nodeType":"text"}],"nodeType":"heading-3"},{"data":{},"content":[{"data":{},"marks":[],"value":"Build out a mobile MVP with a small core feature set of digital forms, document management, certification management, and notifications.\nThe main focus would be on providing the tools that workers need in the field and making sure that the app was simple enough for any user from any walk of life to pick up and use the app easily.\nBy mimicking the current workflow that crews already follow to fill out their paperwork on-site, it would allow for easy user adoption.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"}},"techDescription":{"json":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Technical Stack","nodeType":"text"}],"nodeType":"heading-3"},{"data":{},"content":[{"data":{},"marks":[],"value":"Mobile Development","nodeType":"text"}],"nodeType":"heading-4"},{"data":{},"content":[{"data":{},"marks":[],"value":"We chose to develop in the native language for each device because we wanted the snappiness, platform-specific user experience. This does hace the downfall of maintaining two different codebases.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Languages/Frameworks","nodeType":"text"}],"nodeType":"heading-5"},{"data":{},"content":[{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"iOS Swift","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"list-item"},{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Java Android ","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"list-item"}],"nodeType":"unordered-list"},{"data":{},"content":[{"data":{},"marks":[],"value":"Web Development","nodeType":"text"}],"nodeType":"heading-4"},{"data":{},"content":[{"data":{},"marks":[],"value":"Vue was chosen due to its easy adoption for new developers, the framework also allows developers to build complex user interfaces using the MVVM architecture.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Languages/Frameworks","nodeType":"text"}],"nodeType":"heading-5"},{"data":{},"content":[{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Vue.js","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"list-item"},{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Vuetify ","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"list-item"}],"nodeType":"unordered-list"},{"data":{},"content":[{"data":{},"marks":[],"value":"Backend Development","nodeType":"text"}],"nodeType":"heading-4"},{"data":{},"content":[{"data":{},"marks":[],"value":"Sails.js is a framework built on top of express providing tooling for rapid development on the Node runtime. Postgres is an opensource database that provides traditional relational database management along with JSON data types.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Languages/Frameworks","nodeType":"text"}],"nodeType":"heading-5"},{"data":{},"content":[{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Node","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"list-item"},{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Sails.js","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"list-item"},{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"PostgresDB","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"list-item"}],"nodeType":"unordered-list"},{"data":{},"content":[{"data":{},"marks":[],"value":"Cloud Infrastructure","nodeType":"text"}],"nodeType":"heading-4"},{"data":{},"content":[{"data":{},"marks":[],"value":"AWS provided all the tooling that was required for the project and the development team was also comfortable with the platform.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Languages/Frameworks","nodeType":"text"}],"nodeType":"heading-5"},{"data":{},"content":[{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"EC2","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"list-item"},{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"S3","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"list-item"},{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"RDS","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"list-item"},{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"API Gateway","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"list-item"}],"nodeType":"unordered-list"},{"data":{},"content":[{"data":{},"marks":[],"value":"Result","nodeType":"text"}],"nodeType":"heading-3"},{"data":{},"content":[{"data":{},"marks":[],"value":"The Salus Pro MVP app was released Dec. 2018 to 5 clients that were willing to work with the team and provide feedback on the product. In another article, we will explain how Salus Pro got into a feedback loop, allowing the development team can make significant changes quickly based on customer requests and suggestions.","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"}},"largeMockup":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAMAAADOQy/fAAABy1BMVEVQUUxGRT9DQz1KS0ZAQTs/PThAPTZXWFJWV1JSUk9CQTwyMCtWVFF9fXx5eHVUU1AsKyYwMjFRUk1SU05TU05HRj84NC5CQjxGRkE9OjRAOzJaWlRnZ2NjY15KR0A2MimCgoWDhIiDg4iIiIsyMSwvLytSUkyHh4N8e3Z6eHRiYV1FRD9APjhAOS1gXVViV0ZqZ2BYVE1FQTjg4Nzr6+zx8fHq6uovLikxMCuEg357eXRoZmF8fHiFhIF+fXdIQzhkYFZgQjRSQz9kYFhNRzzY2tfk6Onq7e7g4eEtKyUzMStPT0lQUEtRT0pOTEVGRD5KR0JIRkBEQTlEPjNXUUlZLhs4KBpbVk9TTUCCi4+EoauPj5BxgYo0MSs9OTNOTUhDQDo+OjRIR0JJSENJSEJLSEBRS0BqZFhLNihBMCFtZ1s9NiyPnaWYpq2Jm5+qq6kyLiYzLyZSUUpLSkRMSkVCPzhDQTlMTERDQDlMSD9SSz9yaVo7KR0uHhNsYFFMQzfl5uL19fXx8O5HQTU2MCdUUUdNSkFLRz5BPDFOSkBFQTZNST1SS0BQRzprYU9FNCZGNCVOQDJgVENeX2AwMDYuLjVhY2EvLCQ6NCk+gTIvAAAACXBIWXMAABcRAAAXEQHKJvM/AAAAB3RJTUUH6AgIEwERrsxc+wAAAC1JREFUCNdjZGBgYMQAQphCjCwMwlhEhd5ZYqq0xKZdBIs9LGhGbvHFIpgAIgD+3gPZMieXrQAAAABJRU5ErkJggg==","aspectRatio":2.4531516183986373,"src":"//images.ctfassets.net/c6s7tpevoi2p/3v1yguBcaxxEehNVvuqepP/7829871a91858529dfb37b8d699bca73/Project-Banner_Salus.png?w=800&q=50","srcSet":"//images.ctfassets.net/c6s7tpevoi2p/3v1yguBcaxxEehNVvuqepP/7829871a91858529dfb37b8d699bca73/Project-Banner_Salus.png?w=200&h=82&q=50 200w,\n//images.ctfassets.net/c6s7tpevoi2p/3v1yguBcaxxEehNVvuqepP/7829871a91858529dfb37b8d699bca73/Project-Banner_Salus.png?w=400&h=163&q=50 400w,\n//images.ctfassets.net/c6s7tpevoi2p/3v1yguBcaxxEehNVvuqepP/7829871a91858529dfb37b8d699bca73/Project-Banner_Salus.png?w=800&h=326&q=50 800w,\n//images.ctfassets.net/c6s7tpevoi2p/3v1yguBcaxxEehNVvuqepP/7829871a91858529dfb37b8d699bca73/Project-Banner_Salus.png?w=1200&h=489&q=50 1200w,\n//images.ctfassets.net/c6s7tpevoi2p/3v1yguBcaxxEehNVvuqepP/7829871a91858529dfb37b8d699bca73/Project-Banner_Salus.png?w=1600&h=652&q=50 1600w,\n//images.ctfassets.net/c6s7tpevoi2p/3v1yguBcaxxEehNVvuqepP/7829871a91858529dfb37b8d699bca73/Project-Banner_Salus.png?w=2400&h=978&q=50 2400w,\n//images.ctfassets.net/c6s7tpevoi2p/3v1yguBcaxxEehNVvuqepP/7829871a91858529dfb37b8d699bca73/Project-Banner_Salus.png?w=2880&h=1174&q=50 2880w","sizes":"(max-width: 800px) 100vw, 800px"}},"photoGrid":[{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAMAAAD3n0w0AAABRFBMVEWXwTuawEezzHy1zX+bwEiWvzy6xKNWVllzc3bS0tPR0dKAgIJkZGe5w6SVvj2dopIaGh82Njo3Nzqbn5KVvT3f49vIz+HK0OHR1uXU2uvb4OzU2uzY3tbEz9U8Z+RDa+BXe+Q7ZuNbfeA0YeJcfuKmuNKVvD7M1eBDbOFLcuJfgeRFbeJti+NKceNvjeRKceKxwOCVvT7i5drk5ebr6+vv7+/p6+bn6uHt7e3+/v79/f3p7OHf5dPo6Ojo6On7+/v6+vrl6dve49Ln5+jq6uvn6Ojx8vLi5tjf5dTz9PTm6tzf5NPs7Ozk5OTq6ur5+frh4eLj4+Pp6enw8PDu9N/f59Dg5dTz8/Py8vL09PTs8Obg5dPp6erd4tHe3t7v7/Dx8fHh5tedo5MyMjYbGyAtLTElJSkhISYoKCweICApLiKboJNUSZk1AAAACXBIWXMAABcRAAAXEQHKJvM/AAAAB3RJTUUH6AgIEwERrsxc+wAAAKZJREFUGBkFwdtKAmEAgMH5dn8PJNmBCPKq93+quhcRopCythkAAAAAAAAAQKACy3SFYFWVZarLD4J9UX/MHTFgXVUty3yBAbZV1ffmAgMeq6p2dcSAXRXoCwZ8PhQoMOD0XEGdYMD3ugoCA6yvqzN0DyYwn+cNACbw+zLdAWAC8zzPBxx2YIBdWV4pMIDV+fYdHsAEnL1BwACbbU/wsQcDrKqqm8A/XeEdDwVVgwkAAAAASUVORK5CYII=","aspectRatio":0.896551724137931,"src":"//images.ctfassets.net/c6s7tpevoi2p/4rtdwi980AKgOwHx1r6msB/34cae722fe6e5fc45a6c138b2adb8fac/Project-Grid01_Salus.png?w=800&q=50","srcSet":"//images.ctfassets.net/c6s7tpevoi2p/4rtdwi980AKgOwHx1r6msB/34cae722fe6e5fc45a6c138b2adb8fac/Project-Grid01_Salus.png?w=200&h=223&q=50 200w,\n//images.ctfassets.net/c6s7tpevoi2p/4rtdwi980AKgOwHx1r6msB/34cae722fe6e5fc45a6c138b2adb8fac/Project-Grid01_Salus.png?w=400&h=446&q=50 400w,\n//images.ctfassets.net/c6s7tpevoi2p/4rtdwi980AKgOwHx1r6msB/34cae722fe6e5fc45a6c138b2adb8fac/Project-Grid01_Salus.png?w=800&h=892&q=50 800w,\n//images.ctfassets.net/c6s7tpevoi2p/4rtdwi980AKgOwHx1r6msB/34cae722fe6e5fc45a6c138b2adb8fac/Project-Grid01_Salus.png?w=1040&h=1160&q=50 1040w","sizes":"(max-width: 800px) 100vw, 800px"}},{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAMAAAD3n0w0AAABF1BMVEWXwTubwUi0zn21zn+cwUnD1J7q6urp6enp6erF1aDG1qRCQkYjIycbGyAaGh4nJysuLjErKy8oKCwkJChJSUzH1qY7Oz82NjoaGh8qKi4tLTEcHCDi4uLk5OXu7+/u7u7e5s7////9/f3y8vPd3d7e3t7+/v78/Pzo6Onl5ebs7Ozu7u/09PTz8/Pg4OHe3+Dm5ufj4+Tl5ubr6+zY5Lzh4eHk5OTl5eXw8PDv8unr6+vt7e75+fnx8u/r7O3t7u739/f19fXb3Nzb29zm5ubx8fHw8fHh4eLi4uP7+/vY2Nna2tvZ2drZ2tvj4+Pv7+/6+vrp6uXl6d7l6N7z9uv1+O32+PLA1pKpy1+szWGvz2ivz2fG3JbRLulvAAAACXBIWXMAABcRAAAXEQHKJvM/AAAAB3RJTUUH6AgIEwERrsxc+wAAAMRJREFUGBkFwbFKwwAYBsD70j+pmFYLdWmHurg4+Qi+uU/hJDgJIiiCUFOCIfUOAAAAAICQBADnZlJUAoBkUrRJIkkm2uSkQd/nsj9PzbRamxcodFmyARsZKNT7rgEQFBaHvB0AgkKbcfcH0KFwAv3vKggK1/neJp/9xQgodNnluK5xhKDQJhkGABQqyS1Anin83EQCCBo0bfvSVlVVVQ0oHPd5SAJsUWif5rtMgHsUrh6XXzPABwr7ZB+AvFLoEiQzLPAPQR8mwiwLimQAAAAASUVORK5CYII=","aspectRatio":0.896551724137931,"src":"//images.ctfassets.net/c6s7tpevoi2p/1Gs4QI7wsaTusjWrpTgukf/86f800ccbacd8a43bae28a4734362d1d/Project-Grid02_Salus.png?w=800&q=50","srcSet":"//images.ctfassets.net/c6s7tpevoi2p/1Gs4QI7wsaTusjWrpTgukf/86f800ccbacd8a43bae28a4734362d1d/Project-Grid02_Salus.png?w=200&h=223&q=50 200w,\n//images.ctfassets.net/c6s7tpevoi2p/1Gs4QI7wsaTusjWrpTgukf/86f800ccbacd8a43bae28a4734362d1d/Project-Grid02_Salus.png?w=400&h=446&q=50 400w,\n//images.ctfassets.net/c6s7tpevoi2p/1Gs4QI7wsaTusjWrpTgukf/86f800ccbacd8a43bae28a4734362d1d/Project-Grid02_Salus.png?w=800&h=892&q=50 800w,\n//images.ctfassets.net/c6s7tpevoi2p/1Gs4QI7wsaTusjWrpTgukf/86f800ccbacd8a43bae28a4734362d1d/Project-Grid02_Salus.png?w=1040&h=1160&q=50 1040w","sizes":"(max-width: 800px) 100vw, 800px"}},{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAMAAAD3n0w0AAABF1BMVEWXwTudxEe504G71ITJ3KDx8fHw8PDO3ql3d3csLCwzMzMqKiooKCjp6enk5OTl5eXm5ub09PT////x8vLW3dnQ2dTW4Nr+///29vb19fXz8/P+/v709vXt+/Ls+vL9/v339/fh4eGcnJybm5uHh4fv7+/j5OTh5OPy8vLy8/P09fXy+/bs+vP5+vru7+/8/Pzt8e/f7+bs8+fx9PD9/f3s7OzNzc3Ozs7Kzcy5ysH4+Pj7/vj4/fPi4uKmpqalpaWSkpLz8/T5+fn29fbt7e3m7OnF6NXN3qnc3NyBgYGAgIBtbW3N3ajw8/Hv9fLw9fLt9fDM3Kft8u/0/fjK9N3L3Kfj5uS5vru6v7yytrOxtrPJ2qTq6ups4OXCAAAACXBIWXMAABcRAAAXEQHKJvM/AAAAB3RJTUUH6AgIEwERrsxc+wAAANpJREFUGBkFwc8qRGEAB9Dzm/lud5rUKBYshCzILJU1Kw/hXWfnDSSKyUb+NYtBUbf7XecAAAAAABCSAAAK4wCADArjJAkAFDTJr2kPQGjrRkiSdEDBVhJJpANCO520X2ZJAAp+/EV5Bzt5G4T2cP0Xk1nW2EyyKuhXNvY+H8HHPLdCO89yuptkgFF6oT1L7syTABQYXng6/n4FGMFkjfuXWmut9aTW0J6ZPBhOgaQqXCy2R7/OkwAUmqN1T5MAGRSa5XAwbZqbDlxmoVD2n7tGuUgEroTrAAD8AxdEOr1VoqJmAAAAAElFTkSuQmCC","aspectRatio":0.896551724137931,"src":"//images.ctfassets.net/c6s7tpevoi2p/6JLRuSSFyK4QryswES6Mbf/9b8c327246e8a6ab4108571fb08a80fe/Project-Grid03_Salus.png?w=800&q=50","srcSet":"//images.ctfassets.net/c6s7tpevoi2p/6JLRuSSFyK4QryswES6Mbf/9b8c327246e8a6ab4108571fb08a80fe/Project-Grid03_Salus.png?w=200&h=223&q=50 200w,\n//images.ctfassets.net/c6s7tpevoi2p/6JLRuSSFyK4QryswES6Mbf/9b8c327246e8a6ab4108571fb08a80fe/Project-Grid03_Salus.png?w=400&h=446&q=50 400w,\n//images.ctfassets.net/c6s7tpevoi2p/6JLRuSSFyK4QryswES6Mbf/9b8c327246e8a6ab4108571fb08a80fe/Project-Grid03_Salus.png?w=800&h=892&q=50 800w,\n//images.ctfassets.net/c6s7tpevoi2p/6JLRuSSFyK4QryswES6Mbf/9b8c327246e8a6ab4108571fb08a80fe/Project-Grid03_Salus.png?w=1040&h=1160&q=50 1040w","sizes":"(max-width: 800px) 100vw, 800px"}}]},"allContentfulProject":{"nodes":[{"slug":"salus-pro"},{"slug":"bon-voyage-medical"},{"slug":"mountain-equipment-company"},{"slug":"pei-project-management"},{"slug":"simple-practice"},{"slug":"spud"}]}},"pageContext":{"slug":"salus-pro"}}}