Systems | Development | Analytics | API | Testing

Remote Debugging in IntelliJ: A Practical Guide

Remote debugging using IntelliJ IDEA offers several benefits. Using this JetBrains IDE, you get interactive breakpoints, variable inspection, and debugging integrated directly with the IntelliJ editor. However you can also introduce configuration complexity and potential security risks if you don’t get it right. IntelliJ has become a favorite of the Bugfender team and in this post we’ll walk through the full setup, from the JVM flag to debugging inside a Docker container.

Why do my apps keep crashing? 6 causes and how to fix them

An app crash is one of the fastest ways to drain both users and rankings. Many users will uninstall an app after just one crash, and both the App Store and Google Play will penalize crash-prone or unstable apps. At Bugfender, we’ve been investigating app crashes since 2014. In this post we’re going to share all our key learnings, so you can: You’ll come away with a reliable, repeatable way to anticipate app crashes – wherever they happen. This post is generally platform-agnostic.

Progressive Web Apps (PWAs): What They Are and How to Build One

Progressive Web Apps (PWAs) combine the reach of the web with many native app capabilities. Users get an app-like experience without the traditional app-store download process, while developers can build and maintain experiences from a shared web codebase. This doesn’t mean PWAs are simple to build, however. They must provide a reliable experience across different browsers, devices and network conditions.

Debugging: Process, Techniques, Tools and Examples

Debugging is an essential skill that allows software developers to prevent crashes and maintain reliable code. Virtually all applications run into bugs at some point, due to logic errors, unexpected inputs or system interactions. It’s vital that we have effective tools and processes to resolve them. This guide will give you a step-by-step guide to debuggging, highlighting common error types with practical means to resolve them.

Self-hosted OTA for an hour a month

If you are a React Native engineer, your job isn’t typically about maintaining infrastructure. So “self-hosted OTA” can sound like a trap. Even if your Expo Update bill is hitting six figures, it’s easy to assume that self-hosting isn’t worth the potentially huge time sink. That fear is understandable, but it doesn’t have to play out that way.

Android App Crashes: Causes, Detection, and Fixes

Android app crashes will cost us users and damage our Play Store ranking. To prevent them from happening, we need to understand the most frequent causes of crashes, read the stack trace effectively, and have plans for common painpoints such as null values. This article will give you the tools to do that.

Designing scalable OTA update architecture for React Native

Self-hosting OTA updates became common after App Center and CodePush shut down in 2025. CodePush had been the popular free option, but the remaining hosted services easily hitting five or six figure bills for popular apps. For staging-only or use with small user bases, self-hosting is fairly straight forwards. But, as the user base grows, the architecture can start to struggle and bolt on pieces are required.

JavaScript Debugging: the Complete Guide

An effective JavaScript debugging process is vital for any web developer. Over 95% of the web is built with JavaScript code, but the language carries its own distinct challenges due to its unique runtime model. This guide will help you master these challenges and become truly fluent in the Internet’s first language. You’ll learn about: You’ll leave with a process that works in any case, no matter how edgy.

Swift Arrays: Complete Guide to Sort, Filter, Map and Reduce

Swift arrays are one of the most commonly used collection types in iOS and macOS development. They provide ordered, type-safe storage for values and include powerful higher-order functions such as map, filter, reduce, and sort. With value semantics, copy-on-write optimisation, and a rich set of built-in operations, Swift arrays make it easier to write safe, efficient, and expressive code. This guide will empower you to master the basics of Swift arrays and explore all the functionality they provide.