Blogs
Meta logo

Meta

Engineering blog · engineering.fb.com

924posts1this week0watchers

Feature trails

68
Feature trailActive

Internet Latency and Network Performance Analysis

Meta's efforts to optimize internet latency and network performance have evolved significantly, encompassing advancements in data center distribution, edge network scaling, and content delivery. This includes the development and deployment of new transport protocols like QUIC and HTTP/3, which have demonstrated substantial improvements in request error rates, tail latency, and overall user experience across Meta's family of apps, including Facebook and Instagram. The company actively develops and deploys Network Time Security (NTS) to authenticate time synchronization, ensuring the integrity of time-based security decisions like certificate validation and token expiry. NTS addresses the inherent lack of authentication in NTP by using TLS 1.3 for key establishment and authenticated NTP packets with extension fields, preventing man-in-the-middle attacks that could manipulate system clocks to bypass security measures or cause widespread service disruptions. Meta has open-sourced its NTS implementation, including the protocol, server, and client library, to encourage wider adoption and improve the security posture of internet-connected devices.

120 posts · 2008–2026

Timeline

…20172026
Feature trailActive

Private Set Intersection and Secure Compute

Meta's advancements in private AI processing for messaging and user data analysis continue, with a focus on leveraging confidential computing and TEEs for privacy-preserving analytics. This includes the development of systems like Scam Alert, which uses on-device ML models and differentially private aggregates sent to TEEs for secure aggregation. The platform also supports private set intersection (PSI) and private matching for compute, enabling secure data analysis and ML training without revealing user data. This has now been extended to AI glasses, enabling hyper-personalized AI experiences while ensuring data remains inaccessible to Meta.

2 posts · 2020–2026

Timeline

20202026
Feature trailActive

Scalability and Large-Scale Systems Engineering

Meta's efforts in scalability and large-scale systems engineering continue to evolve, encompassing optimizations for AI workloads on accelerated platforms (TPUs and GPUs), improvements in mobile app performance (app size, startup times, crash rates), advancements in browser engineering for web app performance, and the development of new storage engines like MyRocks and RocksDB to improve space and write efficiency for databases like MySQL, particularly on flash storage. This includes the development and open-sourcing of Rebalancer, a generic, high-performance library for solving assignment problems, which has been used internally for over nine years to optimize resource allocation in datacenters, service placement, task placement, and traffic routing. Rebalancer addresses usability and scalability challenges by separating problem specification from solution, offering a language for describing problems and transforming them into expression graphs solvable by local search heuristics or mixed integer programming solvers. Its debugging tool, Rebalancer Explorer, facilitates rapid iteration and debugging.

172 posts · 2008–2026

Timeline

…20172026
Feature trailActive

Agentic Development and Just-in-Time Testing

