In 2011
- Our support team responded to 100,000 cases
- Our syslog server logged an average of 1,500,000,000+ messages each day
- Our solr indexer processed 428,000,000 indexing requests for Highrise alone
- We hit our 100,000,000th person/company creation in Highrise
- And a Basecamp user uploaded the 100,000,000th file (It was a picture of a cat!)
In the first 10 business days of 2012
- We stored 100,000,000 unique statsd measurements
- Our syslog server logged over 20,000,000,000 messages
- Our applications sent more than 2,000 email notifications per minute
- And Basecamp accepted an average of 75,000 file uploads from users per day
Interested in numbers other than revenue and profit? Leave a comment and we (mostly Noah) will dig them up for a future post.

Taylor wrote this on Jan 12 2012 There are 61 comments.
Razvan Tirboaca 12 Jan 12
Nathan 12 Jan 12
Haha of course it was a cat
Ben Fyvie 12 Jan 12
I don’t recall if you implemented the happy face/sad face feedback for support issues in 2010 or 2011, but I’m curious about the totals for 2011…in other words what was your customer support satisfaction rate for 2011?
NL 12 Jan 12
@Ben – we implemented Smiley in the fall of 2010. David wrote up some of our results from 2011 a week or two ago.
@Nathan – I’m not aware of things on the internet that aren’t cat pictures :)
Taylor 12 Jan 12
Razvan, absolutely not. The file was named cat.jpg and that was logged, which was what we saw. We do not look at user’s files.
Bob Flowerdew 12 Jan 12
Could we get the number of the really attractive lady from the holiday gift video?
Moritz 12 Jan 12
Taylor, nice save!
mike 12 Jan 12
revenue and profit would surely be interesting, but the ratio between paying and free customers would be too (maybe the totals too), how long does it takes from a free account to convert? how many won’t ever convert? how are your analytics stats? and even more interesting the newrelic ones? on both application and client side (RUM) levels. How many instances/servers do you have? which types (db, web, files, etc)? aws/cloud or classic dedicated systems? all these would be really interesting :)
DHH 12 Jan 12
Mike, here’s a stat for the probability of us releasing general financial numbers on the entire business: 0.
We’d be happy to talk more about the infrastructure setup, though!
Matt Freeman 12 Jan 12
You should probably amend that, I thought exactly the same as Razvan, and had to scan the comments for the explanation. What if the filename was sensitive? sallie-smith-in-threesome-on22nd-street-nyc.jpg
DHH 12 Jan 12
Matt, then we wouldn’t have shared it, obviously. This was only shared because it was funny, not identifiable with anything, and just seen passing through the logs. We do not look at people’s files and we do not share any personal information of any kind.
Stephen Allred 12 Jan 12
Web requests served per second across the different apps?
Emil 12 Jan 12
Do you measure what people spend time on in the app. 50% in todo’s vs 0.7% in time tracking.
Basecamp User 12 Jan 12
I gotta say… Bullet #5 has slightly altered my perception of the privacy of my data…
Sandro 12 Jan 12
These numbers seem really high. I never imagined you guys had such large amounts of traffic and data. 37signals just sorta ‘feels’ like a small business, but apparently not. Keep up the great work!
MattO 12 Jan 12
What do you do with old pictures? Are they archived after a while or even deleted? I would think that in campfire once chat logs become old enough the probability of users requesting old conversations would drop off fairly quickly. It sounds like a lot of space. Would you consider releasing bandwidth and storage stats? (pictures uploaded per day, average picture/file size, etc)
Jaime 12 Jan 12
Great numbers. Congrats. Thank goodness it was just a picture of a cat …
Eric 12 Jan 12
I would be interested in seeing stats for the average Basecamp project (# of people on the project, # milestones, todo’s, document uploads, writeboards, etc.).
DHH 12 Jan 12
MattO, we keep all files around for paying, active customers. Nothing is ever deleted without the user asking for it. All accounts have storage caps, though.
Sandro, we’re still just around 30 people manning the boat. I think Microsoft have more people cleaning toilets in just one of their buildings.
eduardo cereto 12 Jan 12
Don’t worry we don’look at your files. Just your file names. And only if they’re funny.
Thanks for explaining it. I feel reliefed.
Stu 12 Jan 12
Speaking of infrastructure, would love to hear more about your logging setup – you’re getting those numbers from a syslog server?
ploogman 12 Jan 12
@ DHH
So, let’s see what we have learned, checking and publicizing user’s files (or just file names) is bad PR and also that cleaning toilets is menial! Just kidding, but you have to admit that this post (and comments) is kind of funny.
That’s a huge sh**load of syslog entries by the way. Wondered if all your servers write to a central syslog that is separate? Or if each server’s log is combined into a syslog clearing house of sorts?
Sverre 12 Jan 12
Can you say anything about the time spent generating pages on the server-side? And the number of requests / second (per server?).
David 12 Jan 12
I bet I know where that picture of a cat came from. It was one of my clients for sure!
Adrian Pike 12 Jan 12
How many servers are you guys up to total now? How many database, app, worker, etc. nodes?
All physical hardware that you guys own, or are any offloaded to virtualized cloud providers?
PG or MySQL? :)
ploogman 12 Jan 12
dedicated MySQL servers I believe in the past from an earlier SVN post “nuts and bolts” with Schooner MySQL servers http://www.schoonerinfotech.com/
Not So Cool 12 Jan 12
Not sure it’s very cool that you guys spend time poking around looking at your user’s files. OK so it was a filename you saw, I assume that means someone there could open the file if they wanted to. Maybe make a copy. Maybe take it home. Or share it with someone else. Or upload it on the web for the world to see. Seems like there’s a lot of trust going on here between us, you, and your team.
Remember the shit storm at Dropbox a while back? Be careful.
Dick Kusleika 12 Jan 12
I’d like to know the average number of people per basecamp project. Maybe the average wouldn’t be all that interesting. Maybe a histogram that shows 80% of projects have 1-2 participants, 15% have 3-5, etc.
I’d also like to know how long projects last. I imagine some go on indefinitely and others stop abruptly.
ploogman 12 Jan 12
@ not so cool
not so serious – the dropbox sh* storm was that everyone’s files were available to the public – that is not the case here
plus you can put anything in dropbox including illegal things – suppose you could upload illegal crap to your 37 apps but they are made for working and getting sh* done – guess if you are organized crime using 37 to stay organized this could concern you more
state secrets and 007 types can’t expect these services to be triple washed encrypted and guarded with military security and with no possible access by anyone within 37 at any time – need to join the Navy for that
Taylor 12 Jan 12
@Stu & @ploogman,
Yes a single host (although we have a backup too). The latest syslog-ng (3.x) is able to use multiple cpus, which really helps us out! We do some logsorting on the host and then archive logs off of there too.
@Sverre,
It depends on the app. I think I’ll save that for a separate post.
@Adriane,
I’ll save that for another post too. No pgsql, all mysql. For the most part we don’t virtualize any customer facing servers due to the performance hit virtualize introduces.
@ploogman,
We no longer use the Schooner appliances in production. We are using Schooner’s Active Cluster software, but we aren’t very happy with it. (That’s another post.) We mostly use Percona’s mysql 5.x builds now.
Will Jessop 12 Jan 12
@Adrian Pike: All physical hardware, except a couple of VMware hosts we run for stuff that really doesn’t need a full physical machine. Nothing else virtual though. We have about 6 racks of hardware currently, but that’s increasing soon.
Everything is MySQL (though I personally am a big fan of Postgres). We use Schooner and Percona MySQL builds.
@Stu, @ploogman: Just one syslog server handles that traffic
Michael 12 Jan 12
Of the tasks entered into Highrise, how many are deleted vs. completed vs. remain?
What’s the average dimension of photos uploaded to Basecamp?
Are PDFs or Word files more popular in Highrise notes with attachments with the word “proposal” in them?
Christopher 12 Jan 12
I was also alarmed about that “cat comment” that 37Signals would be viewing any of their users’s data who did not actually request support that involved such. Clicked on my rss to review the comments.
More comforted that it was just a log file name, but interesting to know 37Signals employees (some at least) have access to files name’s in our account. I was under the impression all private data was not viewable unless a support request was initiated.
Like if someone random Googler at Gmail was able to see my attachement names I’d be concerned. Since maybe the employee someone who knows me and in this day and age information is power.
Certainly 37Signals meant to no harm by it, and was trying to be cute, so just adding my 2 cents.
bob 12 Jan 12
Doesn’t everyone have a porn file named cat.jpg? Or do some have rooster.jpg?
Yeah, I think it’s poor form to tell the contents of an image. I had a wave of “oh shit, they are looking at our confidential screenshots” come over me.
Michael 12 Jan 12
About the cat thing, I guess I would rather have 37signals seeing the occasional filename and telling us about it then saying they see nothing and lying about it, like some other storers of my data.
Parand Darugar 12 Jan 12
Thanks for sharing, very useful. I’m interested in the number of support cases per user to compare with ours – you don’t share the total or active number of users by chance, do you?
Thijs 12 Jan 12
I’d be interested to see the busy hours for different countries! E.g. when are your users from the US most active and how is that different from users from for example Spain?
Also what tools do you guys use for server monitoring besides statsd (graphs would be awesome)?
Will Jessop 12 Jan 12
@Thijs: Nagios for server health and NewRelic for app status.
Jan Palounek 12 Jan 12
could yo tell us more about your server infrastructure? How many db servers you have? How many application servers you have?
Do you use sql databases? If yes, mysql, Oracle or what? If not – which no-sql database you use.
I think we all here know that your financial results are fenomenal its not so important to know it to last dollar.
Olly 12 Jan 12
Would love a big post about your infrastructure and architecture and how you structure your Ops team in relation to devs
Dev Basu 13 Jan 12
Very impressive numbers. I agree with @Thijs – It’d be very interesting to a see some data visualization around the most heavy users of your apps by country, the most efficient, % of milestones that never get finished etc.
Joël Cox 13 Jan 12
Can you guys share numbers about the relative usage of capped resource, per plan? For example storage, users and contacts in Highrise. What is the primary incentive for users to upgrade to a bigger plan?
Jana Shobnom 13 Jan 12
You are post a very important article, Thank you for your sharing an important blog! Thanks Jana Shobnom “George Marchelos”
Andrew 13 Jan 12
obviously, privacy of user data is a big concern. do you guys want to tell us the circumstances in which 37Signals employees would be allowed to access customer data (in any form)? i’m sure it’s essential sometimes but what are the restrictions/circumstances? this might allay some of the fears that people clearly have now.
Anonymous Coward 13 Jan 12
The cat.jpg picture was me. I uploaded it. But the cat was just a decoy. The actual picture is of a monkey flinging shit at Java programmers.
Alex Morris 13 Jan 12
What was the cat doing in the picture? I hope it was having a really good time, that’s all I can say!
Josh Henry 13 Jan 12
congrats guys. Proof of a great product that provides a great solution for us running businesses with limited staff!
Ian 13 Jan 12
Why you don’t share info about revenue/profits? What’s the problem? Any logical explanation or just “because I said so”?
James C 13 Jan 12
Ian, financial information is hidden in the cat.jpg.
Peaches 13 Jan 12
Be careful about sharing any information on Basecamp, I know they probably poke around your files. Title of my new Blog post.
Brian 13 Jan 12
I’m interested the stat of #of tickets per active user and how this is trending in 2009, 2010, 2011.
Anon 13 Jan 12
Really didn’t like the fact that you are looking at even our file names.
steph 13 Jan 12
i’m developping “enterprise application” that lamely scale up to 300 users… 600 documents/min, I’m a sh… ! congrats !
ps: some sql stats ? statements per minute ?
Anonymous Coward 13 Jan 12
Boy do I feel stupid for uploading a file named mybankpinnumberis5472.txt.
Tom G 14 Jan 12
That’s a lot of cats
GotPrivacy 15 Jan 12
The fact that you looked at the 100,000,000th image upload to determine it was a picture of a cat makes me nervous about 37signals’ stance on confidentiality.
Andy Stewart 15 Jan 12
Running database migrations must take many hours. Given that, how do you execute zero-downtime deploys?
The Real Anonymous 15 Jan 12
Well done 37signals for your massive success! You seem to make life easier for millions of users and there always will be a few whinny jerks who are simply jealous of your success.
And ignore all the cat.jpg whiners…
They should be more fucking creative about naming their jpeg files in the first place…
cat.jpg? sounds oh so uber-generic! How about saying a bit about: What breed of cat is it? Whose cat is it? When did you see it? in what circumstances and whereabouts? What does this particular cat have anything to do with your basecamp project?
Here’s the next challenge: I’ll personally give $20 to the winner of the 200,000,000th image upload who’ll name the jpg file: “i-have-a-small-penis-and-i-am-not-ashamed-of-it.jpg”.
Peace!
Ernesto 16 Jan 12
I cannot believe that anyone would make a fuss about cat.jpg.
It is obvious that it was so generic that it wasn’t disclosing any private information.
Anyway, I’m glad to see the way you reacted in the last post. Keep rocking, guys!
Gob Bluth 16 Jan 12
well, people have to complain about SOMETHING i suppose.
Hamid 17 Jan 12
Quiet interesting numbers.
This discussion is closed.