Building a better way for people to call Congress

This summer I created a phone number that immediately connects people with their representatives in the U.S. government: dialing 1-844-USA-0234 will forward the call to your senator's office. After they hang up, it automatically calls your next senator, and then your representative.

It's the lowest-friction way to contact a representative. No looking up phone numbers or entering your address on a web form.

This post discusses the usage patterns of the "Call Congress hotline" and steps I'm taking to make it more useful and mainstream.

Your Congresspeople

Who saw it?

Many people. It went viral on Facebook, Twitter, and Reddit. I don't know exactly how many people saw the phone number, but based on clickthrough estimates I've seen it was probably more than 100,000 people. My reasoning is that it made it to the Reddit frontpage (briefly, until it was removed by mods on /r/lifehacks) and the corresponding blog post received several tens of thousands of hits (I would estimate the CTR on social links is less than 10-20%).

The real question is whether virality actually translates into calls to senators and representatives.

By the numbers

In the six months it's been live, the phone number has directed about 1,500 calls to Congress. If we sum the duration of the calls, they amount to nearly 24 hours of solid time on the phone.

Number of calls per day since June

You can see the initial spike from the launch, which happened in the wake of the Orlando shootings. The second uptick is after the presidential election.

In June, ~100,000 people saw the number when it launched, but we did about 500 phone calls that week. That means the conversion rate for a call to action like "Call your Congressperson" is about 0.5%. On average, you'd have to show the phone number to 200 people on Facebook or Reddit before someone picked up the phone.

As a corollary, because the number of shares/likes/upvotes/retweets exceeds the number of calls, we can conclude that "click-to-share" activism is a whole lot more popular than picking up the phone, which would be much more effective.

Next, let's characterize the calls that were made. We don't have too much information on this because the calls are private. But we know how much time was spent on each call:

Histogram of call duration

As you can see here, the vast majority of calls were extremely brief, possibly test calls, people who got cold feet, or people who got an answering machine. In other words, not meaningful interactions with the Congressional office. However, it's entirely possible that a constituent can register their suggestion/complaint within 60 seconds, so maybe we shouldn't discount these entirely.

Even though there were many short calls, there were still significant numbers of higher-duration calls. These added up to many hours on the line with Congressional offices.

Who's using it?

As stated earlier, I don't have much info on my users. But I have anecdotal information.

