Launch HN: Sorcerer (YC S24) – Weather balloons that collect more data

365 points by tndl ↗ HN
Hey HN! We’re Max, Alex, and Austin, the team behind Sorcerer (https://sorcerer.earth). Sorcerer builds weather balloons that last for over six months, collecting 1000x more data per dollar and reaching previously inaccessible regions.

In 1981, weather disasters caused $3.5 billion in damages in the United States. In 2023, that number was $94.9 billion (https://www.ncei.noaa.gov/access/billions/time-series). The National Weather Service spends billions annually on its network of weather balloons, satellites, and aircraft sensors – generating hundreds of terabytes of data every day. This data, called observation data, is fed into massive supercomputers running advanced physics to produce global weather forecasts. Despite this cost, there are still places in the US where we don't know what the temperature will be two days from now: https://www.washingtonpost.com/climate-environment/interacti.... And for the rest of the world that lacks weather infrastructure? There’s always the Weather Rock: https://en.wikipedia.org/wiki/Weather_rock.

The most important data for these forecasts come from vertical data ‘slices’ of the atmosphere, called soundings. Every day 2,500 single-use latex radiosondes are launched across the globe to collect these soundings. They stay aloft for about two hours before popping and falling back to Earth. Launch sites for these systems are sparse in Latin America and Africa, and they’re completely non-existent over oceans. This leaves about 80% of the globe with inadequate weather data for accurate predictions.

The coverage gap became painfully evident to Max and Alex during their time at Urban Sky. While building balloons for high-altitude aerial imaging, they kept running into a problem: no matter what weather forecast they used, they couldn’t get accurate wind predictions for the upper atmosphere. They tried all of the free and commercial forecast products, but none of them were accurate enough. Digging into it more, we learned that a big part of the problem was the lack of high-quality in-situ data at those altitudes.

To solve this problem, our systems ascend and descend between sea level and 65,000ft several times a day to collect vertical data soundings. Each vehicle (balloon + payload) weighs less than a pound and can be launched from anywhere in the world, per the FAA and ICAO reg. Here’s one we launched from Potrero Hill in SF, https://youtu.be/75fN5WpRWH0 and here’s another near the Golden Gate Bridge, https://youtu.be/7yLmzLPUFVQ. Although we can’t “drive” these balloons laterally, we can use opposing wind layers to target or avoid specific regions. Here’s what a few simulated flight paths look like, to give you an idea: https://youtu.be/F_Di8cjaEUY

Our payload uses a satellite transceiver for communications and a small, thin film solar panel array to generate power. In addition to the weather data, we also get real-time telemetry from the vehicles, which we use to optimize their flight paths. This includes maintaining the optimal spacing between balloons and steering them to a recovery zone at the end of their lifespan so we can recycle them.

These systems spend most of their time in the stratosphere which is an extremely unforgiving environment. We’ll often see temperatures as low as -80°C while flying...

172 comments

[ 2.4 ms ] story [ 193 ms ] thread
This is awesome! Congratulations! It makes sense to me as a layperson that as more companies are doing more expensive things in the sky there would be greater value to high-precision weather insights. This seems like an exciting mission and well-timed business.
This is one of the most fascinating Launch HNs in a while. Excited to follow your progress and congrats on the launch!
It’s a literal launch!
Being a balloon company means we get to launch pretty much every day, which is very fun :)
My coworker used to fly the chase plane for the Canadian Space Agency's balloons; they would call position and altitude for air traffic control and recover the instrument gondola. Lots of bushwhacking; one came down on an eagle's nest and mama wouldn't let them near the tree.
Yeah, I don't have anything of substance to say other than it's really cool to see someone doing something innovative in a niche I'd never really thought of.
Very cool and wishing you all the best of luck.

One question that came to mind, and this applies to all weather baloons not yours specifically, with the large number of weather balloons launched daily, how is it That more aren’t sucked into airplane engines causing potential disaster for the airplane? Thanks

Weather balloons (ours included) are pretty small and don't spend much time at the altitudes where planes are. And in the very, very unlikely case a plane were to hit one, our payload is less than 250g (about the mass of a pigeon).
Happy to discuss super pressure / float in depth.

Can help with the federal contract side and mass manufacturing etc.

Charles@turnsys.com

Sent you an email, thanks!
To a layperson like me, could you explain how these balloons will be cleaned up / collected after their life? What material are they made up of?
Sure thing! They're made of about 300 grams of polyethylene. Towards the end of their lifespan, we can steer them to an area that's easy for us to drive out and pick them up. The payload has a GPS, which lets us track where they are both in the sky and on the ground.

Right now, most weather balloons fall back to Earth and stay where they land unless someone happens across them (since they can't be controlled and only last a couple of hours).

> we can steer them to an area that's easy for us to drive out and pick them up.

What does this look like in practice? As you mentioned I know you don't really have any lateral control, but I imagine you can wait for it to overfly somewhere convenient to descend?

I believe it is along the line of...

Pull up https://www.pivotalweather.com/model.php?m=nam&p=sfct-mean-i... and pick some point (note the 'click for point sounding'). You can see the wind direction at that location as a function of altitude.

Using this as a vector field, you can do "the balloon is here now, 30 minutes from now it will be there, if it is at altitude Z at that time, it will be follow the wind in this direction" which in turn allows you to predict where it will be in 30 minutes and take the forecast for that location at that time and determine what altitude you want to be at.

Saying I want it to be at X,Y at some time is solving this backwards. Which isn't necessarily easy, but it's computable.

Pretty much this. We add the data the balloons themselves are collecting to make things more precise as well
Digging into it a little bit more...

The Balloon Learning Environment https://research.google/blog/the-balloon-learning-environmen... (https://news.ycombinator.com/item?id=31155137 - 73 points | 10 comments)

(2016) Station-keeping of a high-altitude balloon with electric propulsion and wireless power transmission: A concept study https://www.sciencedirect.com/science/article/abs/pii/S00945...

(2022) Station-keeping for high-altitude balloon with reinforcement learning - https://www.sciencedirect.com/science/article/abs/pii/S02731...

(2023) Resource-Constrained Station-Keeping for Helium Balloons using Reinforcement Learning - https://arxiv.org/abs/2303.01173

Chasing the citations from those papers to previous works can provide a fairly deep rabbit hole of things to read.

Due to the rotation of the earth, wind current direction rotates based on altitude. If you want to go in a particular direction, you ascend or descend to a altitude that has winds blowing in that direction.

At least, that's how I understand hot air balloons "steer".

How do you control the altitude? I would imagine 'heat/cool the air inside the baloon', but this would be too energy intensive?

Congratulations for a great non-saas market and product!

Very cool, congrats on the launch. You're spending nearly all of your time in the stratosphere collecting data, but what correlation does that have to ground forecasts? Are your "AI models" that you're producing forecasting stratosphere conditions, or more than that?
We cruise in the stratosphere until we gather enough solar power to descend to ground level. On the descent and descent we're collecting soundings, which is the data that's useful for all types of forecasts.

Right now we're focused on the stratospheric forecasts because that's what we know really well (and we already have some interested customers). Our data/models are great for all kinds of forecasts, including ground forecasts, and we'll quickly expand beyond the stratosphere.

Are you pairing your data with satellite observations?
Yes, however, like with traditional forecasts, we weigh our balloon observations much higher.
This is awesome, how do you manage climbing and descending with a balloon. Are you compressing the gas on board or using thermals?
How we make it go up and down is the secret sauce :) I'm a hangglider guy, so I'd love to be using thermals, but I can say that's not how we do it right now
That’s what I figured :) Being able to control it with a one pound payload is very impressive.
Do you plan to sell to hobbyist consumers? As another thermal-rider I realize this would be amazing if it could do short term soundings at a launch site, or to have a fleet that can navigate back to a designated site for pickup and redeployment.

