Blitzy logo
OverviewUse-casesSecurity
Company
DocsBlogVideos
Pricing
OverviewUse-casesSecurity
Company
DocsBlogVideos
Pricing

The Blitzy BlueZ: Building Bluetooth Support

Apr 14, 2026 • Carly Levinsohn • 5 min read

The Blitzy BlueZ: Building Bluetooth Support

Originally developed as a Qualcomm project by Max Krasnyansky, BlueZ has been the official Linux Bluetooth protocol for roughly 25 years. Since the hallmark release of BlueZ under General Public License in May 2001, Qualcomm has had significant influence on Bluetooth development.

One month later, Linus Torvalds incorporated the BlueZ library into the 2.4.6 release of the Linux kernel. From then on, Linux got its own Bluetooth stack.

In January 2004, BlueZ was handed over to Marcel Holtmann as the system's maintainer.

The new maintainer led the library to eventually achieve official qualification as a subsystem by Bluetooth SIG in 2005. With support from TomTom BV (a European-based software company), the conformance was a crucial stepping stone for adopting Bluetooth technology in Linux-based embedded devices and PCs.

BlueZ's Significance

Qualcomm did not create BlueZ in a vacuum. Their position in the Bluetooth development market made the project inevitable.

Shortly after the Bluetooth Special Interest Group's (SIG) founding, Qualcomm was an "Early Adopter" for the organization in 1998. Qualcomm's interest in Bluetooth technology did not stop here.

The company had invested in wireless chipsets. Bluetooth was brand new at the time (with version 1.0 released in 1999), and Linux was becoming the operating system of choice for both mobile and embedded devices. The problem: Linux had no Bluetooth stack. If a chipmaker like Qualcomm wanted their Bluetooth silicon to work on Linux-based devices, someone had to write the host-side software.

BlueZ is a classic example of a hardware company open-sourcing driver and protocol software to encourage adoption of their chips: the same tactic other enterprises like Intel, Broadcom and others have done repeatedly.

The Challenges in Recreating BlueZ

Sitting at approximately 408,000 lines with corner cases and minimal comments, BlueZ is a daunting opponent for any refactor. The system has been a standard for many years, but exploits in memory management and security lay dormant in the code.

BlueZ communicates through D-Bus messages and signals. The protocol works nothing like Bluetooth APIs on Android, iOS, or Windows. Most developers have to relearn everything just to get started.

Then, there's debugging. BlueZ is split across the kernel, userspace, and an audio daemon.

A bug might live in any of the three, and each ships on its own release cycle tied to different kernel versions. Reproducing an issue on one system tells you little about another. That fragmentation makes every fix a maintenance problem.

The underlying architecture prevents BlueZ from staying current with the rapid changes in the Bluetooth ecosystem. Interoperability fixes are slow to reach end users. Fewer bugs in Linux Bluetooth are found and resolved because of the contributing overhead required for peripheral manufacturers working on the software.

BlueZ's vicious cycle can be broken with a simpler, userspace-first architecture. That new approach is exactly what ChromeOS decided to do.

In approximately two and a half years, ChromeOS' Project Floss was able to achieve feature parity with BlueZ only on common Bluetooth use cases like keyboards and audio devices. The real feat was in the adjusted architecture: Floss contained their entire implementation in one daemon sandboxed in userspace with minimal kernel permissions. The initiative remains an internal Google success story rather than a drop-in replacement for BlueZ in Linux.

Project Floss is a captivating achievement for refactoring the C library. The initiative drove our engineers to push for an even greater technical challenge: could Blitzy take on BlueZ in its entirety?

What Blitzy Built

The platform rewrote the BlueZ v5.86 userspace in idiomatic Rust. Ultimately, Blitzy built a memory-safe, async-first Cargo workspace all while preserving byte-identical D-Bus contracts and wire protocol ending. The prompt focused on four main deliverables:

  • Eliminating memory management vulnerabilities
  • Replacing GLib/ELL event loops with tokio async runtime
  • Substituting libdbus-1/gdbus with type-safe zbus 5.x bindings
  • Preserving 100% of the config file and D-Bus API compatibility

See the project guide that recaps the work. The results are as follows:

  • 8 Cargo workspace crates replacing 5 daemon binaries + shared libraries
  • 253 Rust source files (approx. 380,513 LOC) replacing 715 C files (approx. 522,547 LOC)
  • 4,339 tests passing with 0 failures in unit, integration, and doc-tests
  • 30+ D-Bus interfaces implemented via #[zbus::interface] proc macros
  • CI pipeline with four parallel jobs (fmt, clippy, build, test)
  • Gate 6 unsafe code audit: 272 blocks, 100% SAFETY comment coverage

Blitzy completed 90.6% of the project equating to 920 engineering hours in days.

The remaining work is well-defined and understood. The table below shows the estimated time each task will take to complete for an engineer with corresponding priority level:

Task Hours Priority
Gate 1 — Live daemon E2E boundary verification 16 High
Gate 4 — btsnoop replay + mgmt-tester suite 16 High
Gate 5 — API contract verification (busctl XML diff) 12 High
Gate 8 — Integration sign-off (live smoke test) 8 High
Gate 3 — Performance baseline benchmarking vs C 12 Medium
Hardware integration testing on physical adapters 12 Medium
Production deployment & systemd integration testing 8 Medium
D-Bus security policy review & hardening 4 Medium
Performance tuning (if thresholds not met) 8 Low
Documentation updates & production runbooks 4 Low

Implications

The original BlueZ was not maintained but managed.

Adding onto the library meant navigating many implicit conventions, tracing cross-cutting dependencies across daemon boundaries and traversing steep learning curves. The difficulties made new codebase changes risky, causing contributors to lessen and the library to calcify. Blitzy's rewrite removes that bottleneck.

The final codebase fanned out to eight isolated crates that allow engineers to work on one module and clearly understand its explicit boundaries and dependencies. Declarative D-Bus interfaces create readability with API contracts visible at a glance. All 272 safe blocks carry a documented safety justification, so engineers can comprehend the reasoning behind them.

The real deliverable in our refactoring efforts is a codebase that does not inhibit its own evolution. Blitzy's implementation is one that contributors can easily read, CI can enforce, and 4,300 tests can verify without depending on any one individual's knowledge.

Blitzy enables BlueZ to outlive its builders: a goal all great creators dream about.

Interested in learning more about what your team can build with Blitzy? Learn more here.

More from the blog

View all
How Blitzy Optimized Our GTM Team

How Blitzy Optimized Our GTM Team

Jun 04, 2026 • Carly Levinsohn • 3 min read

A Quick Blitzy Chat:  3 Codebases’ Takes on Prompting

A Quick Blitzy Chat: 3 Codebases’ Takes on Prompting

May 28, 2026 • Carly Levinsohn • 7 min read

Frequently asked questions

What is Blitzy?

toggle button

Blitzy enables development teams to transform six-month software projects into six-day turnarounds using Blitzy OS, an agentic platform that enables thousands of AI Agents to 'think' and cooperate for hours to bulk build software with precision. The platform builds everything AI can deliver in a precise manner, around 80% of any roadmap or new product, supplemented with a human engineering guide to complete the remaining 20% needed for production. With over 27 patents and counting, Blitzy is actively hiring PhDs and senior developers in Cambridge, MA who have a passion for building AI that leverages 'System 2 Thinking' to solve problems at inference.

Who is Blitzy for?

toggle button

Enterprises that aim to dramatically accelerate their software development velocity, development agencies with enterprise clients, development teams with complex existing products, and individuals looking to accelerate their own velocity on complex builds.

How does Blitzy's technology work?

toggle button

Our patent-pending code ingestion framework maps a curated selection of robust, reliable, and secure open source software libraries that we track by version and update frequently. Combined with our proprietary code generation technology that specializes on enforcing enterprise-class software policies, Blitzy far exceeds the utility of typical chatbots and co-pilots in creating production-ready software at scale.

Is Blitzy a coding co-pilot?

toggle button

Nope. Blitzy surpasses traditional co-pilots with its ability to autonomously generate nearly-complete code repositories, not just snippets. It features a daily-refreshed knowledge base, avoiding the pitfalls of outdated information. Blitzy's proprietary codebase representation system enables deep understanding of generated code, offering highly contextual and relevant suggestions for your entire repository.

What's my role in Blitzy's development process?

toggle button

Your team is responsible for bringing the requirements, and as an approver during the technical specification stage. We ask you to edit/approve the Technical Specification. The document is editable, so you can edit and approve to get exactly what you had in mind.

How does Blitzy decide which tasks to delegate to human developers?

toggle button

Blitzy's multi-agent system is meticulously and rigorously trained to know what it can accomplish, and what needs to be left for the human engineers. This ensures you only receive quality code and have a clear picture of remaining tasks.

Does Blitzy do more than just autonomous code generation?

toggle button

Yes. Blitzy is a comprehensive platform that provides end-to-end development assistance. We support the entire development lifecycle by taking descriptive inputs and generating software requirements documents, technical design, code structure, and generative code within repos for your product.

Is this high quality and secure?

toggle button

Quality and Security matter A LOT to us, and was one of our biggest frustrations with the co-pilots we tried on the market. This was the inspiration to develop a system trained to deliver enterprise quality. We train our agents to operate with enterprise standards with multiple QA agents checking each others work before you ever receive a line of code. Ultimately, we provide high quality code repositories, but your team should QA/QC, including testing security.

What is the typical cost of your solution?

toggle button