Several groups in NYC are using the number to campaign against airport noise in their neighborhoods from JFK. They are well-organized and call their Congresspeople pretty regularly (they've also given me some good feedback - thanks!).

Back in July, Deray, one of the leaders of the Black Lives Matter movement, tweeted the number and generated a huge amount of traffic:

It popped up several more times as activists asked people to call Congress to allow immigration and reduce hate crimes.

But the number is used all across the political spectrum. It appeared several times on the now-infamous /r/The_Donald subreddit. In one such case, an activist called upon others to demand that Hillary Clinton be charged with treason. The phone number is cause-agnostic by design, and clearly there are many use cases.

The problem with a "Call Congress" hotline

I'm very happy that I helped facilitate even 1,500 phone calls, even if it's a drop in the bucket. Phone calls do make a difference, and are one of the best ways to send a message to your representatives' offices.

From the numbers, the biggest problem facing call campaigns is actually engaging people. We have seen that it's more fashionable to "share" your outrage on social media than to act upon it by picking up the phone, even if it's made as easy as possible, with all the dialing done automatically.

I think the missing ingredient is the organizers and leaders who inspire people and promote causes. This Congressional hotline is politically neutral. It doesn't come with a guide or script. It doesn't care about the cause you're calling in for.

This tool doesn't really belong in my hands. It belongs in the hands of organizers and others who can incite action. The situations in which this phone number has thrived have been when Deray tweeted it, the NYC airport groups shared it on Facebook, or people posted it on activist subreddits.

I looked into this more and learned that some major activist organizations don't actually have good technology options for grassroots organizing. Most work is overpriced, incomplete, and done by contractors.

Creating a tool for organizers

To solve this problem, I've created Speak Louder. It's an extension of the Congress hotline that lets organizers create their own phone numbers and landing pages customized to their specific causes.

Speak Louder

It also provides other neat tools like email and text message subscriptions, so you can supplement your social media outreach with direct communication.

This is similar to the Call Congress hotline, except now the call to action is attached to a cause. You can give people talking points, scripts, and other forms of encouragement. You can collect their information and follow up.

I theorize that this will lead to increased engagement in the long term.

Create a campaign

Create a campaign for a cause you care about

P.S.: it's open source, just like the phone number.


I don't know if Speak Louder will work out or if people will continue to use the Congress hotline (1-844-USA-0234!), but they matter to me a lot.

Big thanks to Twilio for supporting this project and giving me credit to continue running the service when demand spiked. (I'm going to continue to self-fund the Congress hotline, but may need to take donations to keep it running in the long term).

Lastly, thanks so much to everyone who shared this phone number and everyone who called in!

Download your photos from Facebook with EXIF data

If you've ever tried to export your photos from Facebook, you know it's a tough problem.

Facebook makes it possible to download a copy of your data on its Settings page.

Facebook download a copy of your data

Check the fine print!

This option exports low-resolution copies of your photos with no EXIF data, making it difficult to import into other photo storage like iPhoto, flickr, Google Photos, and so on.

I built a Facebook Photo Exporter to solve this problem. It lets you easily download all your photos in ZIP format. All photos are tagged with EXIF data such as time taken and location (when possible).

When you log in, it'll show you the photos you're tagged in. These are the ones that will be exported:

Facebook exporter

Then, press the download button:

Download your Facebook photos

Now I have hundreds of EXIF-tagged Facebook photos. Great!

Downloaded FB photos

Call Congress with one number: 1-844-USA-0234

I've created a toll-free phone number, 1-844-USA-0234, that will dial all your members of Congress, no matter where you are.

Instead of having to look up 3+ phone numbers and call them separately, this single number will connect you to your representatives one after another.

The United States is a representative democracy. If there's a policy you'd like to see changed as a US citizen, ask your senators and representatives to act.


Does calling Congress actually do anything?

Calling Congress counts for a bit, and it's better than sitting around and complaining, or watching the news and feeling helpless.

When the phone is answered, you'll probably speak to a Staff Assistant who will listen to what you have to say. The office keeps track of how many people have positions on the issues, and these numbers influence policy positions.

Make sure to state what issue you're calling about and why. Also, you may want to provide your address to prove you're a constituent (and possibly receive a letter in return).

call report

Example call report provided to member of Congress.

Good luck. The number 1-844-USA-0234 should be easy enough to save in your phone as "Congress". The next time you are sick of things being the way they are, give it a shot!

(p.s. this project is open source)

This year in side projects (2015)

This has been another great year for projects, old and new. The 2014 and 2013 posts went over pretty well, so here goes.

There's a lot this year. Projects worth talking about:

  • TextBelt - free outgoing sms api (40k texts/mo)
  • Asterank - 3D space visualizations (~500k views this year)
  • Alioth - more space analytics and visualization (just received a grant from NASA!)
  • Meteor Showers - see what meteor showers look like from space (NSF/PopSci competition finalist)
  • Pluto/Ceres/Mars - webgl visualizations of interesting solar system bodies
  • High-altitude weather balloons
  • The Space Potato - successful Kickstarter for a potato-powered near-space vehicle
  • Global health - writing software to strengthen national health systems in developing countries
  • Interview Club - marketplace for interviewers (won $14k at LAUNCH hackathon)
  • Harvest - aerial infrared photography for crop monitoring (won $5k at TechCrunch Disrupt)
  • Dinosaur Pictures - the official internet dino database
  • Ancient Earth - webgl viz of Earth over 1 billion years
  • Chatalyst - better web video conferencing
  • Neutral Gas - micro carbon offsets
  • College Lab - college assistance for students in China


Lots of new work in aerospace data analysis and visualization.


With a lot of patience, I managed to land a sizable 2-year grant from NASA for a project called AstroKit, which will provide open-source asteroid characterization tools for scientists.

NASA logo

Thanks NASA

I'd been doing enough work with NASA and others that it made sense to create a company, which I named Alioth LLC. There were minor legal and financial reasons to incorporate, but mostly it helps clients feel like they're working with a real company and not some 25-year-old.

Thanks to NASA's support, Alioth is here to stay and the future is bright.


I've been giving talks at JS conferences like OpenVisConf and EmpireJS on building 3D tools with webgl (here's a video).


Also gave a talk at NASA JPL in Pasadena, a place I'd wanted to visit ever since I was a kid and never thought I'd get to speak there.


Lastly, I gave a talk at University of South Carolina's Darla Moore School of Business.

Meteor Showers

This visualization uses my Asterank engine to show what meteor showers look like in the context of our solar system. I find that 3D visualizations often improve understanding of space because it's very abstract otherwise.

I created this meteor showers visualization for the Perseids meteor shower in August and coded most of it on

all meteor showers

This is my favorite project this year.

It's also a finalist in some NSF/Popular Science visualization competition, and it's open-source.


A friend and I thought New Horizons' flyby was awesome, so we built this Pluto globe (github).

pluto pic

This viz shows our view of Pluto from 1930 to present.

I also adapted it for Mars (incomplete) and Ceres.


Hello, Ceres.


Asterank, an analytics and visualization tool for asteroids, was how I originally got into the space industry.

I sold it to Planetary Resources over 2 years ago now, but still maintain the open-source repository and make minor changes.

Here's a cool visualization of open-source work done over the years:

Traffic to Asterank remains generally strong, punctuated by moments of media coverage.

Asterank traffic

100,000+ visitor days still happen sometimes.


Not really a side project, but deserves mention: the satellite I worked on at Planetary Resources launched twice. The first time, the rocket carrying it exploded.


Null pointer exception.

The second launch went fine and it was eventually deployed from the International Space Station.

My interest in satellites led to a few interesting high-altitude side projects...

Weather balloon #1

I've always wanted to build and launch my own satellite. A friend and I decided that a high-altitude balloon was a good first step.

The goal was to send something up to around 75-100k ft and get a picture with the black of space and the curvature of Earth. Together we designed, assembled, and launched a high-altitude vehicle.

first balloon

Me looking nerdy with the first balloon.

Our first attempt cost about $250 (largest expense is helium). We got two cheap Android phones and programmed a custom Android app that recorded GPS, sent text updates, and took pictures.

first picture

One of the pictures we took.

We let it go, received a few pings, and then it was gone for good. Our theory was that the batteries failed due to cold because the payload was just insulated by a children's lunchbox!

Months later we got a call from a farmer in Stockton who noticed our little package in his field. We were able to recover some awesome pictures from both phones and confirmed our battery theory - they cut out ~15 min before landing.

Weather balloon #2

Immediately after #1 went MIA, we put together another balloon.

This time, we used a styrofoam cooler, dedicated GPS, and a cheap Canon point-and-shoot. Everything worked great. We recovered it on a farm about 2.5 hours later (the farmer gave us a call, but we already knew where it was).

Photo quality was low - mostly overexposed. We had custom firmware on the camera and wrote a script to handle the picture taking, but our configuration needed further tweaking.

first balloon pic

The pictures from balloon #1 were better, but we didn't get them til months later.

Space Potato kickstarter

Our success with the balloons got me excited to do more. I convinced a group of friends to do a Kickstarter to support a larger and more interesting high-altitude project.

The twist: all the electronics would be charged/powered by a potato.

In the end, we raised about $1,800 to send up a potato-powered near-space balloon dubbed "The Space Potato."

potato science

The balloon flew with a potato onboard.

The full space potato write-up and post-mortem is here. It was a huge success in my book:

space potato pic

Thanks to potato power and lots of help from friends, I got the beautiful "Earth from near-space" picture I always wanted!

space potato logo

"From the Earth to the Stars," or something like that.

Global health

I spent 2 weeks in Ethiopia as part of a project with UCSF and a representative from the UN. We worked with their Ministry of Health and other international organizations to create tools that analyze data and provide critical support for national healthcare decisions.

Ethiopia map

The trip went very well and while I can't go into detail, we made a huge impact and intend to continue working with their government.

Interview Club

A few friends and I built Interview Club at the LAUNCH hackathon.

It solves a problem we all had when we worked together at Room 77 before we were acquired by Google. Technical phone screens are a huge timesink and it's very resource intensive to screen the top of the funnel. We built a marketplace where experienced engineers sign up and companies pay them to do technical interviews.

In less than 48 hours, we had over 100 engineers signup and 8 companies who needed help screening tech talent.

We won nearly $14,000 (!) and got to present as finalists. It was a real whirlwind (pitch/demo here).


One of several prizes.

For more on Interview Club, check out the post I wrote on it.


I've always had a long-standing vision of monitoring crops and other things using aerial infrared cameras. Now that my friends and I were experts in weather balloons, we were able to build it at TechCrunch Disrupt.

tethered balloon

The balloon was tethered as it monitored vegetation below.

Disrupt was great and we won ~$5000 and 3rd place overall.

harvest gif

Infrared analysis highlights problem areas.

I wrote a more detailed post on Harvest, or check out the pitch video at Disrupt.




TextBelt, my open-source SMS API, steadily grew from 30,000 to 40,000 texts per month this year. An unknown number of texts are also sent via the self-hosted node module.

It reached 50k texts/mo in October but plummeted in November when some providers blocked it and I didn't address the issue quickly.

Textbelt growth

Two years of Textbelt usage.

In the past year, I've had discussions with IT managers, doctor's offices, and even a police department (!) on their usage of Textbelt.

Now that it's popular, abuse is a perennial issue with Textbelt. People are using it to spam friends, enemies, and strangers. At some point I'll have to shut it down or start charging, which is a shame because many use it for legitimate reasons.

Last spring, I was looking for dinosaur pictures and came to the conclusion that there weren't any good dinosaur picture websites.

That's why I created Dinosaur Pictures, the #1 source for illustrations of dinosaurs and other ancient reptiles.


This was pretty timely as Jurassic World came out over the summer.

Creating this site was an interesting process. I hired a freelancer to curate some of the content, but eventually wound up programmatically curating content and scraping Bing Images. I also integrated some paleontology databases and papers.

My end goal is to figure out a way to give a talk at a paleontology conference.

Ancient Earth

Ancient Earth is an interactive globe that shows the continents moving around over the past billion years. It also includes a narrative of how life evolved on Earth.

This went viral (especially in Spanish-speaking countries for some reason).

Ancient Earth

This was actually just an SEO ploy for, but it didn't really work and people liked the visualization more. It's open-source.

Neutral Gas

Neutral Gas lets you buy "micro-offsets" to counteract carbon emissions from small purchases, like a single tank of gas. I collect these tiny payments until I have enough to purchase a large carbon offset for cheap.

neutral gas

This was a quickie. I was too scared/embarrassed to post it anywhere.


Chatalyst is a meeting planner and video chat tool. Meetings are the worst part of work. Chatalyst enforces best practices (and preserves sanity) with a built-in agenda, timer, and seamless file sharing. It's the best video conference tool out there IMO.

Chatalyst was built in a weekend as part of Sprinkle Camp, an all expenses paid hackathon-type thing in Detroit. Detroit was actually really great, and I had a good time hacking this together with my friends and other Sprinkle folks.


College Lab

College Lab is a service that a friend of mine launched this fall to help students in China apply to schools in the US. It was well received - I helped her answer a bunch of students' questions - and I'm excited to see where this goes.

college lab


I wrote a pagerank checker npm module and a CLI for exporting data from Mixpanel, rewrote my personal homepage as an isomorphic react app (static page would suffice but I wanted to learn). Also created a Chrome extension that replaces gmail pings with old-school AIM sounds...


Can't believe I got this much done and definitely couldn't have done it without all the help from friends. 2015 was the year of everything. In 2016, I want to focus!

Building a winner at TechCrunch Disrupt

Disrupt is a 20 hour hackathon that took place this September in San Francisco. This post describes an unusual hardware/software project and how it managed to win a handful of prizes.

Inside Disrupt

The dream

For the past year, I'd been doing a lot of high-altitude balloon projects, even sending a potato to 100,000 ft via Kickstarter. I was looking for a way to parlay high-altitude imaging into social good, with an idea on the backburner for balloons to monitor crop health and water in infrared.

Near-infrared imaging spots plants made unhealthy by irrigation problems and other causes, which is particularly topical here in California due to drought. Well-watered photosynthesizing plants scatter solar radiation in near-infrared.

After some debate, I convinced a few friends it was worth building. We called it Harvest, a toolkit that helps farmers understand plant health and spot water waste using infrared aerial photography.

In less than 20 hours, we built:

  1. a cheap infrared imaging device,

  2. processing software that takes infrared and runs NDVI analysis, which indicates whether plants are healthy.

  3. an interface to tie it all together.

Harvest NDVI

Harvest's Normalized Difference Vegetation Index (NDVI) view.


The project sounds complex but was very doable after breaking it into parts. The most difficult part was that we needed to finish the hardware and collect images within the first ~6 hours before sundown.

I had ordered a balloon, rope, etc. beforehand, as well as a cheap Canon point-and-shoot from eBay and a replacement "infrablue" filter, which shifts infrared light into the red part of the spectrum, so the camera records it. The total cost of all this was $12 for a used camera, $10 for the filter, $10 for a small weather balloon (on sale), and $10 for 500 ft of rope, for a total of ~$42.

It was a pain to find helium in SF but we managed to get 55 cu ft, more than enough (thanks SF Party).

I flashed the camera with special firmware called the Canon Hack Development Kit and put a Lua script on it that adjusted the focus, flash, and most importantly, took a picture every 10 seconds.

The field test

We went to a nearby park and got to work. Though it wasn't a farm, we figured there'd be enough grass/trees/pavement to show variation in watering and plant happiness.

Everything was secured with rubber bands and tape and we filled up the balloon.

It was a 5ft, 150g weather balloon.

The camera was just put in a cardboard box with a hole.

Serious cardboard cutting.

Tying off a weather balloon is always pretty scary. We managed to not have everything fly away by accident.

After being secured to a rope, the balloon was tethered to the ground. The payload flew smoothly, balanced by the downward-facing camera.

Field test balloon in flight

Field test in progress over Dogpatch, SF.

We didn't fly it to the full 500 feet because the balloon was underinflated and we were worried about power lines. It would've been too annoying to undo the seal and fill up the balloon more.

The software

Now that we had a bunch of near-infrared images of a nearby park, we had to process them. NDVI processing is a well-known technique, for every pixel:

NDVI = ((IR - R)/(IR + R))
IR = pixel values from the infrared band
R = pixel values from the red band

PublicLab is an excellent resource for DIY-NDVI projects and provided a lot of the knowledge and inspiration necessary to complete this. They have code, pre-made kits, and a great community around aerial observation and data collection.

I used the Python Imaging Library (PIL) to do this, scaled the coloring to best fit our field test data, and built a pipeline that converted all images.

The frontend then displayed these images nicely:

Infrared and processed NDVI imagery.

Our frontend whiz also did this awesome slider view.

And we incorporated satellite imagery from LandSat.

The pitch

It helps to start your pitch early, practice pitching to strangers, and build a good landing page. These were all done by ~10pm the first day.

These needs were compounded by the fact that Disrupt is only 20 hours and everything was judged solely on 1 minute presentations with no Q&A. This was a bit surprising - I think science-fair style judging like at LAUNCH or YC Hacks does a better job of fully evaluating a hack.

I worried the balloon was too much of a gimmick. It was just a demo; the meat of the project is not balloon-related at all and I wanted people to realize that. Our device could go on an airplane, drone, or even a very long pole!

Overall, the pitch basically went fine. There is only so much you can say/do/screw up in 60 seconds.

The outcome

We won prizes from CircleCI, Weather Underground, and PCH. We were 3rd overall, so we got to return later that week and present to the conference as hackathon winners. All in all, I felt silly carrying around a red balloon all weekend but it was totally worth it to see the idea come to fruition and achieve recognition.

With the CircleCI team, who singlehandedly restored my faith in CI.

The future of Harvest

I feel Q&A would've helped this hack shine more, plus maybe a modified pitch. The only feedback we got from judges was that it was an interesting idea, not a ready-made business. Which makes me think the goal of the Disrupt Hackathon could be better clarified.

Agricultural crop loss is a huge problem measured in billions of dollars. Existing businesses do thermal and infrared imaging via airplane, drone, and satellite at anywhere between 100-10,000x the cost. Every farmer we spoke with at the local market said they were interested in the product, so I think there's a potentially sizable market for a cheap infrared imaging solution that requires no training.

Irrigation problems in a field.

Some interesting takeaways from surveying farmers:

  1. Agriculture is not technologically backwards by any stretch. One farmer said infrared imaging tech sounds like it's far away, but he would've said the same thing about GPS 10 years ago. Now he can't imagine planting without GPS. Farmers are eager to adopt technology where it helps.

  2. Farmers constantly worry about their crops. One described how she compulsively checks the few statistics she has. She would love to be able to do more electronic monitoring.

  3. Watering is the most important knowledge in agriculture. This makes sense but you don't get it until you talk to farmers. Different plants like to be watered in different ways. These systems leak and fail in different ways, and catching a variety of problems is hard. One farmer remarked that we would've caught a recent pump problem, which would've been huge.

Hackathon tips

Hackathons are great but can be overwhelming. Here are some thoughts:

  1. Pitch strangers early. People at unrelated sponsor booths are usually willing to listen.

  2. Optimize for demos. For a 20 hour event, you need to be realistic about cutting corners. This means terrible code is sometimes ok.

  3. Sleep a lot. Powering through the night is unhealthy and I doubt the returns are worth it. We slept about 7 hours.

  4. Talk with sponsors and try to get a relationship going. This helps problem solve and puts your project in their minds.

That's it...for now

If you liked this, follow me on twitter, check out my other projects, or read another hackathon post.