Petricore
Cloud-based app ecosystem


About the client
Petricore Group is a provider of oil industry quality services extending from the initial well-site operations through the life of the reservoir. It’s an international company with offices in the USA, Mexico, the United Arab Emirates, and Norway. Digitizing their processes and developing digital products for their employees are two of the biggest opportunities for Petricore to optimize how the company operates.
The challenge
Petricore needed to design and build a secure-by-design network of cloud services that improves communication, optimizes operations and moves all of the data to the cloud. Making their people’s life easier quickly required hiring a team with expertise and vast technological experience as it wasn’t possible to build complex cloud-based solutions internally.


The solution
We designed, proposed and deployed a research and innovation plan. We needed to make the product quick to develop and scalable. We went with Ruby and React for speed of development and hosted everything on Google Cloud Platform to ensure stability and scalability. The apps needed to be capable of handling huge file sizes and complex data visualization to make the tool serve its users as best as possible.

Moving a brick-and-mortar process to the cloud across 3 continents? Gotcha.
Results
The first tool we’ve built is called CT Viewer and it’s used for handling Computed Tomography scans of rock samples. Building it meant supporting and adjusting numerous versions of calculations for mapping the density of soil samples using Machine Learning. Then we’ve built Petricloud — a research collaboration tool and a cloud repository for lab data to streamline scientists’ communication. We had to understand the whole geo-research process, map out the information flows and find a way to optimize the client’s collaboration processes. The tool we built — PetriCloud — makes scientific collaboration across three continents seamless and lightning-fast.



Devil is in the details
All along the design process we had to keep in mind that the apps we were creating would be a part of a larger ecosystem. We had to make sure the solutions and design patterns can be reusable throughout the system.



When working on the project we focused on using the most recent technology pieces.
We needed to focus on handling heavy loads of data on the backend, keeping the platform stable at all times and creating a seamless user experience. The Petricore technology stack is:
- Ruby on Rails
- React
- PostgreSQL
- Google Cloud Platform
- Sendgrid (notifications)
- Rollbar (error tracking software)
- GitHub (code review)
- Cloudflare (Protection)
- CircleCI (Integration)
Conversation is one of our most important values and a habit we support at every stage of our development process. Conversation is executed through digital tooling so the context is never lost. We use Slack for chat, Jira for planning, and Github for code reviews and discussion.