Barcelona, Spain
2014
  |  By Aleix Ventayol
Plain-text logs are great if you want a simple explanation of how a function is performing or why a crash happened. But as your application grows, they become difficult to search and analyze. Structured logging makes production data easier to filter, correlate, and use across modern logging tools. This guide will give you the springboard to build structured logs effectively, showing you how to.
  |  By Aleix Ventayol
If you’ve ever written JavaScript, you’ve never had to write code that says “delete this object, I’m done with it.” That’s because there’s a process called garbage collection running in the background to save you the hassle. Most of the time this process works smoothly and invisibly. But it can also cause an app to suddenly start stuttering for no obvious reason if you don’t manage it effectively. This post will give you the tools to do just that.
  |  By Aleix Ventayol
console.log() in TypeScript allows us to print values to the browser console or terminal, so we can inspect our code while it runs. However, the workflow can take some getting used to: in most projects, TypeScript is compiled into JavaScript, which is then executed by a JavaScript runtime. Whether you’re debugging a React component, a Node.js script or a backend application, it’ll get easier once you’re familiar with these nuances.
  |  By Aleix Ventayol
We’ve all had this problem as developers. An app works perfectly fine in our own local environment, but as soon as it hits the real world it starts throwing glitches all over town. Why does this happen? Because the real world is messy and hard to predict. Some bugs are only triggered by real users, real devices, and real data. This makes them harder to diagnose – but not impossible.
  |  By Aleix Ventayol
Memory leaks are the bugs that really creep up on you. One minute your app is running perfectly, then suddenly it slows to a crawl or crashes. We don’t get a warning with memory leaks, so we need to prepare proactively and be ready when they hit. This means we need to: This guide is here for all of that.
  |  By Aleix Ventayol
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.
  |  By Aleix Ventayol
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.
  |  By Aleix Ventayol
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.
  |  By Aleix Ventayol
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.
  |  By Aleix Ventayol
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.
  |  By Bugfender
How to use the Network tab in Chrome DevTools: open DevTools, reload the page, filter to Fetch/XHR, then click a request to read its Headers, Payload and Response. A status in the 400s or 500s tells you which request failed.
  |  By Bugfender
Best app deployment platforms in 2026: the right one depends on what you ship. Here is the short list by use case, with the free-tier changes that make older lists out of date. THE SHORT LIST Frontend apps: Vercel or Netlify. Every Git push gets its own preview link. Full-stack apps and APIs: Render or Railway, with databases next to your app. Mobile backend: Firebase, with auth, real-time data and hosting. Already on AWS or Google Cloud: AWS Amplify or Google Cloud Run. Static sites: GitHub Pages and Cloudflare Pages host them for free.
  |  By Bugfender
SwiftUI PhotosPicker tutorial: how to let people choose a photo in SwiftUI with PhotosPicker from PhotosUI, load it with loadTransferable(type:), and handle and log the errors when loading fails. PhotosPicker opens the system photo picker. People choose a photo, and your app gets only the items they pick. This Short shows the whole flow in a real iPhone app in the iOS Simulator, with the exact code.
  |  By Bugfender
SwiftUI DatePicker and ColorPicker tutorial: how to pick dates and colors in SwiftUI, choose a DatePicker style (compact, graphical or wheel), show only the date or only the time with displayedComponents, and hide opacity with supportsOpacity. Both are system pickers that bind to a state property: DatePicker to a Date, ColorPicker to a Color. This Short shows each one in a real iPhone app in the iOS Simulator, with the exact code.
  |  By Bugfender
How to install Claude Code on Windows using the official PowerShell installer, step by step. Claude Code is Anthropic’s AI coding assistant for the terminal. This tutorial shows how to find the official instructions, run the PowerShell installer, handle the PATH setup note, launch Claude Code and sign in. WHAT YOU NEED You do not need to run PowerShell as Administrator. INSTALLATION STEPS Search “Claude Code terminal” and open the official result from code.claude.com. Find the Windows PowerShell installation command and copy it.
  |  By Bugfender
How to install Claude Code on Mac in under one minute using the official native installer. Claude Code is Anthropic’s AI coding assistant for Terminal. This tutorial follows the official setup process step by step: find the installer, open Terminal, complete the installation, verify the version and sign in.
  |  By Bugfender
No crash doesn't mean no bug. Bugfender helps you investigate issues on real devices, even when the app doesn't crash. 4 bugs that quietly break your app without crashing it, and how to find each one. No crash report, no error popup, just users who can't do what they came to do. Each example follows the same beginner-friendly method: what the user sees, the evidence to check, and what to try next.
  |  By Bugfender
How a SwiftUI Picker works in three parts: a title, a selection binding to @State, and the options (ForEach). Start the state with a valid option, and in a Form the default style shows a menu.
  |  By Bugfender
How to build an iOS App Clip, step by step: an App Clip is a small, focused part of your iOS app that people can open without installing the full app. In Xcode 26.5: Next steps (not shown in this video).
  |  By Bugfender
Trusted by more than 35,000 apps, Bugfender helps developers understand bugs on real users’ devices, even without a crash. Collect logs, errors, device details and feedback with the SDK, then connect an AI agent through MCP to investigate the evidence.
  |  By Bugfender
Our free ebook is a practical guide to bug solving. Besides the obvious testing phase in software engineering, there are many other strategies you can follow to increase the effectiveness and reduce the cost of your Quality Assurance phase, we'll focus on those.
  |  By Bugfender
Bugfender grants you fast remote access to your applications' log files on users' devices - wherever they are in the world. Bugfender logs virtually everything, going beyond simple app crashes. It even logs when the device is offline.

Bugfender is a modern remote logger tailor-made for mobile development.

Most developers debug their apps by looking at the logs generated by their application. Usually this means connecting the mobile device with a debugging cable and looking into NSLogs or logcat.

Bugfender is a cloud storage service with an easy to use SDK that lets developers send their application logs for later use. Works for early development phases, beta testing and production applications. Bugfender unlocks the possibility to detect errors earlier, assist better users who contact your customer support and ultimately achieve an excellent customer satisfaction.

Bugfender represents a new opportunity, log collection services have existed for years on the back-end and network monitoring industry but never applied yet to mobile devices.