# All Posts
40 posts- Do you need an MCP to build your native app?date: author: Cameron Cooke
Do you need an MCP to build your native app? Surprisingly, modern agents succeed either way. The real difference is how much time, cost, and context you waste along the way.
- Building Type-Safe Metrics API in Swift: Part IIdate: author: Phil Niedertscheider
Replace Any with type-safe protocols, handle array conformance limitations, and future-proof your Swift enums.
- Building Type-Safe Metrics API in Swift: Part Idate: author: Phil Niedertscheider
Explore protocol extensions, enums with associated values, and ExpressibleByStringLiteral to build type-safe Swift APIs.
- "Swizzling" iOS functions in Swiftdate: author: Noah Martin
How to hook pure Swift functions at runtime using an in-process debugger.
- Next Halloween I’m dressing as O(n^2)date: author: Hector Dearman
Dawson’s first law of computing strikes twice.
- Reverse Engineering iOS to Fix SDK Crashesdate: author: Phil Niedertscheider
We reverse-engineered a private iOS framework to uncover why iPadOS 26 broke type casting in our SDK.
- Keeping Up With the Python Ecosystemdate: author: Ivana Kellyer
The Sentry Python SDK has built-in support for more than 60 popular packages. This is how we make sure we actually support what we claim to be supporting.
- Tablecloth Trick: Migrating Issue Alerts to a New Systemdate: author: Cathy Teng
How we silently switched error issue alerts to a new system.
- From /users/123 to /users/:id: A Guide to Route Parametrizationdate: author: Sigrid Huemer
How Sentry's JS SDKs figure out your dynamic route names to make querying your issues easier.
- Shipping Features Without Writing Codedate: author: Raj Joshi
How Cursor's background agent added C# support to Sentry with minimal prompting.
- Building a Product Tour in Reactdate: author: Leander Rodrigues
How we went about building a performant, in-app product tour API using only React
- Formatting SQL in the Browser Using PEGdate: author: George Gritsouk
Writing a rudimentary SQL parser and formatter in JavaScript that handles Sentry's need to format invalid SQL and output into JSX.
- How Sentry queries unstructured data in ClickHouse 62x fasterdate: author: Colin Chartier
We repurposed a hashtable to make ClickHouse significantly faster for analytical queries
- Better Code Rendering Through Virtualizationdate: author: Nicholas Deschenes
How we rebuilt Codecov's code renderer from the ground up to be faster and more efficient, utilizing virtualization.
- Enabling Out-of-the-Box Performance Insights in Unity Games with the Sentry SDKdate: author: Stefan Jandl
Learn how we built the autoinstrumentation in the Unity SDK via IL Weaving
- Perfectly Fitting Text to Container in Reactdate: author: George Gritsouk
Building a React component that automatically updates its font size to fill its parent element as fully as possible.
- Mobile App Launch Profilingdate: author: Andrew McKnight
See what's happening in your app before your first line of code can even run.
- Splitting production databases with minimal downtimedate: author: Mark Story
As we scale Sentry, we need to expand Postgres capacity by splitting up workloads across multiple primaries.
- Preact or Svelte? An Embedded Widget Use Casedate: author: Catherine Lee
Preact or Svelte, which framework is best for building an embedded user feedback widget?
- Mutation-testing our JavaScript SDKsdate: author: Lukas Stracke
Let's dive into mutation testing. In this post we talk about how mutation testing works, the state of it in JavaScript and we share our results of applying it to our JavaScript SDK repository
- How we fixed incorrect Codecov bundle size reportingdate: author: Nicholas Deschenes
How we resolved incorrect Codecov bundle size reporting when using GitHub Actions.
- Sentry JavaScript SDK v8 - A Retrospectivedate: author: Francesco Novy
This post will outline learnings the Sentry SDK team had from releasing v8 of the JavaScript SDKs.
- How to Refactor and Not Break Thingsdate: author: Anton Pirker
How we completed a huge refactoring of a software used by thousands of developers without breaking things.
- Designing Sentry's cross-region replicationdate: author: Mark Story
Cross-region replication is a foundational subsystem in multi-region Sentry. This post explores our design process.
- Improving DX: From Unreadable CSS Selectors to Clear React Component Namesdate: author: Catherine Lee
How to transform unreadable CSS selectors to React component names.
- Removing risk from our multi-region design with simulationsdate: author: Mark Story
Before splitting our application database and infrastructure up, we wanted to have confidence in where the boundaries would be.
- How open PR comments workdate: author: Cathy Teng
This is how we manage to comment Sentry issues related to code you're modifying in a pull request within seconds.
- How we improved Performance Score accuracydate: author: Edward Gou
We're making updates to how Performance Scores are calculated in the Web Vitals module, which will bring them closer to what your users experience.
- Should you, could you AOT?date: author: James Crosswell
How ASP.NET Core application developers can make the transition from JIT (Just-in-Time) to AOT (Ahead-of-Time) compilation, using the Sentry SDK for .NET as a case study.
- How to publish binaries on npmdate: author: Luca Forstner
A comprehensive guide on how to publish binaries on npm without getting fired.
- Improving Node.js loader performancedate: author: Yagiz Nizipli
CommonJS and ES modules are 2 sides of a coin. Node.js supports both of them. So, how can we improve the performance of Node.js loaders?
- A $3,000,000 Dropdowndate: author: Mike Ihbe
Almost 2 years ago, Sentry embarked on a project to bring true EU data residency to Sentry's customers. We decided to do it the hard way.
- Scaling Cron Monitoringdate: author: Evan Purkhiser
We just surpassed over 7 million check-ins per day. Let's talk about what it took to go from prototype to production ready cron monitoring.
- How We Reduced Replay SDK Bundle Size by 35%date: author: Francesco Novy
An in-depth analysis of how we managed to cut the Session Replay SDK bundle size by 35%.
- Lost in the Haystack: Optimizing an Expensive ClickHouse Querydate: author: Colton Allen
Finding a needle in a haystack is really difficult. Why make it harder than it needs to be?
- Measuring Session Replay Overheaddate: author: Billy Vong
The best way to figure out how overhead impacts you is to measure it yourself. Follow along as we show you how we went about measuring overhead on Sentry and how you can measure it on your own applications.
- A locking war storydate: author: Arpad Borsos
We recently migrated JavaScript/SourceMap processing to Rust where we were hitting a lock contention problem in our processing infrastructure that kept people up for a few days. What happened, why and how did we solve...
- How we built user interaction tracking for Jetpack Composedate: author: Markus Hintersteiner
Knowing the user interactions which happened in your app right before it crashed is crucial context information for fixing errors. Tracking interactions like click and swipes manually can be tedious, so we at sentry l...
- Self Identifying JavaScript Source Maps: The Case for Debug IDsdate: author: Armin Ronacher
What is a self identifying file, what are debug IDs and why do we want a fundamental change in the web ecosystem for source maps.
- How we reduced CI time by 35% with Nx Cachingdate: author: Francesco Novy
Sentry is a very fast-moving company. In just one month we merged 165 pull requests from 19 authors and changed over 800 files, with a total of over 22,000 additions and almost 10,000 deletions. By updating to Lerna 6...