Meta is exploring agentic development and introducing Just-in-Time Tests (JiTTests) as a novel approach to software testing. JiTTests leverage LLMs to automatically generate tests on-the-fly for specific code changes, aiming to catch bugs just before they enter production. This approach contrasts with traditional testing methods that rely on manually authored, maintained, and executed test suites. The JiTTest process involves inferring code change intent, creating mutants (code with deliberate f. This post details the Automated Compliance Hardening (ACH) tool, which uses mutation-guided, LLM-based test generation. ACH hardens platforms against regressions by generating undetected faults (mutants) in source code specific to an area of concern and using those same mutants to generate tests. ACH automatically generates unit tests that target a particular kind of fault, described in plain text, and provides verifiable assurances that its tests catch the described faults. This approach is a departure from traditional methods that focus on increasing code coverage, instead targeting specific faults. ACH has been applied to platforms like Facebook Feed, Instagram, Messenger, and WhatsApp.

5 posts · 2017–2026

Timeline

20172026
Feature trailActive

AI Research and Development

Meta's AI infrastructure continues to scale, with advancements in data ingestion pipelines and last-mile transformations to support the growing number of AI models and their training data requirements. Optimizations in data layout (feature flattening), memory consumption (client-side rebatching), and memory bandwidth utilization (FlatMaps) have led to significant improvements in training throughput and power efficiency, enabling the deployment of more AI models within power-constrained data centers. This includes the development of specialized hardware configurations, robust network fabrics (RoCE and InfiniBand), and data center deployment strategies to support large-scale LLM training, addressing challenges in hardware reliability, fast recovery, state preservation, and GPU connectivity. Specific optimizations for network communication include assigning communication patterns to network topology layers, implementing topology-aware collective communication algorithms, and investing in network load balancing and routing for fat flows.

144 posts · 2011–2026

Timeline

…20172026
Feature trailActive

Application Security and Permissions

Meta's secure-by-default frameworks continue to evolve, with a focus on leveraging generative AI to accelerate adoption and ensure consistent security enforcement across large codebases. This includes developing frameworks that mirror existing APIs, build on stable interfaces, and cover broad application user bases. SecureLinkLauncher (SLL) exemplifies this by preventing Android Intent Hijacking through fine-grained scope verification (Family, Same-key, Internal, Third-party). AI-powered tools, and now Privacy Aware Infrastructure (PAI) with Policy Zones, are being integrated to enforce complex privacy constraints like purpose limitation at scale, moving beyond traditional point-checking and data lineage methods to real-time information flow control.

74 posts · 2009–2026

Timeline

…20172026
Feature trailActive

Data Warehousing and Analytics Platform

Meta's data management systems have evolved into a composable architecture, leveraging reusable libraries and common APIs to improve interoperability, promote reusability, and enhance engineering efficiency. This includes the development and open-sourcing of Velox, a unified execution engine that significantly improves efficiency and accelerates innovation in data management systems. The focus is on decomposing monolithic systems into modular components, utilizing open standards like Apache Arrow, and enabling domain-specific extensions.

109 posts · 2008–2026

Timeline

…20172026
Feature trailActive

Virtual Reality (VR) and Augmented Reality (AR) Development

Meta's engagement with Virtual Reality (VR) and Augmented Reality (AR) development has evolved significantly, encompassing the creation of dedicated hardware like Oculus Quest, advancements in rendering pipelines, performance optimization tools, and the integration of deep learning for interactive actors and facial animation. This includes sophisticated audio design for immersive experiences, improvements to PC SDKs, and now, the development of next-generation AR hardware that is smaller, lighter, and more powerful. The introduction of AssetGen, a foundation model for 3D assets, further enhances content creation capabilities by enabling the generation of 3D assets and entire virtual worlds from text prompts, leveraging LLMs and AI. This represents a significant step towards democratizing 3D content creation for VR and AR experiences.

23 posts · 2015–2026

Timeline

…20172026
Feature trailActive

Wearable Battery Technology

Meta's AI glasses require ultra-narrow batteries to fit into the temple arms. Traditional pouch cells are insufficient due to their inability to be reshaped and their wasted volume. Meta has developed steel-can batteries with widths as narrow as 7mm, a significant advancement over existing technologies. This was achieved by replacing the traditional wound electrode architecture with die-cut stacked layers, resulting in lower impedance and improved peak power delivery. Subsequent generations have seen capacity increases and system-level efficiency improvements. The Oakley Meta Vanguards feature a battery in each temple arm, introducing cross-charging risks and sequencing complexity. The Meta Ray-Ban Display glasses introduced a 248 mAh cell for sustained screen power. The technology is being scaled across vendors for future wearables.

1 post · 2026

Timeline

Feature trailActive

Data Center Energy Efficiency and Optimization

Meta's commitment to optimizing data center energy usage and improving overall efficiency has evolved from initial strategies like improved airflow management and adjusted temperature set points to a fundamental redesign of hardware and data center infrastructure. This includes the development of custom-designed servers, power supplies, racks, and battery backup systems, leading to significant reductions in energy consumption and cost. A key milestone was the formation of the Open Compute Project. This evolution now includes leveraging AI for Scope 3 emission estimates for IT hardware and developing new concrete mixes for data center construction to achieve net-zero emissions.

67 posts · 2010–2026

Timeline

…20172026
Feature trailActive

Site Reliability and Outage Management

Meta's site reliability and outage management has evolved to include automated root cause analysis (RCA) for hardware and system failures using techniques like MachineChecker, FBAR, Cyborg, and a scalable RCA tool that sorts through millions of log entries using pre-aggregation with Scuba and the FP-Growth algorithm. The system analyzes chronological traces of user events to identify statistically distinctive patterns correlated with bugs, enabling faster and more accurate debugging. Oomd, a use case for AI-assisted root cause analysis, leverages heuristic-based retrieval and LLM-based ranking to identify potential code changes responsible for incidents, achieving 42% accuracy in identifying root causes at the creation time of investigations related to their web monorepo. This involves fine-tuning Llama 2 models with historical investigation data and employing strategies like ranking through election to manage context window limitations. Future work includes expanding capabilities to autonomous workflow execution and proactive incident detection.

70 posts · 2009–2026

Timeline

…20172026
Feature trailActive

Internet Connectivity Expansion and Infrastructure

Meta's efforts to expand internet access globally have evolved significantly, encompassing the establishment of the Connectivity Lab to develop novel aerospace and communication technologies like planes and satellites for internet delivery. This initiative is part of the broader Internet.org mission to improve and extend internet access to underserved regions. The development of advanced connectivity solutions, including the first full-scale model of Aquila (a high-altitude, long-endurance aircraft), represents a key milestone in this ongoing effort.

82 posts · 2012–2026

Timeline

…20172026
Feature trailActive

News Feed and Timeline Evolution

Meta's News Feed and timeline evolution has incorporated multithreaded rendering on Android using Litho. This enables smoother scrolling and richer content experiences by moving heavy UI computation to background threads, with Litho's declarative component model and Yoga layout system allowing for background thread layout operations and incremental rendering. This advancement addresses historical challenges in achieving asynchronous, multithreaded UI rendering on Android at scale, leading to sig This post details the complete rewrite of Facebook for iOS from the ground up, moving away from the Three20 framework and leveraging native iOS development for improved performance and reliability. Key technical advancements include offloading computationally expensive tasks (networking, JSON parsing, NSManagedObject creation, disk saving) from the main thread to background threads, asynchronous string layout calculations using Core Text, and optimizing startup performance by caching story heights in Core Data and fetching full story data asynchronously. The app also adopted a modular architecture, incorporating the codebase from Facebook Messenger, and introduced a "fallback" renderer for new story types to allow for server-side updates without requiring app updates. This represents a significant shift from HTML5-based mobile experiences to a native-first approach for depth and quality.

47 posts · 2009–2026

Timeline

…20172026
Feature trailActive

Social Recommendations System

Meta's social recommendations system has evolved to automatically extract and display place recommendations from user comments on posts. This involves natural language understanding to identify place mentions, entity resolution to match them to specific businesses, and dynamic feed updates across platforms to present this information seamlessly. The system aims to enhance local discovery and user engagement by leveraging social interactions. The Place Tips platform has been extended to support e-commerce recommendations, and the platform has scaled to manage over 1000 ML models for various ranking surfaces (Feed, Stories, Reels, comments, notifications, tagging), implementing a model registry, automated launch tooling, and a model stability metric to ensure reliability and accelerate ML velocity.

1 post · 2011–2026

Timeline

…20172026
Feature trailActive

Photo Storage and Serving Infrastructure

Meta's infrastructure for storing and serving user content has evolved significantly, starting with photos and expanding to encompass immersive media like 360 video and VR. This evolution includes developing dedicated mobile applications, enhancing user experience for capturing and sharing, and tackling complex technical challenges in processing and delivering new media formats. Key developments include the creation of custom video filters for transforming equirectangular layouts to cube maps, and the unification of video delivery systems across products like Watch and Reels to simplify infrastructure and improve developer velocity. This includes advancements in ranking, server-side brokering, and mobile client optimizations like client-side ranking.

55 posts · 2008–2026

Timeline

…20172026
Feature trailActive

Scalable Memory Allocation

Meta's approach to memory allocation has evolved to address the challenges of high-throughput, low-fragmentation, and robust heap profiling in large-scale server applications. This includes the adoption and optimization of jemalloc, a memory allocator that provides fast allocation/deallocation, consistent RAM usage through low fragmentation, and critical heap profiling capabilities. Innovations have focused on improving thread caching, increasing mutex granularity, optimizing dirty page purging, and a renewed commitment to modernizing the codebase and evolving the allocator for the latest hardware and workloads, including improvements to the huge-page allocator, memory efficiency mechanisms, and AArch64 optimizations.

3 posts · 2011–2026

Timeline

…20172026
Feature trailActive

Facebook Engineering Blog

Meta's engineering blog has evolved to serve as a platform for sharing technical details, architecture discussions, and code samples related to the systems that power Facebook. The blog aims to provide insights into how the site scales smoothly and ensures a high-quality user experience, covering a wide range of engineering topics. This includes collaborations with external organizations like Apple to integrate Facebook features into their products, such as the bi-directional sync of name tags between Facebook and iPhoto '09 via Facebook Connect APIs. This integration enhances user experience by allowing seamless sharing and connection across platforms.

145 posts · 2008–2026

Timeline

…20172026
Feature trailActive

Internal Innovation and Feature Development Process

Meta's internal innovation and feature development processes continue to evolve, focusing on accelerating the edit-compile-run cycle for engineers. This includes the development of tools like Buck and Buck2, which have seen significant performance improvements through reimagining compilation, enabling source-only stub generation and rule pipelining to reduce build times and increase parallelism. The integration of Kotlin's incremental compiler into Buck2 has further enhanced build speeds for Kotlin projects, and Meta's membership in the Kotlin Foundation signifies a commitment to supporting and advancing the Kotlin ecosystem through contributions to grants and open source initiatives.

41 posts · 2010–2026

Timeline

…20172026
Feature trailActive

CSS-in-JS at Scale

StyleX has become the standard styling system across Meta products, powering interfaces that are expressive, reusable, and performant. It compiles styles to static, collision-free atomic CSS at build time, significantly reducing CSS bundle sizes and improving maintainability. The system supports shareable values, contextual styling, and preserves most CSS features while allowing for dynamic styles through CSS variables. It also facilitates theming and animations.

1 post · 2016–2026

Timeline

…20172026
Feature trailActive

HTML5 Web Platform Adoption

Meta's adoption of HTML5 features has evolved to include a unified mobile web experience (m.facebook.com) that dynamically adapts to thousands of devices using a framework powered by XHP, Javelin, and WURFL. This enables the use of modern CSS3 and HTML5 APIs like local caching and history management for high-end devices, while providing a functional experience for feature phones. The framework allows engineers to build features once and have them render correctly across diverse devices, simplifying development and improving user experience. This includes crowdsourcing mobile device capabilities to augment the WURFL database, enabling more accurate device detection and feature support identification for image inlining, CSS spriting, and Unicode characters.

5 posts · 2010–2026

Timeline

…20172026
Feature trailActive

Open Source Strategy and Contributions

Meta's open source strategy continues to evolve with the release of Ax 1.0, an adaptive experimentation platform leveraging Bayesian optimization. Ax is used across Meta for hyperparameter optimization, GenAI data mixture discovery, production infrastructure tuning, and AR/VR hardware design. The platform empowers users to configure and run dynamic experiments, providing analysis for understanding system behavior and Pareto frontiers. Ax integrates with BoTorch for Bayesian optimization components. This post describes the application of Bayesian optimization for tuning online systems using A/B tests, which is a core component of experimentation platforms.

32 posts · 2008–2025

Timeline

…20172026
Feature trailActive

Python Typing System Evolution

Meta's Python typing system continues to evolve, with the 2025 survey indicating strong adoption driven by code quality and flexibility. Key challenges include third-party library support, complexity of advanced features like generics, and tooling fragmentation. The community is requesting features inspired by TypeScript, runtime enforcement, better generics, and improved tooling. Emerging Rust-based type checkers are gaining traction alongside established tools like Mypy. Developers rely on off-the-shelf solutions for static analysis, and the adoption of static typing is driven by its ability to catch errors early and improve code maintainability. This post details the initial release of Flow, a static type checker for JavaScript, which aims to improve developer productivity and code quality by providing early error checking and enhanced code intelligence. Flow's design emphasizes minimal compile-time overhead and works with existing JavaScript idioms through sophisticated program analysis and type inference. It scales by checking modules independently and incrementally, maintaining a persistent server for instant feedback. Flow supports ES6 features, JSX, and React applications, and is implemented in OCaml. It differs from TypeScript by inferring types automatically where possible, rather than requiring explicit annotations.

2 posts · 2014–2025

Timeline

…20172026
Feature trailActive

Source Control Systems

Meta's source control systems have evolved with the development and open-sourcing of Sapling, a Git-compatible client designed for extreme scalability and user-friendliness. This evolution includes the adoption of Rust for critical components like the Mononoke rewrite of Mercurial, demonstrating Rust's reliability and performance benefits for large-scale systems. The company has also established dedicated teams to support Rust development, improve interoperability with C++, and contribute to the broader open source community. Recent advancements include the introduction of directory branching, which addresses the challenges of managing multiple versions of code within a large monorepo by providing a scalable and developer-friendly alternative to full-repo branching. This new workflow allows for merging changes at the directory level while maintaining a linear commit graph at the repository level, resolving performance issues and enabling more flexible development workflows. Future work includes better integration of Git repositories into the Sapling monorepo through lightweight migration mechanisms.

7 posts · 2013–2025

Timeline

…20172026
Feature trailActive

AI for Scope 3 Emission Estimates

Meta is developing and open-sourcing a methodology that leverages AI to improve the estimation of Scope 3 emissions for IT hardware. This involves identifying similar components using NLP, extracting data from heterogeneous sources using LLMs, and applying generative AI to create a standardized taxonomy for IT hardware emissions. The goal is to drive industry-wide adoption of sustainable manufacturing practices by providing accurate and granular carbon footprint data.

1 post · 2025

Timeline

20252026
Feature trailCooling

Android App Performance Optimization with Baseline Profiles

Meta's Android apps have significantly improved performance through the extensive use of Android's Baseline Profiles feature. This has addressed challenges related to slow startups and post-startup user journeys by enabling profile-guided compiler and runtime optimizations. The company has developed infrastructure to generate and tune these profiles using user data, leading to performance improvements of up to 40% across critical metrics. This builds upon previous efforts like Interdex Ordering and the development of a bytecode instrumentation system for performance telemetry.

2 posts · 2012–2025

Timeline

…20172026
Feature trailCooling

Parse SDK and Mobile Backend Development

Meta's mobile development tools and backend services have evolved significantly, from the initial Parse SDK and React Native to advanced cross-platform development, improved IDEs, static analysis for bug detection, efficient image handling, tools for optimizing Android application bytecode, code generation for robust model object creation in iOS, and the open-sourcing of Bolts, a library of mobile developer tools including Tasks for managing complex async operations. The introduction and evolution of Kotlin as a primary language for Android development, including tools and strategies for large-scale codebase translation from Java, further enhances the platform's capabilities.

50 posts · 2011–2025

Timeline

…20172026
Feature trailCooling

Federation Platform and Privacy Waves for Compliance Task Distribution

Meta's Federation Platform and Privacy Waves program provide a scalable, structured approach to managing compliance-related tasks, including privacy, security, and accessibility. The platform breaks down initiatives into manageable workstreams, distributing tasks to appropriate teams and enabling progress tracking. Privacy Waves organizes these tasks into monthly batches for predictable cadence, improved quality, and accountability. This system manages over 100,000 tasks annually, saving significant engineering effort. Policy Zones extends this by enforcing purpose limitations on data, especially in large-scale batch processing systems, integrating with exabyte-scale data warehouses and stream processing systems to perform trillions of user consent checks per hour. It uses runtime enforcement and SQL parsing to propagate and enforce privacy annotations across millions of daily data flows, ensuring downstream data restrictions are at least as restrictive as upstream sources. The Policy Zone Manager (PZM) and Governable Data Annotations (GDAs) provide fine-grained information flow tracking and governance, allowing for reclassification of sensitive data labels when transformed and precise controls over annotation lifecycles.

1 post · 2025

Timeline

20252026
Feature trailCooling

HHVM JIT Compiler Performance Optimization

Meta's HHVM JIT compiler performance optimization has evolved with the introduction of Jump-Start, phased rollouts to share profile data, and dedicated web tenants for specialized workloads like GenAI. This includes optimizations for GenAI inference traffic, increasing request timeouts, adjusting thread-pool sizing, and leveraging JIT cache and request warm-up profiles. Shadow traffic is also used to maintain coverage in the steady state. These efforts have led to a 30% improvement in GenAI latency.

2 posts · 2010–2025

Timeline

…20172026
Feature trailCooling

Python Runtime and GIL Evolution

Meta's Python runtime evolution continues with the introduction of Immortal Objects (PEP-683), enabling true object immutability by bypassing reference count and garbage collection checks. This significantly reduces private memory usage by increasing shared memory and minimizing copy-on-write operations in multi-process architectures like Instagram's Django frontend servers. This advancement is a foundational step towards a multi-core Python runtime, supporting proposals like Per-Interpreter GIL. Additionally, Meta and Quansight have collaborated to improve type annotations in key Python libraries like pandas and numpy, increasing type coverage and developing tooling to streamline the process. They are also actively contributing to making the Python ecosystem compatible with free-threaded Python (Python 3.13+), which removes the Global Interpreter Lock (GIL) to enable true parallelism within a single process.

1 post · 2015–2025

Timeline

…20172026
Feature trailCooling

Private AI Processing for Messaging

Meta is introducing Private Processing, a confidential computing infrastructure built on Trusted Execution Environments (TEEs) to enable AI features for WhatsApp users while preserving message privacy. This system allows AI models to process requests like message summarization and writing suggestions within a secure cloud environment, ensuring that neither Meta nor WhatsApp can access the user's data. Key principles include optionality, transparency, and user control, with a focus on confidential processing, enforceable guarantees, and verifiable transparency. The system employs anonymous credentials, Oblivious HTTP (OHTTP) for routing and load balancing, and Remote Attestation + Transport Layer Security (RA-TLS) for secure session establishment. Threat modeling has been conducted to address potential insider and external threats, with plans to publish components and expand the bug bounty program. This technology aims to deliver AI capabilities with the privacy expected from WhatsApp, ensuring that only the user and their intended recipients can access personal messages.

1 post · 2025

Timeline

20252026
Feature trailQuiet since 2024

Serverless Jupyter Notebooks

Meta's Bento notebook platform has introduced serverless execution for 'lite' workloads by leveraging Pyodide and WebAssembly. This allows code execution directly in the browser, eliminating the need for remote compute provisioning for simpler tasks. The system integrates with existing cell magics and uses web workers to prevent browser lock-up. Future plans include improving workload heuristics, defaulting to serverless, and exploring hybrid execution for non-lite cells.

1 post · 2024

Timeline

20242026
Feature trailQuiet since 2024

Mobile Configuration Management for Mixed Reality Devices

Meta's MobileConfig platform has been extended to support mixed reality (MR) devices, including Meta Quest and Ray-Ban Meta smart glasses. This expansion addresses configuration challenges in MR ecosystems with longer development cycles and shared configuration needs across multiple apps. The platform has been adapted to run on various architectures, including microcontrollers, with optimizations for limited connectivity and scarce resources. This enables feature flagging, A/B testing, and remote control of device behavior.

1 post · 2023–2024

Timeline

20232026
Feature trailQuiet since 2024

Facebook Chat

Meta's real-time communication capabilities have evolved significantly, starting with the foundational challenges of providing real-time messaging and presence notifications with Facebook Chat. This involved overcoming issues with handling large-scale presence updates, ensuring timely message delivery through techniques like XHR long polling, and building fault-tolerant distributed systems. The 'mercury project' introduced modular design, test-oriented development, and functional programming to the backend. The Messages application back end was built from scratch to integrate email, SMS, Facebook Chat, and the existing Facebook Inbox, requiring a new infrastructure stack. This stack features application servers with an API entry point, distributed logic managed by cells and ZooKeeper for sharding and failover, a write-through cache, and a data access layer with a time-sequenced log and snapshots backed by HBase. Other services include an MTA proxy for email parsing, a discovery service for user-to-cell mapping, and a user index service for social information. Tools for daily deployments, monitoring, and performance analysis were also developed.

28 posts · 2008–2024

Timeline

…20172026
Feature trailQuiet since 2023

Automated Dead Code Cleanup

Meta's approach to code quality and maintenance has evolved with the development of Fixit 2, a next-generation auto-fixing linter for Python. Building on the foundation of Fixit and addressing limitations of previous tools like Flake8, Fixit 2 offers enhanced capabilities for custom lint rule creation, in-repo plugin support, hierarchical configuration, and automatic code fixes. It leverages LibCST for safe and precise code modification, enabling developers to improve code reliability and efficiency. This post also highlights the continued development and application of Sapienz and SapFix for automated software testing and bug fixing in mobile applications.

1 post · 2019–2023

Timeline

20192026
Feature trailQuiet since 2023

C and C++ Preprocessing Optimization

Meta's engineering blog posts have evolved to detail the development and open-sourcing of specialized tools that significantly improve build times for large C++ codebases. This includes the creation of 'warp', a fast C and C++ preprocessor, which replaces conventional preprocessors to achieve substantial end-to-end build speed improvements (10-40%). Warp's design leverages modern compiler optimizations and a componentized, range-based algorithmic approach, enabling rapid experimentation and perf

3 posts · 2013–2023

Timeline

…20172026
Feature trailQuiet since 2022

Static Analysis for Null Safety

Meta has developed and deployed Nullsafe, a static analysis tool for Java that detects NullPointerException (NPE) errors. This tool integrates into the developer workflow and has been used to make millions of lines of Java code null-safe, significantly reducing production NPE crashes and improving developer productivity. The system leverages compiler APIs, abstract syntax trees (AST), and control flow graphs (CFG) for type inference and checking, with a focus on ergonomic, scalable, and Kotlin-c

1 post · 2022

Timeline

20222026
Feature trailQuiet since 2022

JavaScript Memory Leak Detection Framework

Meta has open-sourced MemLab, a JavaScript memory testing framework that automates memory leak detection. MemLab helps engineers and developers identify and root-cause memory leaks in web applications by running headless browsers through predefined test scenarios, diffing JavaScript heap snapshots, generating retainer traces, and clustering them for analysis. It provides a graph-view API for JavaScript heaps and supports memory assertions for self-memory checking in Node.js or Jest tests. Meta has used MemLab to successfully contain unsustainable memory increases and identify memory leaks and memory optimization opportunities across its products and infrastructure.

2 posts · 2016–2022

Timeline

…20172026
Feature trailQuiet since 2022

Hermes JavaScript Engine Security Exploitation

Meta's Hermes JavaScript engine, optimized for mobile apps and React Native, has seen advancements in performance, download size, and memory utilization. Key architectural decisions include bytecode precompilation for faster startup, the absence of a JIT compiler to avoid performance regressions on primary metrics, and a garbage collector strategy focused on efficient memory and VA space usage. The engine supports ES6 and aims for standards compliance, with debugging capabilities via the Chrome DevTools protocol. JSI facilitates integration with React Native's Fabric and TurboModules. Future work includes profiling tools and broader debugger protocol support.

2 posts · 2019–2022

Timeline

20192026
Feature trailQuiet since 2022

Text Styling and Animation Framework

Instagram's text tools for Stories and Reels have evolved to include a comprehensive suite of dynamic text styles and animations. This includes ensuring consistent styling across all text types, introducing a user-friendly text style picker, and developing a robust system for managing and delivering fonts and other assets. The framework now supports complex text rendering features like ligatures, RTL text, emojis, and custom spans for emphasis and selective coloring, enabling richer user expression.

1 post · 2022

Timeline

20222026
Feature trailQuiet since 2022

Transparent Memory Offloading (TMO)

Meta's Transparent Memory Offloading (TMO) system, in production since 2021, has been successfully integrated into the Linux kernel. TMO automatically adjusts memory offloading to heterogeneous devices like compressed memory or SSDs based on real-time workload pressure metrics (PSI) and device performance. This system has achieved significant memory savings (20-32%) across millions of servers by intelligently migrating colder memory pages, addressing the growing demand for memory in applications like machine learning and the rising cost of DRAM.

1 post · 2022

Timeline

20222026
Feature trailQuiet since 2022

Internationalization and Language Modeling

Meta's advancements in internationalization and language processing have evolved from developing a community-driven translation application to enabling non-English characters in fan page URLs, which positively impacted search rankings. This also includes leveraging user contributions for site translations, exploring efficient real-time communication protocols like MQTT for applications like Facebook Messenger, developing a multilingual composer to allow users to write posts in multiple languages, and creating parallel corpora for NLP research. The current post details the use of a community-driven translation app to manage translations for dynamic content with named entities, employing glossaries, dynamic explosion based on token value features, and linguistic rules for inflection. It also discusses the creation of over 250 million individual language models capturing user dialects for applications like spam detection and speech recognition.

9 posts · 2009–2022

Timeline

…20172026
Feature trailQuiet since 2022

Mobile Localization Infrastructure

Meta has developed a custom mobile localization infrastructure featuring downloadable language packs for Android and iOS. This system, built around the FBT framework, addresses challenges in translation accuracy (supporting gendered text and plurals) and app size by enabling on-demand download of language packs. This infrastructure has been adopted by Facebook and Workplace, reducing IPA size and improving the delivery of localized experiences.

1 post · 2022

Timeline

20222026
Feature trailQuiet since 2022

De-identified Authentication

Meta's Anonymous Credential Service (ACS) enables de-identified authentication at the source, enhancing privacy and security for various use cases like de-identified telemetry and federated learning. The service architecture is designed for high availability and multitenancy, with features like token scope isolation and key rotation. Scaling lessons learned include optimizing credential reuse, mitigating traffic spikes through dithering and rate limiting, and streamlining onboarding with self-service.

1 post · 2021–2022

Timeline

20212026
Feature trailQuiet since 2022

Binary Optimization with Static Profiling

Meta's binary optimization efforts have evolved with the introduction of BOLT, a binary optimization and layout tool that optimizes placement of instructions in memory, thereby reducing CPU execution time. This complements existing tools like AutoFDO and works with applications built by any compiler. BOLT rearranges code inside functions based on their execution profile, improving instruction cache and TLB miss rates. It also performs advanced optimizations like jump table placement, identical code folding, and basic inlining.

1 post · 2018–2022

Timeline

20182026
Feature trailQuiet since 2021

App Size Compression and Optimization

Meta's approach to managing app size has evolved to include advanced compression techniques beyond traditional methods. Project LightSpeed for Messenger on iOS involved a complete rewrite of the codebase, reducing core code by 84% and binary size by 75%. This was achieved by leveraging native OS features, reusing UI components with dynamic templates powered by SQLite, and using SQLite as a universal system for data storage and management. A server broker was introduced as a gateway to server features. This post details efforts to improve Messenger's startup time and overall performance on Android and iOS by removing non-essential code, optimizing dependency injection via bytecode manipulation (ASM), reusing view controllers, moving audio playback to background threads, and reducing network requests. It also highlights the implementation of automated startup-timing tests on physical devices to catch performance regressions.

1 post · 2013–2021

Timeline

…20172026
Feature trailQuiet since 2021

Cassandra Distributed Storage System

Meta's infrastructure for storing and serving user content has evolved significantly, starting with photos and expanding to encompass immersive media like 360 video and VR. This evolution includes developing dedicated mobile applications, enhancing user experience for capturing and sharing, and tackling complex technical challenges in processing and delivering new media formats. Key developments include the creation of custom video filters for transforming equirectangular layouts to cube maps, a

4 posts · 2008–2021

Timeline

…20172026
Feature trailQuiet since 2021

Zero-Knowledge Proofs (STARKs)

Meta has open-sourced Winterfell, a general-purpose STARK prover and verifier written in Rust. Winterfell aims to make zero-knowledge proofs (ZKPs) accessible to average developers by abstracting away much of the cryptographic complexity. It leverages STARKs, which offer advantages like minimal cryptographic assumptions (requiring only collision-resistant hash functions), transparency (no trusted setup ceremonies), and performance benefits for uniform computations through massive parallelization. The system is highly configurable and allows users to describe computations in an Algebraic Intermediate Representation (AIR). Winterfell is published to crates.io and includes tutorials and examples for usage. Potential applications include blockchain privacy and scalability, as well as other security and privacy applications.

1 post · 2021

Timeline

20212026
Feature trailQuiet since 2021

Ribbon Filter Data Structure

The Ribbon filter is a new space-efficient data structure that serves as a practical alternative to Bloom filters. It offers near-continuous configurability in accuracy versus space trade-offs, with space overhead as low as 1% and O(1) query times, saving approximately 1/3 of memory compared to Bloom filters. Its construction algorithm is faster and more flexible, utilizing Gaussian elimination on a sorted coefficient matrix resembling a ribbon.

1 post · 2021

Timeline

20212026
Feature trailQuiet since 2021

Thrift for Haskell

Meta has open-sourced hsthrift, providing full Thrift support for Haskell projects. This enables Haskell clients and servers to communicate with other Thrift-based systems, leveraging fbthrift's efficient foundation. The toolchain includes a Haskell Thrift compiler that generates Haskell code for cross-service communication, with advanced features like required symbol pruning, AST transformations with formatting preservation (exactprint), typechecker plugins for custom rules, and splicing for typeclass instances. This release aims to facilitate the building of efficient distributed systems in Haskell and integration into existing Thrift ecosystems.

1 post · 2021

Timeline

20212026
Feature trailQuiet since 2020

Code Generation for SQLite Stored Procedures

Meta has developed CG/SQL, a code generation system for SQLite that allows developers to write stored procedures in a variant of T-SQL and compile them into C code. This system includes features for schema management, testing, query plan analysis, and interfacing with other languages. The CQL compiler enforces strong typing and hundreds of compile-time errors to prevent runtime SQL issues, ensuring correct and consistent use of SQLite APIs. It also automates database schema upgrades and generates unit tests for stored procedures.

1 post · 2020

Timeline

20202026
Feature trailQuiet since 2020

PCIe Debugging and Hardware Monitoring Tool

Pcicrawler provides a Python-based command-line interface for displaying, filtering, and exporting information about PCI/PCIe buses and devices, aiding in the diagnosis and automation of PCIe issues at scale. It offers a visual tree-like representation of PCI topology and machine-parsable JSON output, improving upon legacy tools like lspci for hardware health monitoring and discrepancy detection.

1 post · 2020

Timeline

20202026
Feature trailQuiet since 2020

Facebook Accessibility Features

Meta's commitment to accessibility has evolved to ensure its products are usable by people with disabilities. This includes developing programmatic solutions for generating alt text for images using object recognition technology, improving web content display, and implementing keyboard shortcuts. The development of automatic alt text for photos on Facebook for iOS, leveraging deep convolutional neural networks and a carefully selected set of concepts, represents a significant step towards providing descriptive content for visually impaired users. Enhancements for high contrast mode ensure critical UI elements are visible, and keyboard shortcuts improve navigation for users with motor impairments.

9 posts · 2014–2020

Timeline

…20172026
Feature trailQuiet since 2020

Haskell Code Refactoring Tool

Meta has developed and open-sourced Retrie, a code refactoring tool for Haskell that simplifies and enhances the process of codemodding large codebases. Retrie allows developers to express rewrites as Haskell equations, offering a balance between the power of AST manipulation and the speed of string replacement. It preserves local scoping, whitespace, and comments, while efficiently narrowing the search space before parsing. This tool has been instrumental in migrating and updating large Haskell codebases like the Sigma anti-abuse rule engine.

1 post · 2020

Timeline

20202026
Feature trailQuiet since 2019

Configuration Management and Overrides

Meta's configuration management systems have evolved from ZooKeeper-based solutions to a new peer-to-peer system called Location-Aware Distribution (LAD). LAD addresses the limitations of ZooKeeper, such as bottlenecks caused by strict ordering guarantees and thundering herds, by separating data storage from distribution and employing a tree-based distribution model. This allows for larger updates, increased subscriber capacity, and reduced latency, enabling more efficient configuration management for millions of servers. The system is being deployed for configuration management and evaluated for other large-scale content distribution applications.

1 post · 2018–2019

Timeline

20182026
Feature trailQuiet since 2019

Static Analysis Frameworks

Meta's static analysis capabilities continue to evolve with the introduction of Infer, a static program analyzer that identifies bugs before mobile code is shipped. Infer uses mathematical logic for symbolic reasoning, approximating human analysis of program execution. It reports problems caused by null pointer access and resource/memory leaks, which are responsible for a large percentage of app crashes. Infer runs incrementally, analyzing code modifications and automatically writing comments on This post details the development and open-sourcing of flint, a token-oriented C++ linter written in D. Flint was developed to address the performance and C++11 feature support limitations of existing linters. It preserves comment information and allows for custom lint rules. The translation from C++ to D resulted in a smaller, faster, and more maintainable tool. Flint includes checks for blocklisted tokens/identifiers, reserved identifiers, include guards, incorrect memset arguments, questionable includes, specific file inclusion patterns, self-initialization, smart pointer usage, open-source dependencies, namespace-scoped statics in headers, include order, exception handling, constructor patterns, throw specifications, heap exceptions, conflicting using directives, namespace usage in headers, and improper use of library internals.

1 post · 2014–2019

Timeline

…20172026
Feature trailQuiet since 2018

Self-contained Executable Distribution

Meta's efforts in distributing self-contained executables have evolved with XARs, an efficient system for packaging code and data dependencies into single, highly compressed files. This system aims to simplify deployment, improve robustness, and enhance performance for applications across various languages, including Python, Node.js, and Lua. XARs leverage squashfs and FUSE for on-demand mounting and unmounting, offering near-zero overhead and faster start times compared to previous methods like PARs and PEX files. This capability is crucial for large-scale deployments where managing diverse configurations and dependencies is a significant operational challenge.

1 post · 2018

Timeline

20182026
Feature trailQuiet since 2018

Developer Tools

Meta's developer tooling has evolved with the introduction and open-sourcing of Flipper, an extensible cross-platform debugging tool for iOS and Android applications. Flipper builds upon lessons learned from Stetho, offering a more extensible, visually interactive, and cross-platform debugging experience. It allows engineers to inspect view hierarchies (including Litho and ComponentKit), surface GraphQL requests, track performance markers, and debug network traffic and system logs. Flipper's architecture consists of a desktop client (built with Electron, React, Flow, Metro, RSocket, Yarn) and a mobile SDK (using Folly, RSocket), enabling bidirectional communication and custom plugin development for specific use cases. The tool aims to improve developer workflows by providing deeper insights into application structure and behavior.

1 post · 2018

Timeline

20182026
Feature trailQuiet since 2017

Static Race Detection

Meta's efforts in static race detection have evolved with the development and open-sourcing of RacerD, a tool built on the Infer static analysis platform. RacerD employs symbolic reasoning and compositional analysis to identify data races in Java programs without requiring program execution. It has been instrumental in catching concurrency issues in production codebases, supporting the conversion of critical features like News Feed to multi-threaded models. The focus is on high signal detection, interprocedural analysis, and speed to integrate into developer workflows.

1 post · 2017

Timeline

20172026
Feature trailQuiet since 2017

Relay GraphQL framework

Meta's Relay framework has evolved to Relay Modern, a new version designed for improved ease of use, extensibility, and performance, particularly on mobile devices. Key advancements include the adoption of static queries and ahead-of-time optimization for reduced network traffic and faster data fetching, a simplified mutation API for better predictability and performance, and built-in garbage collection for efficient memory management. The framework has been modularized into a compiler, runtime, and client libraries. GraphQL, the underlying query language, was developed to address the limitations of RESTful APIs for mobile data fetching, offering a strongly typed, hierarchical, and version-free approach that mirrors the data shape requested by the client. It powers hundreds of billions of API calls daily and is being open-sourced.

3 posts · 2015–2017

Timeline

…20172026
Feature trailQuiet since 2017

Accessible UI Navigation and ARIA Grid Semantics

Meta's development of accessible UI patterns has evolved to include the ARIA Grid semantics and logical grid traversal. This pattern reduces tab stops for keyboard users by allowing navigation within a designated grid area using arrow keys, and expresses structure to assistive technologies. Implementations in React.js provide components for managing focus across grid cells and within cells, addressing challenges like focus management during cell deletion and the integration of various focus stra. This post details the React Native Accessibility API, enabling developers to make React Native apps usable by assistive technologies like screen readers. It covers making UI elements accessible, providing descriptive labels, grouping related information for screen readers, and dynamically adjusting touch actions based on accessibility status. The Ads Manager app is used as an example to demonstrate these concepts.

1 post · 2015–2017

Timeline

…20172026
Feature trailQuiet since 2016

Touchscreen Interface Design and Interaction

Meta's evolution in touchscreen interface design and interaction has progressed from foundational principles of direct manipulation on touchscreens to the development and open-sourcing of sophisticated animation libraries like Rebound. This library enables physics-based animations, allowing for more natural and responsive user experiences, as seen in features like Chat Heads and Facebook Home. The 'Building Paper' blog post details the creation of the Paper app, which heavily relies on gesture-driven interactions and physics-based animations. This post specifically discusses how touchscreens break traditional GUI design assumptions, particularly regarding the pointer model and Fitts's Law, leading to new considerations for target sizes, occlusion, eye focus, and multi-touch gestures. It highlights the shift from abstract pointers to direct finger interaction, necessitating a re-evaluation of UI design principles for mobile and touch-first devices.

11 posts · 2010–2016

Timeline

…20172026
Feature trailQuiet since 2016

Animation Rendering Engine

Meta's animation rendering engine has evolved with the introduction of Pop, an open-source iOS animation engine that provides dynamic animations like spring and decay, building upon Core Animation's capabilities. This builds on previous efforts in delivering high-quality, scalable animations to mobile clients, such as Keyframes for After Effects animations. The Paper app further advanced this by implementing physics-simulating animations for a more intuitive and realistic user experience, going on to open-source Rebound, a physics-based animation library for Android that allows for the creation of spring dynamics animations, enabling more natural and responsive user experiences.

1 post · 2013–2016

Timeline

…20172026
Feature trailQuiet since 2016

Primitive Data Structures for Android

Meta's ongoing development in mobile engineering includes the creation of specialized primitive data structures for Android to optimize performance and memory usage. This involves implementing custom Set implementations like LongArraySet and IntArraySet, which leverage Android's SparseArrayCompat and LongSparseArray for efficient storage and retrieval of primitive types. These structures are designed to offer performance benefits over traditional Java collections for specific use cases, particularly by reducing object allocations and mitigating garbage collection pauses.

2 posts · 2016

Timeline

…20172026
Feature trailQuiet since 2016

Configuration Management and Cookbook Design

Meta's configuration management systems have evolved from ZooKeeper-based solutions to a new peer-to-peer system called Location-Aware Distribution (LAD). LAD addresses the limitations of ZooKeeper, such as bottlenecks caused by strict ordering guarantees and thundering herds, by separating data storage from distribution and employing a tree-based distribution model. This allows for larger updates, increased subscriber capacity, and reduced latency, enabling more efficient configuration management. This post details a novel approach to cookbook design using data structures to provide flexible, maintainable, and idempotent configuration management, and open-sources tools and example cookbooks to promote this model.

1 post · 2014–2016

Timeline

…20172026
Feature trailQuiet since 2015

Asynchronous Programming with Futures

Meta's asynchronous programming capabilities have evolved with the introduction and widespread adoption of Futures, a pattern for expressing asynchronous computations in a natural and composable way. This includes the development of Folly Futures for C++11, which provides a robust implementation of futures that allows for chaining callbacks, sequential and parallel composition, and explicit control over execution contexts via Executors. The framework addresses the complexities of traditional callback-based asynchronous programming, such as 'callback hell' and 'callback pyramids', by offering cleaner error handling and improved code readability. Case studies from Facebook and Instagram demonstrate significant improvements in latency, robustness, and code maintainability through the adoption of futures.

1 post · 2015

Timeline

…20172026
Feature trailQuiet since 2014

Experimentation

Meta's mobile A/B testing framework, Airlock, evolved to support native iOS and Android development. It addresses challenges in coordinating feature releases, comparing metric data across app versions, and ensuring data integrity through a two-way handshake between client and server. The system scales to support numerous experiments and variations, with optimizations for cold-start performance and minimized data flow. Airlock enables the testing of UI changes, feature performance, and reliability improvements, allowing for iterative development and informed shipping decisions.

1 post · 2014

Timeline

…20172026
Feature trailQuiet since 2013

C++ Performance Optimization Techniques

Meta's C++ engineering practices have evolved to include the development and open-sourcing of Folly, a collection of high-performance, reusable C++ library artifacts. Folly addresses bottlenecks in open-sourcing internal code by providing components that are faster, more efficient, and easier to use than existing alternatives. Key components include performance-optimized data structures like AtomicHashMap for concurrent in-memory indexes, and string utilities that offer improved terseness, type safety, and performance over standard libraries. Folly complements existing libraries like Boost and the Standard Library, with a focus on practical, production-ready solutions.

1 post · 2012–2013

Timeline

…20172026
Feature trailQuiet since 2011

Browser Automation Framework Migration

Meta's approach to browser automation for testing has evolved from using Watir, a Ruby-based integration testing library, to adopting WebDriver. This migration was driven by the need for greater language independence, improved accuracy, and better integration with existing PHP unit testing frameworks. The development of a PHP WebDriver client allows for the reuse of mature testing infrastructure, streamlining the process of writing and running browser-based tests.

1 post · 2011

Timeline

…20172026