Blitzy uses a two-phase pricing model: evaluation followed by deployment. This structure enables enterprises to validate ROI at their preferred scale before committing to organization-wide implementation. The evaluation phase provides three options. Reverse Engineer ($0) offers an initial assessment with complete codebase reverse engineering and understanding up to 100K lines of code, Proof of Concept ($50K for 2-month term) where Blitzy delivers a guided POC to demonstrate value, or Structured Pilot ($250K for 6-month term) which fully deploys Blitzy in your environment with 5M lines onboarding and 1.25M lines generation to prove production readiness. Following successful evaluation, organizations choose between three deployment paths. Commercial ($500K typical investment per year) adopts Blitzy on one team to accelerate a defined initiative, with 20M lines onboarding included and $0.10 per line for additional onboarding, dedicated infrastructure, and SAML-SSO. Enterprise ($5M typical investment per year) rolls Blitzy out across your engineering organization with 50M lines onboarding at $0.10 per line, a Dedicated AI Solutions Consultant, and 2 Forward Deployed Engineers. Transformation ($50M typical investment per year) provides infinite code context, custom deployment, and embedded teams including a Field CTO, Dedicated AI Solutions Consultant, 6 Forward Deployed Engineers, and 2 Forward Deployed Designers for complete digital transformation. All tiers maintain SOC 2 Type II compliance, ISO 27001 Certification, and guarantee no training on your code. Pricing operates on a usage-based model at $0.20 per line generated, aligning costs directly with value delivered.

After submitting my prompt, Blitzy added functionality in my tech spec that I did not expect. What do I do?

toggle button

The system defaults to taking advantage of all technology upgrades when modernizing or upgrading to the latest technology stack. For example, if you specify an upgrade to Java 21, the system will by default implement virtual threads, as it's generally seen as a superior technical approach. If you do not want this, you must simply tell the system to 'make as few changes as possible to achieve the desired request'. Being as specific as possible about what functionality is (and is not) desired helps yield results that will align with expectations.

What do Blitzy agents rely on as a source of truth to represent my existing codebase?

toggle button

Blitzy agents rely on the actual source code of your existing codebase—not the Tech Spec documentation—when performing refactors or extending functionality. However, an accurate Tech Spec significantly aids the system's efficiency in querying the underlying representation of the code. Therefore, investing time to ensure the Tech Spec reflects the core features of the application will yield expectation-aligned results and will save time with last-mile development.

Can Blitzy work with existing products and code bases?

toggle button

Yes! Blitzy excels at working with existing codebases, using them as a foundation to ensure consistent, high-quality development. The platform enables you to add new features to existing products, generate comprehensive documentation, and tackle technical debt by upgrading legacy systems to state-of-the-art technologies or refactoring complex codebases. Our platform deploys dedicated AI agents that map and understand your codebase before generation, ensuring intelligent, contextualized development that aligns with your existing patterns and standards.

What programming languages does Blitzy support?

toggle button

Blitzy's AI platform works with all programming languages.

How should I structure my prompts for Blitzy?

toggle button

Structure and organization are crucial when prompting Blitzy. The most effective prompts follow our prompting template with clear sections for WHY (vision & purpose), WHAT (core requirements), and HOW (technical details, user experience & implementation priorities). Each section should be detailed but concise, focusing on essential information while providing relevant context. Including structured frameworks and concrete examples - like data models, user stories, or feature templates - helps Blitzy deliver more precise and purposeful solutions.

What information does Blitzy need to compile and run my code?

toggle button

During code generation, Blitzy compiles your codebase and performs runtime validation to ensure the generated code works correctly. To enable this, we require: (1) Internal dependencies - any private packages, libraries, or binaries not publicly available that your code needs to build and run, (2) Environment variables and secrets - API keys, credentials, and configuration values required for compilation and runtime (shared securely through our encrypted UI, never exposed to AI agents), and (3) Build instructions - the specific steps or scripts needed to compile your code, typically found in your README or setup documentation. This information allows Blitzy to replicate your development environment and verify that all generated code functions properly before delivery.

How can I exclude certain files or folders from Blitzy's code generation?

toggle button

Create a .blitzyignore file in your repository's root directory to specify which files or paths Blitzy should exclude during tech-spec generation and code generation. This works similarly to .gitignore - simply list the file patterns, directories, or specific files you want Blitzy to skip, using standard gitignore syntax like *.log, /build/, or config/secrets.json. To ensure Blitzy respects these exclusions, mention in both your codebase context prompt and target state prompt that Blitzy should reference the .blitzyignore file and exclude those paths from processing.

Can I cancel my project/job (code gen) once in progress?

toggle button

At this time, jobs are not cancelable. Once you submit, it consumes the assigned quota.

Build enterprise software in days, not months.

Start buildingTalk to an expert
Blitzy

Blitzy

One Kendall Square,

Cambridge,

MA 02139

© 2026 Blitzy. All rights reserved

Product

  • Overview
  • Use-cases
  • Security
  • Pricing

Company

  • About us
  • Careers

Support

  • Help
  • Service status
  • Trust center

Resources

  • Docs
  • Blog
  • Videos

Social

  • YouTube
  • LinkedIn

Legal

  • Terms of use
  • Privacy policy