I'm picturing having a few dozen at launch site containers, launching them at the start of a day of flying, having them programmed to land in a rural area that a member can pick them up from and return to the launch sites.

This might be the coolest use case I’ve heard suggested. We’re not quite at the level where all of this is user friendly enough, but let’s catch up in 9-12 months
I’d love to know, too. If it was me I’d use a small piezo plate on the side of the balloon to do it the same way hot air balloons do. Heat the gas in the balloon = go up, reverse the polarity to cool it = go down. That would be pretty energy inefficient, though, so hopefully their secret method is better.

Loon used pumps and an interior air ballast like blimps do. So clearly there are a few ways.

Wow! I am surprised it is even legan to launch those ballons from SF, specially that close to the airport. What is the regulation? Is it based on the size/weigth of the ballon?
Our balloons fall under the FAA Part 101 weather balloon exemption, which is based on the weight and purpose (basically it has to be small and has to collect weather data)
Very cool! How are the balloons transferring telemetry back to earth for analysis, etc?

Asking because my research at the University of Oxford was around hyper space-efficient data transfer from remote locations for a fraction of the price.

The result was an award-winning technology (https://jsonbinpack.sourcemeta.com) to serialise plain JSON that was proven to be more space-efficient than every tested alternative (including Protocol Buffers, Apache Avro, ASN.1, etc) in every tested case (https://arxiv.org/abs/2211.12799).

If it's interesting, I'd love to connect and discuss (jv@jviotti.com) how at least the open-source offering could help.

From the OP:

> Our payload uses a satellite transceiver for communications

That's the hardware. I meant on the software side through the transceiver. If you transfer less bits through the satellite transceiver, I believe you can probably reduce costs.
Let's definitely talk, we're using protobufs right now. I'll send an email
> JSON BinPack is space-efficient, but what about runtime-efficiency?

> When transmitting data over the Internet, time is the bottleneck, making computation essentially free in comparison.

i thought this was an odd sales pitch from the jsonbinpack site, given that a central use-case is IoT, which frequently runs on batteries or power-constrained environments where there's no such thing as "essentially free"

Fair point! "Embedded" and "IoT" are overloaded terms. For example, you find "IoT" devices all the way from extremely low powered micro-controllers to Linux-based ones with plenty of power and they are all considered "embedded". I'll take notes to improve the wording.

That said, the production-ready implementation of JSON BinPack is designed to run on low powered devices and still provide those same benefits.

A lot of the current work is happening at https://github.com/sourcemeta/jsontoolkit, a dependency of JSON BinPack that implements a state-of-the-art JSON Schema compiler (I'm a TSC member of JSON Schema btw) to do fast and efficient schema evaluation within JSON BinPack on low powered devices compared to the current prototype (which requires schema evaluation for resolving logical schema operators). Just an example of the complex runtime-efficiency tracks we are pursuing.

> batteries or power-constrained environments

I would imagine that CPUs are much more efficient than a satellite transmitter, probably? I guess you'd have to balance the additional computational energy required vs. the savings in energy from less transmitting.

Yeah, it all depends very much, given how huge the "embedded/IoT" spectrum is. Each use case has its own unique constraints, which makes it very hard to give general advice.
For sure, but radio transmitter time is almost always much more expensive than CPU time! It’s 4mA-20mA vs 180mA on an esp32; having the radio on is a 160mA load! As long as every seven milliseconds compressing saves a millisecond of transmission, your compression algorithm comes out ahead.
Sounds like you are pretty familiar with satellite transmission at the hardware level. If so, I would love to chat to get your brains on it. I don't know much of the hardware constraints myself.
You can; I worked mostly with WiMAX instead of direct satellite but the radio transmission is the killer either way.
> on an esp32;

ironically the main criticism i've heard of these is how power-inefficient they are :P

Sounds cool. How does it differ from CBOR?
CBOR is a schema-less binary format. JSON BinPack supports both schema-less (like CBOR) and schema-driven (with JSON Schema) modes. Even on the schema-less mode, JSON BinPack is more space-efficient than CBOR. See https://benchmark.sourcemeta.com for a live benchmark and https://arxiv.org/abs/2211.12799 for a more detailed academic benchmark
Thanks for linking the benchmarks. I appreciate the work on shaving additional bytes especially in cases where every byte matters. Real savings seem to be in the schema-driven mode. Comparing a "realistic", schemaless payload for a general storage use-case (eg. the config examples), it looks pretty even with CBOR. E: my bad, BinPack is getting more efficient with larger payloads https://benchmark.sourcemeta.com/#jsonresume
As a note, while cbor is schemaless, there do exist tools to make it work with schemas. In rust cborium will generate rust types from a json schema that serde can use.
I never used cborium, but if I'm understanding it correctly, I think it adds types at the language deserialisation stage and not over the wire. Which means that it makes it a lot more ergonomic to use within Rust, but doesn't use typings for space-efficiency over the wire.
Exactly! The real hardcore savings will always be when you pass a schema, as JSON BinPack uses that to derive smarter encoding rules.

However, schema-less is very useful too. The idea with supporting both is that clients can start with schema-less, without bothering with schemas, and already get some space-efficiency. But once they are using JSON BinPack, they can start incrementally adding schema information on the messages they care about, etc to start squeezing out more performance.

Compare that with i.e. Protocol Buffers, which pretty much forces you to use schemas from the beginning and it can be a bit of a barrier for some projects, mainly at the beginning.

This looks promising! One of the important aspects of protocol buffers, avro etc is how they deal with evolving schemas and backwards/forward compatibility. I don't see anything in the docs addressing that. Is it possible for old services to handle new payloads / new services to handle old payloads or do senders and receivers need to be rewritten each time the schema changes?
Good question! Compared to Protocol Buffers and Apache Avro, that each have their own specialised schema languages created by them, for them, JSON BinPack taps into the popular and industry-standard JSON Schema language.

That means that you can use any tooling/approach from the wide JSON Schema ecosystem to manage schema evolution. A popular one from the decentralised systems world is Cambria (https://www.inkandswitch.com/cambria/).

That said, I do recognise that schema evolution tech in the JSON Schema world is not as great as it should be. I'm a TSC member of JSON Schema and a few of us are definitely thinking hard on this problem too and trying to make it even better that the competition.

A lot of people already think about this problem with respect to API compatibility for REST services using the OpenAPI spec for example. It's possible to have a JSON Schema which is backwards compatible with previous versions. I'm not sure how backwards-compatible the resulting JSON BinPack schemas are however.
Great seeing you over here Michael :) For other people reading this thread, Michael and I are collaborating on a paper covering the schema compiler I've been working on for JSON BinPack. Funny coincidence!
Do you have any info on how your system stacks up to msgpack? (https://msgpack.org/index.html)

Asking because we use msgpack in production at work and it can sometimes be a bit slower to encode/decode than is ideal when dealing with real-time data.

We do! See https://benchmark.sourcemeta.com for a live benchmark and https://arxiv.org/abs/2211.12799 for a more detailed academic benchmark.

The TLDR is that is that if you use JSON BinPack on schema-less mode, its still more space-efficient than MessagePack but not by a huge margin (depends on the type of data of course). But if you start passing a JSON Schema along with your data, the results become way smaller.

Please reach out to jv@jviotti.com. I would love to discuss your use case more.

It surprised me how popular this message got. I love nerding out about binary serialization and space-efficiency and great to see I'm not the only one :)

If you want to get deeper, I published two (publicly available) deep papers studying the current state of JSON-compatible binary serialization that you might enjoy. They study in a lot of detail technologies like Protocol Buffers, CBOR, MessagePack, and others that were mentioned in the thread:

- https://arxiv.org/abs/2201.02089

- https://arxiv.org/abs/2201.03051

Hope they are useful!

Why this over a compact, data-specific format? JSON feels like an unnecessary limitation for this company's use case. I am having a hard time believing it is more space-efficient than a purpose-built format.
Compared to other serialisation formats, JSON BinPack analyses your data and derives custom encoding rules that are specific to the data at hand given all the context it had on it. That's why on JSON BinPack, the static analysis part is the most complex one by far, and why I'm building so much JSON Schema advanced tooling in https://github.com/sourcemeta/jsontoolkit (i.e. check the huge API surface for JSON Schema in the docs: https://jsontoolkit.sourcemeta.com/group__jsonschema.html)

Of course there is still a lot to do, but the idea being that what you get with JSON BinPack is extremely close to what you would have done for manually encoding your data, except that you don't have to worry about encoding things yourself :) Thus you get the best of both worlds: the nicety of JSON and the space-efficiency of manual encoding.

This is a great idea. I had no idea about the single-use radiosondes.
Congrats on the launch! Seeing this reminded me of building and launching a high-altitude weather balloon with some buddies back in high school - one of the coolest projects I've gotten to work on.

If it's not proprietary, I'd love to know - how do you "steer" vertically between different wind layers to move in the direction you want to go?

Can't wait to see where you guys take this!

We think balloons are pretty cool too!

So I can't get into exactly how we do our altitude control, but the Google Loon project has a really great explanation of how they made their (very big) balloons go up and down: https://x.company/projects/loon/

Loon made all of their research public after they shut down, and we're obviously heavily inspired by their work. Our systems use a lot of the tech they pioneered, just on a much, much smaller scale (for reference, Loon's balloons were the size of tennis courts) Here's the PDF in case you're interested in checking out the 400+ page writeup: https://storage.googleapis.com/x-prod.appspot.com/files/The%...

Very exciting, congrats on this! I’ve been watching numerous weather forecasts over the last couple of years because of my interests in mountain sports, and I am very very curious how will this improve forecast accuracy. Good luck worh everything.
> These conditions make the stratosphere a very difficult place to deploy to prod

This sentence is legendary

Every once in a while things go spectacularly wrong up there and we kick ourselves for not doing a b2b saas
> b2b

You are, as long as you mean balloons to business

XD
You're totally crushing the balloons-to-boondocks market segment.
As someone that is involved in catching radiosondes, this is quite cool!
Thanks! Let me know if you want to chase ours sometime.
Yes, this would be really interesting! Are they using VHF frequencies as the actual radiosondes (Vaisala, etc.)?
We do all comms via satellite, including the current GPS location, no comms over VHF. I'm curious how you're tracking down a traditional radiosonde though, do you actively chase while it's in the air and then use visual reference as it comes down?
I am not really into tracking radiosondes while they are in air. What I do, is like a radio "fox-hunting" when they come back on the surface, using a directive antenna.
You can use the data collected from hobbyist ground stations and displayed at https://sondehub.org/ to track them while in the air.
Incredibly cool, thanks for sharing. Are you planning on hiring any time soon? Also, if you don't mind sharing, what designer/firm worked on your web and branding?
We're not hiring right now, but send me an email (austin@sorcerer.earth). And Max did the website, it's built on webflow
Will do, thanks! Also very cool, as a designer I always enjoy seeing a big emphasis on design out of the gate, and the brand does a great job of sticking to modern design trends while doing some things a bit differently.
How many balloons do you have currently deployed? Do you have a data API for the balloons?
We've deployed a few dozen, and we don't have a public API right now but send me and email: austin@sorcerer.earth
May you please deploy whatever-camera (gopro) to these with a 1-fps connector:

https://news.ycombinator.com/item?id=41173161

Such that we can see them?

---

As others mentioned, this is a fantastic launch.

I'd love to have one permanently teathered to a place of my choise using a fiber-optic+carbon/kevlar thread to hold it in place with data coming down the fiber, and have the camera and pico compute data and radios powered by solar.

For your gridded data, what file format are you using, grib, netcdf, zarr?
a little bit of each right now, depending on what the customer wants
When they said "launch more often" I guess you took that advice to heart :) Congrats on the launch(es).
Yes! It’s quite confusing to distinguish between launches at the office haha
YC money well spent instead of the next LLM app.
Congrats on launching. I love this idea. Makes so much sense haha
Cool Stuff. Sounds like you're following your dreams and doing something that needs doing.

