.@Foxglove is 5 years old today! 🦊🎂
Highlights from the past year:
- Team: 62 (more than double since last year)
- Over 250 customers
- Closed more new business in 2025 than our first 4 years combined
- Hosted ACTUATE 2025 with over 500 attendees (2x bigger than last year)
- Shipped 35 releases with major new features: projects, python notebook integration, data loader extensions, maps in 3d, voxel grids, depth images, audio, custom event types, and more
- Rewrote our SDK for easier integration with Rust, Python, C++, and ROS
- Grew from 12k to 140k lines of Rust in production 🦀
- Raised $40M Series B to accelerate our growth
The industry has changed dramatically since 2021. "Physical AI" went from a term nobody used to a category attracting billions in investment. Robot foundation models are improving at an incredible pace. And building infrastructure to power our customers' data flywheel is more important than ever.
Incredibly proud of the hard work our team put in over this past year, and excited to show you some of the things we're currently cooking.
We're just getting started - it's still Day 1 🚀
. @foxglove is 4 years old today.
- Team: 28 (100% remote)
- 3.5x increase in Daily Active Users
- 4.7x increase in paid users
- 3.1x increase in ARR (mostly inbound)
- Petabytes of data under management
- Trusted by the world's top robotics companies including NVIDIA, OpenAI, Wayve, and Collaborative Robotics
- Our open source MCAP log format is now widely adopted across the industry
- Hosted our first-ever robotics developer conference (Actuate 2024)
Foxglove turbocharges robotics development and debugging—helping customers get to market faster and increase reliability in production.
We’re seeing rapid adoption across warehouse & logistics, autonomous vehicles, humanoids, agriculture, and defense. Basically any autonomous edge device (sensing + actuation) can benefit from Foxglove!
The robotics industry is growing insanely fast, and it’s a great time to be building. I often say that robotics today is like the PC industry in the ’80s—capabilities are advancing rapidly, and we’re less than a decade away from having an intelligent robot in every home and office. Walking, talking robots like R2-D2 and C-3PO used to seem like science fiction, but with recent AI breakthroughs, they’re close to becoming reality.
This week in Physical AI: Genie 4, the FineART dataset, AGIBOT's Worken metric, Bedrock's $600M round, Foundry's robot factory, Digit headed to more GXO sites, Kodiak's 75-truck deal with DTL, and ANYmal X shipping.
This is very easy to fix, I have a PR polish prompt I always run before merge.
Things like: remove unnecessary comments, ensure tests are necessary and not duplicative, ensure added/edited code is in the most idiomatic location, ensure public classes/functions are documented.
Much easier to do this stuff in a final polish pass with a cheaper model rather than over optimizing agents.md
Current agent pet peeve is how tainted the codebase gets with artifacts from the dialogue.
> tell agent to do X
> agent does X, but also does Y
> tell agent I don't want Y
> agent removes Y, but leaves comments everywhere like "X does x; don't worry, we don't do Y"
This week in Physical AI: Genie 4, the FineART dataset, AGIBOT's Worken metric, Bedrock's $600M round, Foundry's robot factory, Digit headed to more GXO sites, Kodiak's 75-truck deal with DTL, and ANYmal X shipping.
This week in Physical AI: Genie 4, the FineART dataset, AGIBOT's Worken metric, Bedrock's $600M round, Foundry's robot factory, Digit headed to more GXO sites, Kodiak's 75-truck deal with DTL, and ANYmal X shipping.
This is Genie 4, our most realistic and interactive world model yet. 🌐
Explore dynamic environments in real time to see how the scene responds, sounds, and how the people in it move, react, and speak.
@anybotics started shipping ANYmal X, which it calls the first legged robot certified for ATEX Zone 1 and 2 explosive atmospheres. First units go to Equinor and DSM-Firmenich. Missions run offline and sync data when the link returns.
https://t.co/Wpj7wGXcLu
Dear founders and VCs calling your thing “foundry” or “forge:”
Please choose another name unless your thing is an actual foundry or forge.
Sincerely,
American Actual Reindustrialization
Aditya Kamath has been building a ROS 2 stack for the SO-101 arm, and his latest write-up on our blog adds record and replay. He records a motion by hand-guiding the arm with its torque off, or by teleoperating it, and the joint states go straight into an MCAP bag through rosbag2_py.
Replay publishes joint-position targets at 50 Hz into the same path that IK teleop and the slider controls use, so even a hand-guided motion goes through the joint limits and the self-collision checker before it reaches the controller.
To check the mock mode he had been using as a simulator, he replayed one recording twice, once on the real arm and once in mock mode, and opened both MCAP files in Foxglove with Compare local files. After he shifted one source by about a second so the joint traces lined up, the median error came out at 0.2 to 2.4 degrees per joint. The mock arm also moved a bit faster than the real one, which you'd expect from a model with no gravity or contact.
Sim-to-real checks often come down to eyeballing two runs in separate windows. With both runs as plain MCAP on one timeline, you get a number per joint, and you can rerun the same comparison after a PID change or a change to the teleop code. Comparison Mode also takes more than two sources, so a whole series of runs can be lined up the same way.
https://t.co/rzuw0nDAfu
@Xjohannesh Seems like just a different UI? Except in the iOS app they are totally separate areas of the app with different chats. In the Mac app they are different presentations of the same chats.
Does anyone know what the difference is between ChatGPT and Codex mode in the desktop app? Both modes seem to support both features. Super confusing UI.
Aditya Kamath has been building a ROS 2 stack for the SO-101 arm, and his latest write-up on our blog adds record and replay. He records a motion by hand-guiding the arm with its torque off, or by teleoperating it, and the joint states go straight into an MCAP bag through rosbag2_py.
Replay publishes joint-position targets at 50 Hz into the same path that IK teleop and the slider controls use, so even a hand-guided motion goes through the joint limits and the self-collision checker before it reaches the controller.
To check the mock mode he had been using as a simulator, he replayed one recording twice, once on the real arm and once in mock mode, and opened both MCAP files in Foxglove with Compare local files. After he shifted one source by about a second so the joint traces lined up, the median error came out at 0.2 to 2.4 degrees per joint. The mock arm also moved a bit faster than the real one, which you'd expect from a model with no gravity or contact.
Sim-to-real checks often come down to eyeballing two runs in separate windows. With both runs as plain MCAP on one timeline, you get a number per joint, and you can rerun the same comparison after a PID change or a change to the teleop code. Comparison Mode also takes more than two sources, so a whole series of runs can be lined up the same way.
https://t.co/rzuw0nDAfu
I don’t understand why anyone connects their TV to the internet.
All the steps below are poor mitigation. Do a factory reset today and never enter a wifi password.
Plug in a Google TV or Apple TV, vastly superior interface anyway.
If you've ever wondered why smart TVs are so cheap, this is why.
@log4j rooted his Samsung and found an always-on hot mic, automatic content recognition, geolocation, network mapping, ad targeting and user profiling, shared with Samsung's "400 partners".
A lot of it can be blocked in <15 min, wrote a basic guide below.
What your TV is doing
The main culprit is ACR (automatic content recognition). Your TV screenshots what's on screen, fingerprints it, and sends it home to build your ad profile. Samsung does it every 500ms, LG every 10ms [1].
What is insane: it happens on connected devices too.
Plug in your laptop, your console, your work machine, and your TV can fingerprint that via HDMI [1].
He also found that if your Samsung doesn't have a mic, it'll look for one from a connected soundbar or bluetooth device.
https://t.co/vNdTnIQ6KF
It's on by default, and you likely agreed to it on the setup screen you clicked through in 10 seconds.
Step 1: Turn off ACR
Samsung: Terms & Privacy → Viewing Information Services
LG: Live Plus
Vizio: Viewing Data
Roku: "Use info from TV inputs"
Sony/Google TV: Samba Interactive TV
Menus vary by model, but those are the names to look for. While you're in there, opt out of interest-based ads, reset your advertising ID, decline every optional privacy agreement, turn off voice recognition, and delete apps you never open.
Step 2: Give smart devices their own network
Put the TV, cameras, speakers and vacuum on your router's guest/IoT network. The logic is simple: these devices rarely get patched. If one gets compromised (getting drastically more frequent with AI), it shouldn't be able to see your other devices or home network.
Step 3: Block trackers for the whole house with DNS-level filtering
NextDNS (cloud-based) is easy and has a solid free plan. Pi-hole is a little bit more work if you prefer self hosting. For simplicity we'll focus on the former.
1. Sign up at https://t.co/IwhafVWVM8 (free tier is plenty)
2. Privacy tab: add a blocklist (OISD is a good bet) and turn on Native Tracking Protection for Samsung, LG, Roku, Amazon (see attached image)
3. Setup tab: copy your endpoint
4. Paste it into your router's DNS settings as DNS-over-HTTPS/TLS (or use the IPs + "Link IP" if your router only does plain DNS)
5. Bonus: block outbound port 53 except to your router. Some devices hardcode their own DNS to get around you
Then open the NextDNS logs and watch how often your TV phones home. It's eye-opening. If an app or update breaks, find the domain in the logs and allowlist it.
Why they do this
TV prices are down 97% since 2000 [2]. Most of that is better manufacturing and brutal competition. But once margins on the hardware hit zero, the cost moved to you.
In Q3 2024, Vizio lost $6.7M selling TVs and made $115.8M in gross profit from ads and viewing data [3]. They've said on earnings calls that they keep TV prices low to grow the audience they sell to advertisers. Walmart bought them in 2024.
This isn't a conspiracy theory either. Vizio paid $2.2M to the FTC in 2017 for tracking 11 million TVs without consent. Last December, Texas sued Samsung, LG, Sony, Hisense and TCL over ACR. Samsung and LG have since agreed to stop collecting that data without explicit consent [4].
TL;DR
1. ACR off
2. Ads + voice off
3. Smart devices on their own network
4. NextDNS filtering on the router
Sources:
[1] ACR study: https://t.co/S1IS8lXNbA
[2] Cost of US consumer goods: https://t.co/nclXELXcbd
[3] Vizio Q3 2024: https://t.co/CrVbwc9ZXk
[4] Texas v. Samsung: https://t.co/wFOUdeh1if