The latest ideas from TrackJS

  • ai

  • angular

  • debugging

  • design

  • devops

  • engineering

  • error-monitoring

  • javascript

  • nextjs

  • nodejs

  • podcast

  • product

  • reactjs

  • redux

  • shopify

  • sustainability

  • video

  • Introducing CertKit: SSL Certificate Automation for the Rest of Us\ \ SSL certificate lifetimes are dropping to 47 days, and your annual renewal checklist isn't going to cut it anymore. We built CertKit to solve this for ourselves, and today we're opening it up to everyone.\ \ \ \ \ Todd H. Gardner\ \ April 08, 2026\ \ Read more »](/content/blog/introducing-certkit/ "Introducing CertKit: SSL Certificate Automation for the Rest of Us"/index.html)

  • How to Debug Code You Didn’t Write (your AI did)\ \ AI-generated code looks great in the diff and breaks on the first edge case. Here’s how to debug JavaScript you didn’t write without reverse-engineering someone else’s bad assumptions.\ \ \ \ \ Todd H. Gardner\ \ February 26, 2026\ \ Read more »](/content/blog/how-to-debug-code-you-didnt-write/ "How to Debug Code You Didn’t Write (your AI did/index.html)")

  • Who Watches the Vibe Coder?\ \ AI is shipping JavaScript faster than humans can review it. And a lot of it is “looks fine to me” code that explodes in production. You can’t code review vibes, so you need production visibility.\ \ \ \ \ Todd H. Gardner\ \ February 19, 2026\ \ Read more »](/content/blog/who-watches-the-vibe-coder/ "Who Watches the Vibe Coder?"/index.html)

  • Installing TrackJS on Certkit\ \ Learn how to set up TrackJS for production JavaScript error monitoring, configure ignore rules to filter noise from third-party scripts, and get actionable error alerts.\ \ \ \ \ Todd H. Gardner\ \ November 24, 2025\ \ Read more »](/content/blog/installing-trackjs-on-certkit/ "Installing TrackJS on Certkit"/index.html)

  • AI Wrote Your Bugs, AI Will Fix Your Bugs\ \ GitHub Copilot wrote it. ChatGPT reviewed it. And now TrackJS's AI Debugger will fix it. Welcome to 2025, where humans are just the middleware between AIs. Introducing the world's first Vibe Debugger for your vibe-coded JavaScript.\ \ \ \ \ Todd H. Gardner\ \ September 10, 2025\ \ Read more »](/content/blog/ai-code-debugger/ "AI Wrote Your Bugs, AI Will Fix Your Bugs"/index.html)

  • The Complete Angular Error Handling Guide for Production-Ready Apps\ \ Your Angular app just crashed in production with 'ERROR Error: Uncaught (in promise): [object Object]'. After debugging countless production fires, I've learned that proper error handling isn't optional—it's the difference between sleeping through the night and getting paged at 3 AM.\ \ \ \ \ Todd H. Gardner\ \ August 25, 2025\ \ Read more »](/content/blog/angular-error-handling/ "The Complete Angular Error Handling Guide for Production-Ready Apps"/index.html)

  • How to Monitor JavaScript Memory Leaks in Production\ \ JavaScript memory leaks are like that friend who never leaves the party. While most advice says 'just use Chrome DevTools,' your users aren't debugging for you. Learn how to catch memory leaks in production using performance.memory (despite it being deprecated) and track real symptoms of memory b...\ \ \ \ \ Todd H. Gardner\ \ July 22, 2025\ \ Read more »](/content/blog/monitoring-javascript-memory/ "How to Monitor JavaScript Memory Leaks in Production"/index.html)

  • Modern Redux Debugging: Common Bugs and Solutions in 2024-2025\ \ State mutation errors plague 70% of Redux applications despite modern tooling, while Redux Toolkit 2.0 breaking changes force widespread migration. RTK Query cache invalidation timing issues, TypeScript strict mode conflicts, React 18/19 compatibility demands, and performance bottlenecks with lar...\ \ \ \ \ Todd H. Gardner\ \ July 17, 2025\ \ Read more »](/content/blog/common-redux-bugs/ "Modern Redux Debugging: Common Bugs and Solutions in 2024-2025"/index.html)

  • A Fresh Look Without Moving the Cheese\ \ TrackJS launched a complete UI redesign after 12 years, replacing Bootstrap 2012 styles with modern CSS and Flexbox while maintaining identical functionality - "not moving the cheese." The refresh brought consistent spacing, better visual hierarchy, dark mode (by popular demand), and cleaned up o...\ \ \ \ \ Todd H. Gardner\ \ May 27, 2025\ \ Read more »](/content/blog/a-fresh-look-without-cheese-moving/ "A Fresh Look Without Moving the Cheese"/index.html)

  • Common Errors in Next.js Caching\ \ Next.js caching is complex and more than a bit magical. This complexity is a source silent errors in the form of stale and incorrect data.\ \ \ \ \ Jordan Griffin\ \ November 12, 2024\ \ Read more »](/content/blog/common-errors-in-nextjs-caching/ "Common Errors in Next.js Caching"/index.html)

  • Error Monitoring on Client- and Server-Side in NextJS 14+\ \ Error handling in NextJS doesn't have to be complex. TrackJS handles all the places\ where NextJS can fail\ \ \ \ \ Todd H. Gardner\ \ May 06, 2024\ \ Read more »](/content/blog/error-monitoring-client-and-server-in-nextjs-14/ "Error Monitoring on Client- and Server-Side in NextJS 14+"/index.html)

  • Catch JavaScript Errors from your Shopify Theme\ \ Did JavaScript break my store? Monitor errors in your Shopify store with TrackJS\ make sure your store keeps running great.\ \ \ \ \ Jordan Griffin\ \ January 08, 2024\ \ Read more »](/content/blog/shopify-theme-error-monitoring/ "Catch JavaScript Errors from your Shopify Theme"/index.html)

  • Why We Only Support JavaScript\ \ We are unlikely to add additional language support to TrackJS. And it's not\ just because of our name!\ \ \ \ \ Eric Brandes\ \ December 19, 2023\ \ Read more »](/content/blog/just-js/ "Why We Only Support JavaScript"/index.html)

  • The Dangers of Using VC Funded Companies\ \ Learn from our mistakes: be careful when using VC funded companies as vendors or important parts of your stack.\ \ \ \ \ Eric Brandes\ \ December 04, 2023\ \ Read more »](/content/blog/dangers-of-vc/ "The Dangers of Using VC Funded Companies"/index.html)

  • 5 Best Frontend Error Monitoring Tools\ \ Compare the strengths and weaknesses for Frontend Error Monitoring tools. We'll look at the focus, features, and pricing of the top contenders so you can pick the platform the works best for you.\ \ \ \ \ Todd H. Gardner\ \ November 14, 2023\ \ Read more »](/content/blog/best-error-monitoring-tools/ "5 Best Frontend Error Monitoring Tools"/index.html)

  • Profitability is Important\ \ Unprofitable companies, like Flexport and Splunk, are a risk for their customers because they can radically change or close down entirely. What about TrackJS?\ \ \ \ \ Eric Brandes\ \ October 23, 2023\ \ Read more »](/content/blog/profitability-is-important/ "Profitability is Important"/index.html)

  • Saved Filter Notifications\ \ TrackJS now offers Saved Filter Notifications - create custom alerts for specific error scenarios. Filter by message, user, URL, or other criteria, then get notified when those errors spike. Perfect for monitoring critical issues, API problems, or VIP user experiences.\ \ \ \ \ Eric Brandes\ \ October 10, 2023\ \ Read more »](/content/blog/saved-filter-notifications/ "Saved Filter Notifications"/index.html)

  • Avoiding Ad Blockers with Forwarding Domains\ \ Ad blockers are blocking TrackJS domains, causing you to miss JavaScript errors from 25-50% of users. Our new domain forwarding feature lets you use a custom domain (like errors.yoursite.com) to bypass ad blockers and capture all your error data.\ \ \ \ \ Eric Brandes\ \ March 08, 2021\ \ Read more »](/content/blog/js-monitoring-ad-blockers/ "Avoiding Ad Blockers with Forwarding Domains"/index.html)

  • Logging Errors in Web Workers\ \ TrackJS now supports Web Workers! Monitor errors in your background tasks including globally thrown errors, unhandled promise rejections, network failures, and more. Get full telemetry and visibility into worker threads to debug faster.\ \ \ \ \ Todd H. Gardner\ \ March 01, 2021\ \ Read more »](/content/blog/web-workers/ "Logging Errors in Web Workers"/index.html)

  • Hard-Won Lessons Building Maintainable Web Applications\ \ 15 hard-won lessons from 15 years building web apps: write as little JavaScript as possible, use progressive enhancement, monitor everything, and keep it simple. Most valuable apps are under 10,000 lines of code - complexity kills maintainability.\ \ \ \ \ Todd H. Gardner\ \ October 06, 2020\ \ Read more »](/content/blog/hard-won-lessons-maintainable-javascript/ "Hard-Won Lessons Building Maintainable Web Applications"/index.html)

  • TrackJS for NodeJS\ \ TrackJS now officially supports Node.js! Monitor server-side errors with isolated request telemetry, automatic environment dependency discovery, and native integrations for Express and NextJS. Open source agent tracks errors across multiple concurrent requests.\ \ \ \ \ Todd H. Gardner\ \ September 15, 2020\ \ Read more »](/content/blog/trackjs-for-nodejs/ "TrackJS for NodeJS"/index.html)

  • May 2020 Product Updates\ \ TrackJS shipped key updates in May 2020: error comments for better bug communication, extended 60-day trials during COVID-19 disruptions, and progress on their new Request Metrics performance monitoring service. Team focused on polishing JavaScript error tracking.\ \ \ \ \ Todd H. Gardner\ \ June 11, 2020\ \ Read more »](/content/blog/may-2020-updates/ "May 2020 Product Updates"/index.html)

  • Parsing Query Strings in .NET Core\ \ Microsoft made query string parsing worse in .NET Core. The old HttpUtility.ParseQueryString() returns a secret HttpValueCollection that handles multiple values and URL encoding elegantly. The new approach splits functionality across three classes - QueryHelpers, QueryString, and StringValues - m...\ \ \ \ \ Eric Brandes\ \ April 15, 2020\ \ Read more »](/content/blog/query-string-parsing/ "Parsing Query Strings in .NET Core"/index.html)

  • Quarantined for COVID-19\ \ During COVID-19, TrackJS extends their trial from 14 to 60 days for free JavaScript error monitoring while developers work from home. As a fully remote company, they're offering their Request Metrics development videos on YouTube to help isolated developers feel connected to a team during quarant...\ \ \ \ \ Todd H. Gardner\ \ March 25, 2020\ \ Read more »](/content/blog/quarantined/ "Quarantined for COVID-19"/index.html)

  • Building Request Metrics\ \ TrackJS announces Request Metrics, a new web performance monitoring service designed to be the fastest, simplest, and cheapest tool available. Unlike complex existing solutions requiring extensive configuration, Request Metrics offers automatic alerts and native performance insights with just a s...\ \ \ \ \ Todd H. Gardner\ \ March 23, 2020\ \ Read more »](/content/blog/request-metrics/ "Building Request Metrics"/index.html)

  • January 2020 Product Updates\ \ TrackJS delivered January 2020 updates including a redesigned website that's faster, simpler, and friendlier, plus new page sharing functionality that lets teams share exact error pages and filters using the Share icon in the filter bar for better collaboration.\ \ \ \ \ Todd H. Gardner\ \ February 11, 2020\ \ Read more »](/content/blog/jan-2020-updates/ "January 2020 Product Updates"/index.html)

  • A New Look for TrackJS\ \ TrackJS unveiled a fresh new look for 2020 - cleaner, simpler, and more friendly. The redesign emphasizes their core strength: being the easiest way to understand and fix JavaScript bugs without enterprise complexity or jargon. Service-first approach meets modern design.\ \ \ \ \ Todd H. Gardner\ \ February 05, 2020\ \ Read more »](/content/blog/a-new-look/ "A New Look for TrackJS"/index.html)

  • November 2019 Product Updates\ \ TrackJS closed 2019 with major updates: automatic URL grouping for UUID/numeric IDs to reduce noise, redesigned ignore rules builder for better error filtering, enhanced application management UI, and improved global filtering with stack trace and IP address support.\ \ \ \ \ Todd H. Gardner\ \ December 18, 2019\ \ Read more »](/content/blog/nov-2019-product-updates/ "November 2019 Product Updates"/index.html)

  • Powerful Ignore Rules for Noisy JavaScript Errors\ \ TrackJS introduces comprehensive Ignore Rules to filter out noise from third-party scripts, browser extensions, and non-impactful errors. Features unlimited rules with multiple conditions, metadata filtering, stack trace matching, suggested rules discovery, and creation directly from reports - al...\ \ \ \ \ Todd H. Gardner\ \ December 02, 2019\ \ Read more »](/content/blog/ignore-rules/ "Powerful Ignore Rules for Noisy JavaScript Errors"/index.html)

  • October 2019 Product Updates\ \ TrackJS shipped October 2019 updates including better formatting for long error messages with stack traces, new search capabilities on raw ungrouped messages, and major Elasticsearch reindexing improvements for faster performance.\ \ \ \ \ Todd H. Gardner\ \ November 15, 2019\ \ Read more »](/content/blog/oct-2019-product-updates/ "October 2019 Product Updates"/index.html)

  • A Dumpster-Fire Alert for Your JavaScript Errors\ \ Build a literal dumpster fire alert for JavaScript errors using a 3D-printed translucent dumpster, Particle Photon, and WS2812 LEDs. The device polls TrackJS API every minute via webhook, lighting up animated flames when error counts exceed your threshold - perfect visual indicator for production...\ \ \ \ \ Todd H. Gardner\ \ November 12, 2019\ \ Read more »](/content/blog/dumpsterfire-alert-for-javascript-errors/ "A Dumpster-Fire Alert for Your JavaScript Errors"/index.html)

  • The Ongoing State of JavaScript Errors\ \ TrackJS launches automated Global Error Statistics, providing weekly public data on client-side JavaScript quality across the web. The report tracks common errors, browsers, and operating systems with automatic calculations replacing the manual 2015 State of JavaScript Errors report - Script Erro...\ \ \ \ \ Todd H. Gardner\ \ November 04, 2019\ \ Read more »](/content/blog/global-javascript-error-statistics/ "The Ongoing State of JavaScript Errors"/index.html)

  • September 2019 Product Updates\ \ TrackJS shipped September 2019 updates including faster UI performance through Elasticsearch optimizations, new weekly site quality email reports, error read/unread tracking, and improved metadata filtering with logical AND operations.\ \ \ \ \ Todd H. Gardner\ \ October 15, 2019\ \ Read more »](/content/blog/sep-2019-product-updates/ "September 2019 Product Updates"/index.html)

  • What is Developer Time Worth?\ \ Developers often undervalue their time, saying "I could build that" about tools like TrackJS. With web developers earning $56-1500/hour, building your own monitoring tool costs $9,000+ in time for a worse version of a $100 product. Focus your precious 2,150 working weeks on creating real value, n...\ \ \ \ \ Todd H. Gardner\ \ October 15, 2019\ \ Read more »](/content/blog/what-is-developer-time-worth/ "What is Developer Time Worth?"/index.html)

  • Faster Elasticsearch Query Performance\ \ TrackJS solved slow Elasticsearch queries for high-cardinality error data by switching from one complex query to two simpler ones. Instead of calculating nested aggregates for thousands of error groups then discarding most results, they first identify the top 20 groups, then enrich only those wit...\ \ \ \ \ Eric Brandes\ \ October 09, 2019\ \ Read more »](/content/blog/faster-elasticsearch-query-performance/ "Faster Elasticsearch Query Performance"/index.html)

  • TrackJS Weekly Site Quality Benchmark\ \ TrackJS launches Weekly Site Quality Benchmark emails to help teams understand if their error rates are good or bad compared to industry averages. The report includes rankings, actionable error insights, and a wizard to help development managers prioritize bug fixes and improve site quality.\ \ \ \ \ Todd H. Gardner\ \ September 24, 2019\ \ Read more »](/content/blog/weekly-site-quality-email/ "TrackJS Weekly Site Quality Benchmark"/index.html)

  • August 2019 Product Updates\ \ TrackJS shipped August 2019 updates including Microsoft Teams integration for notifications and enhanced Telemetry Timeline showing button text content for visitor clicks to improve UI interaction tracking.\ \ \ \ \ Todd H. Gardner\ \ September 11, 2019\ \ Read more »](/content/blog/aug-2019-product-updates/ "August 2019 Product Updates"/index.html)

  • How we debugged "Failed to construct 'Request': Invalid Argument." in Edge\ \ Microsoft Edge threw errors when Facebook's SDK used the unsupported referrerPolicy option in fetch requests. The workaround is avoiding Request objects or explicitly setting referrer values instead.\ \ \ \ \ Todd H. Gardner\ \ September 04, 2019\ \ Read more »](/content/blog/debugging-edge-failed-to-construct-request-invalid-argument/ "How we debugged "/index.html)

  • 3 Tips to Reduce JavaScript Size\ \ Three strategies to reduce JavaScript bloat: Use less JavaScript by extracting only needed code from libraries or using CSS-only solutions, load scripts conditionally per page with async bundling, and optimize delivery through combining files, enabling HTTP/2, and bundling external libraries via ...\ \ \ \ \ Todd H. Gardner\ \ September 03, 2019\ \ Read more »](/content/blog/best-practices-javascript-page-weight/ "3 Tips to Reduce JavaScript Size"/index.html)

  • How to Correctly Wrap a JavaScript Function\ \ Master JavaScript function wrapping to add instrumentation or modify external libraries without changing source code. Handle arguments with apply(this, arguments), preserve function names and properties, use try/catch for error handling, and maintain the original function's arity for professional...\ \ \ \ \ Todd H. Gardner\ \ August 27, 2019\ \ Read more »](/content/blog/how-to-wrap-javascript-functions/ "How to Correctly Wrap a JavaScript Function"/index.html)

  • July 2019 Product Updates\ \ TrackJS shipped July 2019 updates including redesigned grouping pages with CSV export, beta NodeJS agent for server-side error tracking, and new platform/entry filtering capabilities with Node.js support.\ \ \ \ \ Todd H. Gardner\ \ August 14, 2019\ \ Read more »](/content/blog/july-2019-product-updates/ "July 2019 Product Updates"/index.html)

  • How to Avoid Ad Blocker Errors\ \ Three essential tips to prevent ad blocker breakage: Always safety-check external analytics functions with window.ga && ga() syntax, avoid advertising keywords in URLs/classnames/filenames (like "track", "sponsor", ad dimensions), and test locally with uBlock Origin to catch issues before users do.\ \ \ \ \ Todd H. Gardner\ \ August 06, 2019\ \ Read more »](/content/blog/avoid-ad-blocker-errors/ "How to Avoid Ad Blocker Errors"/index.html)

  • Separate Your Monitoring From Infrastructure\ \ Separate your monitoring from your primary infrastructure to avoid dangerous blind spots. Cloud providers' internal monitoring fails when their infrastructure fails, leaving you debugging outages without visibility. TrackJS hosts on dedicated hardware separate from major cloud providers for true ...\ \ \ \ \ Todd H. Gardner\ \ July 30, 2019\ \ Read more »](/content/blog/separate-monitoring/ "Separate Your Monitoring From Infrastructure"/index.html)

  • Metered Billing for Monitoring is Anti-Developer\ \ A fictional tale exposing the anti-developer nature of metered logging: Sarah gets locked out of LogCorp during a critical outage because adding debugging logs pushed them over quota, forcing an emergency upgrade during crisis. TrackJS rejects this model, pricing by site traffic instead of error ...\ \ \ \ \ Todd H. Gardner\ \ July 16, 2019\ \ Read more »](/content/blog/metered-logging-is-anti-developer/ "Metered Billing for Monitoring is Anti-Developer"/index.html)

  • June 2019 Product Updates\ \ TrackJS shipped June 2019 updates including RemoteJS for remote browser debugging with command sending and screenshots, plus redesigned Recent and Search pages with new UI styling and user-impact histograms.\ \ \ \ \ Todd H. Gardner\ \ July 09, 2019\ \ Read more »](/content/blog/june-product-updates/ "June 2019 Product Updates"/index.html)

  • Debugging Remote Browsers with RemoteJS\ \ RemoteJS solves the nightmare of debugging remote device bugs through real-time JavaScript debugging via WebSocket connections. Born from TrackJS users hacking together monitoring for remote debugging, it lets you execute commands, inspect state, and view screens on devices you can't physically a...\ \ \ \ \ Todd H. Gardner\ \ June 27, 2019\ \ Read more »](/content/blog/remotejs/ "Debugging Remote Browsers with RemoteJS"/index.html)

  • Debugging: Slow Network Requests and "Cannot read property 'id' of undefined"\ \ TrackJS debugs their own "Cannot read property 'id' of undefined" error affecting 6 users on critical /account pages. The culprit: PJAX navigation causing lazy-loaded Stripe JavaScript to execute on wrong pages when users navigate quickly on slow networks, creating unexpected execution context.\ \ \ \ \ Eric Brandes\ \ June 14, 2019\ \ Read more »](/content/blog/slow-networks-cannot-read-property-id-undefined/ "Debugging: Slow Network Requests and "/index.html)

  • May 2019 Product Updates\ \ TrackJS shipped May 2019 updates including new Rollup reports highlighting user impact, CSV export functionality, OS version filtering for specific iOS versions, and extended HTTP API with query parameters for search.\ \ \ \ \ Todd H. Gardner\ \ June 06, 2019\ \ Read more »](/content/blog/may-product-updates/ "May 2019 Product Updates"/index.html)

  • When to Fix Your JavaScript Errors\ \ Cut through web "background radiation" with strategic JavaScript error monitoring: ignore known noisy errors, set up targeted alerts (new/trending/rate/daily), focus on user impact and critical pages, track versions for releases, and use status filtering to manage bug workflows effectively.\ \ \ \ \ Todd H. Gardner\ \ May 30, 2019\ \ Read more »](/content/blog/prioritizing-javascript-errors/ "When to Fix Your JavaScript Errors"/index.html)

  • Building TrackJS Filters: React without the SPA\ \ TrackJS built React components within their existing server-rendered PJAX architecture using "dirty tricks" - mounting/unmounting components on page loads and creating a custom singleton FilterStore instead of Redux. They chose larger class components over micro-components and traditional CSS ove...\ \ \ \ \ Eric Brandes\ \ May 21, 2019\ \ Read more »](/content/blog/building-filters-react-no-spa/ "Building TrackJS Filters: React without the SPA"/index.html)

  • April 2019 Product Updates\ \ TrackJS shipped April 2019 updates including advanced error filtering with upgraded FilterBar, flexible metadata query syntax, improved source map handling with better error transparency, and user account deletion capability.\ \ \ \ \ Todd H. Gardner\ \ May 15, 2019\ \ Read more »](/content/blog/april-2019-product-updates/ "April 2019 Product Updates"/index.html)

  • TrackJS Filters: Find Important Errors Before Your Users Do\ \ TrackJS launches comprehensive filtering system with unified global toolbar supporting multiple simultaneous filters, search patterns, NOT exclusions, and saved filter sets. New capabilities include exact match, wildcard search, and quick suggestions to help developers cut through JavaScript erro...\ \ \ \ \ Eric Brandes\ \ April 18, 2019\ \ Read more »](/content/blog/new-filters/ "TrackJS Filters: Find Important Errors Before Your Users Do"/index.html)

  • Site Search with JavaScript - Part 2\ \ Learn to enhance client-side JavaScript search with intelligent snippets that show search terms in context and automatic highlighting on result pages. Uses simple DOM manipulation to create relevant 280-character previews and scroll users directly to highlighted matches without server-side code.\ \ \ \ \ Todd H. Gardner\ \ March 31, 2019\ \ Read more »](/content/blog/site-search-with-javascript-part-2/ "Site Search with JavaScript - Part 2"/index.html)

  • February 2019 Product Updates\ \ TrackJS shipped February 2019 updates including 1Password data privacy fix, capture service response changes to remove Firefox console warnings, and Symbol type serialization support in the Agent.\ \ \ \ \ Todd H. Gardner\ \ March 07, 2019\ \ Read more »](/content/blog/february-2019-product-updates/ "February 2019 Product Updates"/index.html)

  • January 2019 Product Updates\ \ TrackJS shipped January 2019 updates including isomorphic application support for the Agent, published new Security Policy documentation, and fixed status bug handling for very large accounts.\ \ \ \ \ Todd H. Gardner\ \ February 13, 2019\ \ Read more »](/content/blog/january-2019-product-updates/ "January 2019 Product Updates"/index.html)

  • December 2018 Product Updates\ \ TrackJS shipped December 2018 updates including a minor XSS security fix, soft-launched new documentation site with improved layout and search, and added job monitoring for async error status operations.\ \ \ \ \ Todd H. Gardner\ \ January 08, 2019\ \ Read more »](/content/blog/december-2018-product-updates/ "December 2018 Product Updates"/index.html)

  • You Own Your Dependencies\ \ The event-stream NPM malware incident exposes JavaScript's dependency crisis: 418 packages for a simple React app versus 40 for a massive .NET application. The culture of micropackages, automatic upgrades with ^ operators, and anonymous maintainers creates security nightmares compared to vendorin...\ \ \ \ \ Eric Brandes\ \ December 05, 2018\ \ Read more »](/content/blog/event-stream/ "You Own Your Dependencies"/index.html)

  • November 2018 Product Updates\ \ TrackJS shipped November 2018 updates including new Application Versions menu with histograms, Agent v3 as JavaScript module, Filter-Bar UI improvements, clearer billing error messages, and JSX syntax support in source code.\ \ \ \ \ Todd H. Gardner\ \ December 01, 2018\ \ Read more »](/content/blog/november-2018-product-updates/ "November 2018 Product Updates"/index.html)

  • Agent as a Module\ \ TrackJS Agent 3.0 now supports ES6 modules, CommonJS, and AMD loading while maintaining full backwards compatibility. New explicit install() method, updated CDN URLs (avoiding "tracker" for privacy-blockers), and TrackJS singleton naming convention for modern bundling workflows.\ \ \ \ \ Todd H. Gardner\ \ November 08, 2018\ \ Read more »](/content/blog/agentv3/ "Agent as a Module"/index.html)

  • Application Versions\ \ TrackJS elevates application version to a first-class feature with dedicated dashboard grouping, filtering, and drill-down capabilities. Perfect for modern deployment practices where multiple code versions run simultaneously - now you can easily track which releases introduce or fix bugs.\ \ \ \ \ Eric Brandes\ \ November 05, 2018\ \ Read more »](/content/blog/versions/ "Application Versions"/index.html)

  • October 2018 Product Updates\ \ TrackJS shipped October 2018 updates including migration to MailGun for more reliable transactional emails, new invoice email design with branding updates, internal operations move to Slack, and navigation changes.\ \ \ \ \ Todd H. Gardner\ \ November 01, 2018\ \ Read more »](/content/blog/october-2018-product-updates/ "October 2018 Product Updates"/index.html)

  • Goodbye {Track:js}. Hello TrackJS!\ \ TrackJS drops the confusing {Track:js} branding for clear, simple "TrackJS" naming. The rebrand includes a proper logo with brackets that reflect error catching, plus fun script-character mascots to add personality and tie concepts together visually.\ \ \ \ \ Todd H. Gardner\ \ October 11, 2018\ \ Read more »](/content/blog/hello-trackjs/ "Goodbye {Track:js}. Hello TrackJS!"/index.html)

  • Moving to Mailgun\ \ TrackJS switched from failing Mandrill to Mailgun after years of increasing email delivery problems. Key lessons: make failures visible through chat alerts, avoid abstractions until you need them, and sometimes big changes become unavoidable when dependencies deteriorate.\ \ \ \ \ Eric Brandes\ \ October 09, 2018\ \ Read more »](/content/blog/moving-to-mailgun/ "Moving to Mailgun"/index.html)

  • Thriving Small\ \ Small teams outperform large ones through better communication, shared incentives, and forced prioritization. Growing employees creates expensive overhead and specialized silos. Success isn't about headcount - it's about building sustainable, profitable products with minimal maintenance needs.\ \ \ \ \ Todd H. Gardner\ \ September 25, 2018\ \ Read more »](/content/blog/thriving-small/ "Thriving Small"/index.html)

  • Adding Value to Software Development\ \ Real business value comes from choosing boring, proven technology over exciting new frameworks. The best code is no code - sometimes waiting solves problems automatically. Every line written has maintenance costs, so prioritize shipping features over perfect abstractions and endless refactoring.\ \ \ \ \ Eric Brandes\ \ September 13, 2018\ \ Read more »](/content/blog/adding-value/ "Adding Value to Software Development"/index.html)

  • The Siren Song of Component Libraries\ \ UI component libraries sound perfect for large teams but become nightmares of competing requirements, compatibility issues, and feature bloat. Skip the complexity - use documented style guides with colors and fonts instead. Developers love spending 40 hours on "fun" work to avoid 20 minutes of bo...\ \ \ \ \ Eric Brandes\ \ August 21, 2018\ \ Read more »](/content/blog/component-library/ "The Siren Song of Component Libraries"/index.html)

  • Impermanent UIs: the Fleeting Frontend\ \ Frontend development has become needlessly complex with frameworks requiring massive toolchains for apps destined to be rewritten every 2-3 years. Instead of building cathedrals, focus on speed-to-market with simpler solutions that deliver value quickly.\ \ \ \ \ Eric Brandes\ \ August 07, 2018\ \ Read more »](/content/blog/fleeting-frontend/ "Impermanent UIs: the Fleeting Frontend"/index.html)

  • Backwards Compatibility\ \ Eric Brandes argues modern JavaScript frameworks abandon backwards compatibility unlike the web's foundational success. While jQuery maintains stable APIs for years, Angular breaks compatibility every 6 months, creating developer fatigue and wasted money on constant upgrades.\ \ \ \ \ Eric Brandes\ \ July 23, 2018\ \ Read more »](/content/blog/backwards-compatability/ "Backwards Compatibility"/index.html)

  • Error Status\ \ TrackJS finally launches error status tracking - the most requested feature ever! Set custom statuses like "Fixed" or "Investigating" on errors, filter by status across the entire UI, though Elasticsearch's immutability means large updates take time to process.\ \ \ \ \ Eric Brandes\ \ June 05, 2018\ \ Read more »](/content/blog/error-status/ "Error Status"/index.html)

  • Search Improvements\ \ TrackJS revolutionizes error search with intelligent AND logic instead of OR, exact phrase matching with quotes, optional OR/NOT operators, and powerful global filtering that works across all UI pages - making needle-in-haystack debugging finally possible.\ \ \ \ \ Eric Brandes\ \ April 10, 2018\ \ Read more »](/content/blog/search-improvements/ "Search Improvements"/index.html)

  • Even Better JavaScript Error Reports\ \ TrackJS unveils major UI improvements making JavaScript error debugging even easier: smart error summaries with scope metrics, interactive telemetry timeline with filtering, simplified stack traces with URL shortening, and enhanced source map management.\ \ \ \ \ Todd H. Gardner\ \ August 09, 2017\ \ Read more »](/content/blog/even-better-javascript-error-reports/ "Even Better JavaScript Error Reports"/index.html)

  • Learning from GitLab: Making Production Obvious\ \ Learn from GitLab's outage by making production environments visually obvious. TrackJS shares Ansible snippets to turn Linux command prompts and Windows UI chrome bright red in production, preventing dangerous "wrong server" mistakes.\ \ \ \ \ Jordan Griffin\ \ March 27, 2017\ \ Read more »](/content/blog/learning-from-gitlab-making-production-obvious/ "Learning from GitLab: Making Production Obvious"/index.html)

  • New Feature: Error Groupings\ \ TrackJS introduces Error Groupings to eliminate noise from nearly identical error messages. Use pattern replacements like ${employeeId} to consolidate hundreds of similar errors into single groups, making real problems easier to spot and fix.\ \ \ \ \ Eric Brandes\ \ February 14, 2017\ \ Read more »](/content/blog/error-groupings/ "New Feature: Error Groupings"/index.html)

  • A Visualization Of JavaScript Errors After Firefox & Chrome Updates\ \ ZingChart analyzes TrackJS data revealing fascinating browser update patterns: Chrome 51 doubled error rates vs Chrome 50, Firefox releases impact competing browsers, and developers fix errors within weeks. Weekend usage drops dramatically too.\ \ \ \ \ Todd H. Gardner\ \ October 03, 2016\ \ Read more »](/content/blog/errors-after-browser-update/ "A Visualization Of JavaScript Errors After Firefox & Chrome Updates"/index.html)

  • Debugging JavaScript in Production\ \ JavaScript apps inevitably break in production - learn how to capture errors with global handlers, understand error context through telemetry, and systematically debug the five most common categories of web application failures to build resilient applications.\ \ \ \ \ Todd H. Gardner\ \ September 14, 2016\ \ Read more »](/content/blog/debugging-production-javascript/ "Debugging JavaScript in Production"/index.html)

  • What's new in TrackJS?\ \ TrackJS unveils major feature updates: unlimited notification channels, enhanced search with Lucene syntax, improved ignore rules with descriptions, global filtering across the entire UI, trending errors on dashboard, and multiple account owners support.\ \ \ \ \ Eric Brandes\ \ July 25, 2016\ \ Read more »](/content/blog/new-feature-roundup/ "What's new in TrackJS?"/index.html)

  • TrackJS × 3 Event\ \ TrackJS celebrates three years of making JavaScript debugging better! Join the Minneapolis anniversary celebration at JavaScriptMN meetup and exclusive drinkup at Fulton brewery - honoring the community that helped build better web applications.\ \ \ \ \ Todd H. Gardner\ \ July 13, 2016\ \ Read more »](/content/blog/trackjs-3-year/ "TrackJS × 3 Event"/index.html)

  • Highly-Effective JavaScript Developers by Jon Mills\ \ Jonathan Mills delivers practical JavaScript effectiveness tips at NDC Oslo, covering debugging, testing, and maintainable code practices. Perfect for developers wanting to level up their JS skills, whether it's their primary language or not.\ \ \ \ \ Todd H. Gardner\ \ July 12, 2016\ \ Read more »](/content/blog/highly-effective-javascript-developers/ "Highly-Effective JavaScript Developers by Jon Mills"/index.html)

  • Tracker TypeScript Definitions\ \ TrackJS now includes official TypeScript definitions! Complete API documentation with intellisense support in VSCode makes error tracking integration seamless for TypeScript developers. Available in agent release 2.4.0 and beyond.\ \ \ \ \ Todd H. Gardner\ \ July 04, 2016\ \ Read more »](/content/blog/tracker-typescript-definitions/ "Tracker TypeScript Definitions"/index.html)

  • Monitoring for Unhandled Promise Rejections\ \ Unhandled promise rejections silently break applications without triggering traditional error handlers. Learn how modern browsers now provide standardized events to catch these elusive errors and why proper promise error handling is crucial for robust applications.\ \ \ \ \ Eric Brandes\ \ June 20, 2016\ \ Read more »](/content/blog/unhandled-promises/ "Monitoring for Unhandled Promise Rejections"/index.html)

  • Fast and Resilient Web Apps by Ilya Grigorik\ \ Ilya Grigorik's Google I/O talk reveals shocking mobile Chrome network failure statistics, emphasizing the critical need for resilient web applications. Essential viewing for understanding real-world performance challenges and planning better user experiences when networks fail.\ \ \ \ \ Todd H. Gardner\ \ May 25, 2016\ \ Read more »](/content/blog/fast-and-resilient-webapps/ "Fast and Resilient Web Apps by Ilya Grigorik"/index.html)

  • Sharing Error Reports\ \ TrackJS now lets you share error reports publicly with direct URLs, like Google Docs. Perfect for team collaboration, boss updates, or StackOverflow questions. Shared reports never expire and can be embedded in ticketing systems for easy reference.\ \ \ \ \ Todd H. Gardner\ \ May 23, 2016\ \ Read more »](/content/blog/sharing-errors/ "Sharing Error Reports"/index.html)

  • The Dangers of Loading External JavaScript\ \ External JavaScript loading can fail catastrophically, breaking functionality and user experience. Learn why mobile networks cause third-party script failures and discover simple defensive coding techniques to gracefully handle missing dependencies and protect your applications.\ \ \ \ \ Todd H. Gardner\ \ April 25, 2016\ \ Read more »](/content/blog/perils-loading-external-javascript/ "The Dangers of Loading External JavaScript"/index.html)

  • JavaScript Forensics\ \ Todd Gardner's "JavaScript Forensics" talk from JSConfEU reveals expert techniques for tracking down web's most dangerous JavaScript errors. Learn real-world debugging strategies from years of production experience helping developers fix memory leaks, context loss, and jank.\ \ \ \ \ Todd H. Gardner\ \ April 12, 2016\ \ Read more »](/content/blog/video-javascript-forensics/ "JavaScript Forensics"/index.html)

  • JavaScript Debugging with Sourcemaps\ \ Sourcemaps are essential for debugging transpiled JavaScript, mapping minified code back to original ES6/JSX sources. Chrome and Firefox support them natively, while tools like TrackJS automatically apply sourcemaps to production error stack traces, showing actual source code instead of unreadabl...\ \ \ \ \ Eric Brandes\ \ February 06, 2016\ \ Read more »](/content/blog/debugging-with-sourcemaps/ "JavaScript Debugging with Sourcemaps"/index.html)

  • Announcing TrackJS Ignore\ \ TrackJS now offers Ignore Rules to help you filter out irrelevant errors from noisy web environments. Our new rule engine lets you customize which errors matter to your application, with rules applied before volume throttles for maximum data relevance.\ \ \ \ \ Todd H. Gardner\ \ September 16, 2015\ \ Read more »](/content/blog/announcing-trackjs-ignore/ "Announcing TrackJS Ignore"/index.html)

  • Googlebot's JavaScript Indexing Doesn't Matter (Yet)\ \ Google's JavaScript indexing capability sounds promising for client-side applications, but our data shows Googlebot has higher error rates and different failure modes than regular browsers, making SEO optimization challenging.\ \ \ \ \ Todd H. Gardner\ \ August 26, 2015\ \ Read more »](/content/blog/google-javascript-indexing-doesnt-matter-yet/ "Googlebot's JavaScript Indexing Doesn't Matter (Yet/index.html)")

  • The State of Client-Side JavaScript Errors\ \ TrackJS reveals the harsh reality: 39% of web page views experience JavaScript errors. This comprehensive report analyzes error patterns across browsers, frameworks, and identifies the "Big Five" most common JavaScript errors affecting applications globally.\ \ \ \ \ Todd H. Gardner\ \ August 11, 2015\ \ Read more »](/content/blog/the-state-of-client-side-javascript-errors/ "The State of Client-Side JavaScript Errors"/index.html)

  • Introducing Trends\ \ TrackJS Trends helps you identify important errors from the noise by ranking JavaScript errors like music charts. See top errors, biggest movers, and declining issues to prioritize debugging efforts effectively.\ \ \ \ \ Eric Brandes\ \ July 15, 2015\ \ Read more »](/content/blog/introducing-trends/ "Introducing Trends"/index.html)

  • Crossorigin Scripts and Corporate Proxies\ \ Corporate proxies can strip Origin headers from HTTP requests, breaking CORS and preventing scripts with crossorigin attributes from loading. We're recommending SSL for all TrackJS installations to avoid these issues.\ \ \ \ \ Todd H. Gardner\ \ July 10, 2015\ \ Read more »](/content/blog/crossorigin-scripts-and-corporate-proxies/ "Crossorigin Scripts and Corporate Proxies"/index.html)

  • Privacy-Enhanced Source Maps\ \ TrackJS introduces Privacy-Enhanced Source Maps - debug minified code without exposing proprietary sources publicly. Simply drag and drop source maps onto stack traces for instant un-minified debugging, all processed securely in-browser. Perfect for developers using build tools.\ \ \ \ \ Todd H. Gardner\ \ May 12, 2015\ \ Read more »](/content/blog/privacy-enhanced-source-maps/ "Privacy-Enhanced Source Maps"/index.html)

  • The Bar Demo\ \ How do you explain your software at a bar? We created a compelling card-based demo using MooCards to tell TrackJS's story in a way that grabs attention and opens conversations at conferences and meetups worldwide.\ \ \ \ \ Todd H. Gardner\ \ May 05, 2015\ \ Read more »](/content/blog/the-bar-demo/ "The Bar Demo"/index.html)

  • Error Monitoring in Sencha ExtJS from OhmzTech\ \ OhmzTech partnered with TrackJS to create an official Sencha ExtJS integration that captures error details and context. Perfect for debugging complex ExtJS applications in development and production environments.\ \ \ \ \ Todd H. Gardner\ \ May 04, 2015\ \ Read more »](/content/blog/error-monitoring-in-sencha-extjs-from-ohmztech/ "Error Monitoring in Sencha ExtJS from OhmzTech"/index.html)

  • Outages and Our Way Forward\ \ TrackJS has experienced unacceptable infrastructure problems due to Azure instability. We're migrating to dedicated hardware with automated infrastructure to improve availability and performance in the coming weeks.\ \ \ \ \ Todd H. Gardner\ \ April 29, 2015\ \ Read more »](/content/blog/outages-and-our-way-forward/ "Outages and Our Way Forward"/index.html)

  • Scaling TrackJS with Elasticsearch for Fun and Profit\ \ What happens when you hit #1 on HackerNews? You scale fast or die trying. Watch our webinar with Elasticsearch about migrating from SQL Server and optimizing for rapid growth while processing millions of errors.\ \ \ \ \ Todd H. Gardner\ \ January 20, 2015\ \ Read more »](/content/blog/scaling-trackjs-elasticsearch-fun-profit/ "Scaling TrackJS with Elasticsearch for Fun and Profit"/index.html)

  • Todd Gardner from TrackJS on STL Code Cast Show\ \ TrackJS co-founder Todd Gardner joins the STL Code Cast to discuss JavaScript error monitoring, the evolution of web development, native app trends, and surprisingly deep thoughts on building with Legos.\ \ \ \ \ Todd H. Gardner\ \ October 06, 2014\ \ Read more »](/content/blog/trackjs-stl-code-cast/ "Todd Gardner from TrackJS on STL Code Cast Show"/index.html)

  • A Major Upgrade to the JavaScript Tracker\ \ TrackJS 2.0.0 delivers more stack traces through automatic callback wrapping, enhanced configuration options including onError callbacks, and additional error details like remote IP and custom version labels.\ \ \ \ \ Todd H. Gardner\ \ July 03, 2014\ \ Read more »](/content/blog/major-upgrade-javascript-tracker/ "A Major Upgrade to the JavaScript Tracker"/index.html)

  • Hiding Noisy JavaScript Errors\ \ TrackJS now lets you filter out "Script error" messages and Googlebot errors to maintain high signal-to-noise ratios. Plus we've added newline formatting support for better console log readability.\ \ \ \ \ Eric Brandes\ \ April 17, 2014\ \ Read more »](/content/blog/hiding-noisy-javascript-errors/ "Hiding Noisy JavaScript Errors"/index.html)

  • Searching for JavaScript Errors\ \ TrackJS now offers full-text search across error messages, URLs, and telemetry data, plus telemetry count indicators to help prioritize which errors deserve your attention. JavaScript tracker 1.2.5 also included.\ \ \ \ \ Todd H. Gardner\ \ April 11, 2014\ \ Read more »](/content/blog/searching-javascript-errors/ "Searching for JavaScript Errors"/index.html)

  • A Better Way to Track JavaScript Errors\ \ JavaScript apps are getting more complex but error reporting remains primitive. TrackJS captures error telemetry including application context, network transactions, and visitor behavior to provide comprehensive debugging information.\ \ \ \ \ Todd H. Gardner\ \ April 02, 2014\ \ Read more »](/content/blog/better-way-track-javascript-errors/ "A Better Way to Track JavaScript Errors"/index.html)

Join our JavaScript Debugging Masterclass

Turn JavaScript debugging from frustration into mastery. Our expert training helps you build more reliable, error-free web applications.

Join now