It would be very cool if you could do an open house for bay area geeks to come and just ooh and ahh at the gadgetry. Even a virtual open house would be cool. Something less than a full demo, and more focused on the story behind the gestation and launch of the project (and then a demo.)

For sure, we'd love to do some launches with some local folks. We've done launches with a few different companies in SF at their offices too, send me an email and we can figure something out: austin@sorcerer.earth
(Sorry for the offtopicness but your otherwise fine comment was formatted in HN's 'code' style (https://news.ycombinator.com/formatdoc) rather than as a regular comment. I changed the formatting, but for the future it would be better not to indent your text with spaces unless it's code or something that needs that format.)
This sounds like super interesting and meaningful work. Are you hiring, or do you have any advice for your average software engineer on getting into this space?
I was in the same boat. I've been a software engineer for as long as I can remember and always wanted to do more than just build B2B SaaS.

Max, the first engineer at Urban Sky, hit me up and asked if I wanted to build their mission control. At the time, Urban Sky was just a four-person team, so they couldn’t pay me as much, but I jumped at the chance, even though it meant taking about half my usual salary.

Funny enough, my SaaS background actually helped me create mission control software that was way ahead of the curve!

I guess my advice is, find a small company you're passionate about, where you can make a big impact, and be open to taking a pay cut. It helps the company take less of a risk on you, and you get to work on something that really matters. Plus, when you’re solving real problems, things tend to work out, and eventually, you’ll end up making what you should in salary.

