Unified communication apps
Superior mobile app debugging and bug reporting—built by developers, for developers
Shake is DECODE’s sister company. It enables mobile app developers and QA teams all around the world to ship high-quality apps, helping them to understand app behavior in the real world and providing brilliantly structured bug and crash reports so that they can make their applications work better.
Short summary
Industry
Computer Software
Location
Croatia/USA
Timeline
2+ years
Our internally developed mobile app debugging SDK & platform.
The challenge
At DECODE, we’ve always managed to use our time effectively thanks to our streamlined delivery process.
But the average developer spends as much as 70% of their work time looking into software bugs and crashes.
We decided we’d try to distill our process into a spin-off software company that our fellow app developers could benefit from. Shake helps developers so they can always know the cause of a bug.
The solution
For Shake, we delivered the first SDKs for iOS and Android, complete with a powerful dashboard with plenty of features like screen recording, detailed app telemetry, crash reporting and 3rd party integrations like connection to Jira, Asana, and Azure DevOps.
With Shake SDK, every bug report is automatically perfect. Whenever users notice a bug, they just shake their phone to report it, without ever having to leave the app.
Outcome
Web dashboard
From the dashboard, users can manage their Shake account, add team members, change their pricing plan, and view all reported bugs and crashes. It’s interactive too—users can scan all previous events and contact reporters for more info.
Backend solution
Hosted on Amazon Web Services, Shake’s backend is robust and fully scalable. Its main job is to collate all the bug and crash reports from Shake users, before rendering them ready to be viewed on the web dashboard.
SDK for iOS, Android, Flutter and ReactNative
Libraries for mobile developers which can easily be integrated into their own app. Once a tester or a user submits a bug report, Shake records every last detail of it, to help developers fix that bug more efficiently.
Leading edge capabilities
Works seamlessly offline
Users can report bugs using Shake even without an active internet connection. Its ability to capture bugs when offline provides users even more insight into how their apps behave.
Screen recording
A screenshot of a bug report is good. A video of the events before the report is even better. This feature works efficiently and reliably across all mobile platforms.
Scalable & robust with efficient architectural design
Shake plays nicely with all sorts of different apps. We wanted it to be energy efficient as well as robust, with a small memory footprint and low CPU usage.
An intricate tech stack
Bitbucket for testing and quality
Shake stores code on Bitbucket, and uses Bitbucket pipelines to run tests and trigger code quality checks.
Pytest & Behave for test automation
For backend test automation, Shake uses two types of tests: Pytest framework is used for unit tests, while Behave framework is used for Behavior Driven Development (BDD) tests.
Fully hosted on Amazon Web Service (AWS)
With end-to-end automation being front of mind, the entirety of Shake’s infrastructure is run in AWS cloud.
Terraform for infrastructure as code
Shake’s whole infrastructure is described with Terraform. This enables them to quickly and methodically change existing environments, or create new ones.
Detailed real-time data visualization
Prometheus is used to generate monitoring data from Shake’s servers, while Grafana collates into a detailed visualization.
Large-scale code logging and error tracking
Shake uses Sentry to track errors in both backend and frontend code. These are then captured and stored using Graylog, allowing for centralized, real-time analysis of huge machine data volumes.
Elasticsearch as advanced search engine
Elasticsearch is a document-oriented search engine. All actions are performed using a REST API, and all data is stored as human-readable JSON documents, making them perfectly compatible with web applications.
App-powered customer feedback
Using Canny, Shake’s customers can offer feedback to the product team, and vote on the proposals of other product ideas and feature requests. This means the Shake team is always working on what customers really want.
Fullstory for precise UI analytics
FullStory provides detailed insight on product experience and identifies problem areas. Shake uses this intel to make the right changes, then track and measure their business impact.
A cohesive network of 3rd party tools
Shake uses Segment to manually and seamlessly integrate every tool into their codebase. Integrating a new tool only takes the touch of a button.
Docusaurus for online documentation
With Docusaurus, the Shake team can easily update online documentation and help their customers with precise instructions and best practices for product use.
Stripe for seamless secure payments
Shake uses Stripe payment infrastructure to offer their customers simple, easy-to-use subscription-based pricing.
More case studies
WANT A PRODUCT LIKE THIS ONE? — LET’S TALK
Just fill in the short form below, or skip to the bottom to arrange a chat directly with our client strategy specialist. Either way, we’ll be back in touch as soon as we can to arrange an informal call.
Don’t worry, any information you give us will only be stored for business purposes. Find out more in our Privacy Policy.
Arrange a chat with Ivor, our client strategy specialist.