> In 1981, weather disasters caused $3.5 billion in damages in the United States. In 2023, that number was $94.9 billion (https://www.ncei.noaa.gov/access/billions/time-series).

Does that surprise someone? I think I would not have guessed this growth to be on such a scale. The chart suggests that severe storms are the main culprit.

Not at all. Look at the growth in human buildings in the most at-risk areas and you’ll see why that number is so big now. It’s only slightly due to an increase in severe weather event frequency / severity.
Indeed, and not just building more in more at-risk places but also the cost of building materials, construction labor and code compliance requirements have all generally increased more than baseline inflation. Factors like these tend to greatly increase recent estimates vs historical.

I read a paper a few years back which dove into how the data sources for weather damage assessment have changed a lot over the years. Much of the increase is due to more complete reporting and changes in categorization. Also, nowadays more things are insured and modern IT has made gathering the insurance reporting far more exhaustive. Plus local, state and federal agencies responsible for relief and/or recovery are gathering and reporting increasing amounts of data with each decade since the 70s (in part because their budgets rely on it). Factors like these mean in prior decades the total damage costs may have been more similar to today's than they appear but a lot of the damage data we gather and report now wasn't counted or gathered then.

Although I have no experience related to weather science, I remember the paper because it made me realize how many broad-based, multi-decadal historical data comparisons we see should have sizable error bars (which never make it into the headline and rarely even into the article). Data sources, gathering and reporting methods and motivations are rarely constant on long time scales - especially since the era of modern computing. Of course, good data scientists try to adjust for known variances but in a big ecosystem with so many evolving sources, systems, entities and agencies, it quickly gets wickedly complex.

> Factors like these mean in prior decades the total damage costs may have been more similar to today's than they appear but a lot of the damage data we gather and report now wasn't counted or gathered then

This is definitely part of it. Another part is that people live in more at-risk regions now than in the past (Florida is a great example, population has more than 10x'd since 1950).

Ultimately, the way we think about it is no matter what the underlying cause, weather-related damages could be significantly reduced with better data/forecasts

> weather-related damages could be significantly reduced with better data/forecasts

I agree. My point was only so those surprised by the massive increase in cost estimates can put those numbers in perspective since neither the average quantity nor severity of adverse weather events have changed substantially over the decades.

Providing more granular data to enable more accurate and timely weather forecasts is a sound business thesis even if adverse weather isn't happening 2x more frequently or energetically. It's still a large economic impact where money can be saved. More broadly, better forecasts can improve agricultural yields, reduce business disruption and increase throughput of transportation networks.

Yeah, it's a shocking number, and it's just for the US. The global estimates for severe weather are even higher [0], and in places with less infrastructure, the costs are usually more heavily weighted toward human life lost.

Obviously what we're doing can't prevent severe weather from happening, but even very small improvements in accuracy and timelines can have a massive beneficial effect when a disaster does happen. My cofounders and I are all from Florida, so hurricanes are the most visceral examples for us. When hurricanes hit, there are always issues along the lines of "we didn't have the right resources in the right places to respond effectively." Those types of issues can be combated with better info.

[0]: https://www.statista.com/statistics/818411/weather-catastrop...

Definitely a bit of cherry picking. Just 2 years later in 1983 the damages were $36 billion, but that wouldn't make quite as scary of a statement for the website.
One detail here is that 1981 dollars aren't 2023 dollars, so to compare they need to be adjusted.

Using [0] $3.5 bn in 1981 would have been worth $11.7 bn in 2023.

Another comment [1] noted (but unfortunately didn't cite) that two years later the damage was assessed at $36 bn, or $110 bn in 2023 dollars.

[0] https://www.usinflationcalculator.com/

[1] https://news.ycombinator.com/item?id=41295116

No, they don't need to be adjusted. The linked website has already adjusted for CPI. There's even an option to turn on/off adjusting, and it's on by default. I didn't cite because this is using the same data / website as the original claim.