How to Organise Your Own CouchDB Day (it’s easy)

This post originally appeared on and was written by CouchDB Committer Robert Kowalski. We are re-posting it here with his permission. See the recap to see how well it went.

Andy and I recently organized the first CouchDB Day in Hamburg. Having more CouchDB Days would be quite awesome, but Andy and me work as volunteers in our spare time and we don’t scale that much 🙂 – same for the JS Unconf that I am organizing. In this post I want to share some insights regarding the organization of events. In general this guide is not limited to CouchDB or JavaScript – you can switch it with every other Open Source project or topics related to IT.

Organizing a (un)conference is much work, but it is also a lot of fun and a rewarding experience.

Decide on team size

A smaller team means faster decisions but sharing of tasks is limited. I suggest that you are at least 2 persons, as you can help each other and I think you get a better event as you both are taking care and have ideas. Having a larger team means sometimes much more time for finding a solution where everybody agrees on, but you can share more tasks over an amount of people.

Event length & expected amount of attendees

We decided to have the CouchDB Day for one day. Food and location are always the biggest expenses. That means if you decide on having a two day conference instead of one day, you will almost double your expenses.

That means the count of attendees and the length of the event directly relates to your costs (and the amount of sponsors you will need).


CouchDB Day: 100 attendees 1 day   6.000€
JS Unconf:   300 attendees 2 days 40.000€

Choose a ticket price

If you decide on taking a small amount of money for the event you will decrease the no-show-rate. I also organize JS Unconf and the tickets cost 42-120€ for two days, including food and parties. This is quite cheap (just covering a very small part of the expenses) but the fact that you have to “buy” the ticket leads to many folks showing up even if it is raining outside.

Fun fact: after talking to other conference organizers which have ticket prices at 300-1.200€ it seems the price does not really matter. As long as the attendees pay something the no-show-rate is usually 15% and it does not matter if the ticket costs 1.000€ or 42€.

For our free event we had a 30% rate – we lowered the rate a bit by sending emails before the event to all attendees asking them to cancel their ticket if they can’t make it to the day.


Make sure to ask attendees when buying their ticket if they have dietary requirements. The CouchDB Day had almost 50% vegetarians and vegans! Asking for it when they get the ticket makes it easier for you to plan the ratio of food needed.

As I just spend money I already got from sponsors food is the second thing after the location that I am trying to buy. It is also the most expensive part of the event.

If you have bad luck and can’t afford food it’s also no problem, but the location should be next to some restaurants.

Take care of diversity and a CoC

For JS Unconf 2015 and CouchDB Day we have a budget for diversity tickets. 100-150€ for travel plus a free ticket is a good amount to enable people that could not afford otherwise to join the event.

Please also take care of a Code of Conduct. It shouldn’t be just a link on your website, I suggest that you also mention it at the beginning of the event in your moderation and give a short explanation. Conferences should be a safe space for everyone.

You should also wear event T-Shirts that makes it easy for attendees to spot you in the crowd if they need help or have questions, you can also announce that in the beginning.

Get sponsors

You will need sponsors for the event. The deal for the CouchDB Day was:

* Banner with link on our website at
* place for a Rollout-Banner at the event day
* A table for offering, t-shirts, info material and goodies
* your logo on the sponsor slide

1.000€ + VAT (19%)

For a one day event in Germany a budget of 6000€ is a good indicator, but it depends on your needs. We started with one-two sponsors and as we got more sponsors, we added more features to the event (like food, a photographer etc.).

I strictly just spent money that we already had in the past years and had good experiences with it. Sometimes it can happen that you are not able to spend all the money as you don’t have enough time before the event (e.g. last minute sponsoring one week before the event) – but you still can keep the money for next year. If there is no following event you can donate the money to organizations like the Ada Initiative.


If you have money left, having a party in the evening is cool!

Organizing the party is easy, but there are a few things you should take care of: many attendees are not drinking alcohol at all, you should definitely offer softdrinks if you are offering beer for free. If you are also offering cocktails it is nice to have free non-alcoholic cocktails, too.

We usually have the party in a bar not too far away from the event-location.

I had bad experiences with vouchers for drinks in the past years, you have to take care everyone gets an amount of vouchers – and additionally as there is also a no-show rate at the party or some are leaving early it seems that you are often paying 500€ for vouchers, but just a few are used. It seems to me that it is easier to pay a specific amount to a bar and the attendees just show their badge for a free drink.

For a party after an event which has 100 during the day you can get pretty far with 500€ in the evening, depending on the price for a beer or softdrink. JS Unconf – which has 300 attendees and happens on Saturday and Sunday – has a budget of 500€ on Friday for our Warmup Party and 1.500€ for the main party on Saturday. Of course it is also possible to spend 1000€ with just 30-40 persons that are attending the party.

Add nice extras

If there is money left, spending it for a photographer is a good idea. Creating a Moodfilm which captures the atmosphere of the event is also nice if you have some money left. Both will help you and the attendees to remember how cool your event was.

For events regarding Open Source projects: contact the maintainers

Many Open Source projects have a trademark: CouchDB, Node.js and npm are all trademarked. Please contact the maintainers and explain your event to them. For CouchDB we contacted the CouchDB PMC with the initial idea and shared our logo designs. We got some nice tips from the PMC regarding our event, they even got a small guideline page for events!

You probably want some kind of insurance for your attendees. At least in Germany it is a good idea to have an insurance that will pay if bad things happen, like a lamp is falling down on an attendee. It costs around 150-300€ for 100-400 attendees.

As you are earning money and spending money you will need to think about your tax requirements. Can a company you are friends with help you regarding that? Are you organizing a lot of events and creating a foundation makes sense for you?


Organizing an event is a lot of work but it is not that hard! If you are organizing an event you can talk to other organizers and ask questions and share experiences.

I would be really happy if we see a CouchDB Day or JS Unconf in other parts of the world!

CouchDB Weekly News, June 26


Apache CouchDB 1.6.0 released

This is a feature release. Download link | Release notes

Blog Posts

Weekly CouchDB meeting – summary

  • 1.6.0 released: We encourage you to get your own CouchDB upgrade here
  • Welcome new committer: Lena Reinhard has been elected as a new CouchDB Committer
  • BigCouch merge: The merge has been done, currently .couch file migrations are being tested from 1.1.2 onwards for the latest point releases. See the call for help with testing and details about the testing procedure here.
  • CouchDB Blog: There’ll be a new CouchDB Blog soon (see email)
  • L10n (Localisation): Help with translation of CouchDB docs is highly appreciated! See “get involved” section below for details
  • AdvocateHub: The Marketing Team is planning the implementation of a new tool for community care, a timeline has been drafted (see email)

Major Discussions

Fauxton Dashboard (see thread)

We’re about to start working on adding Show + List functions into the Fauxton Dashboard. If there is anything you would like to see added in the functionality, please let us know on dev@ mailing list.

How to get the BigCouch Merge + Fauxton running for testing (see thread)

How to get the BigCouch branch and Fauxton running for testing. The detailed description can be found here. Please help us with the tests, and post any bugs you notice to dev@ Mailing List. Your help is highly appreciated.

Error with complex viewings and doc size (see thread)

Setup: database with 10 documents, some >1GB. When the user tried to do relatively complex viewings, an error occured. They asked if there was a way for the viewing to bother only with a specified doc in the database and not go through all the doc. In addition, they asked why even with smaller docs the views take quite long.


  • Very large docs should be broken into smaller ones. Depending on the application and the data model, this can be recommendable. In any case, files of around 1GB size should be avoided, if possible.
  • The views get constructed at the time of first access after a new doc is uploaded to the database (and every time a doc is updated). So, in normal service this should be pretty fast.

What is considered idle in CouchDB? (see thread)

A user referred to the description of max_db_open where it says “CouchDB reference counts database accesses internally and will close idle databases when it must.” They asked what’s considered idle in CouchDB and if the idle time was configurable.


  • The database considers idle by active references to it and by related active operations (like compaction) (see this post)
  • CouchDB uses LRU cache to manage open databases and frees idle by demand (see this post and this one).

There is no need for specific configuration.

Effects of changing the limit of max_dbs_open (see thread)

Setup: around 90K+ databases. max_dbs_open was set to 100K which led to a high memory usage. Thus, max_dbs_open was reduced to 50K. This reduced memory usage but led to a lot of opening and closing index in the log file and according to the change feed, only a quite low number of databases is being changed at all time.

Answer: CouchDB references to a database even there is no client attached to it. It will hold databases open up to the limit of max_dbs_open. If a request goes to a database not open, then the oldest database is closed to ensure that the total remains at or below the max_dbs_open setting. So CouchDB will keep 50,000 databases open at once with this setup, regardless of whether clients are making requests to them. If the user wants fewer databases open at once, max_dbs_open should be lowered.

Releases in the CouchDB Universe

  • express-user-couchdb 0.3.0 – An express app module connected to couchdb _users table
  • sails-couchdb-orm 0.10.2 – CouchDB adapter for Sails
  • couch-login 1.0.1 – A module for doing logged-in requests to a CouchDB server
  • frugal-couch 0.1.0 – Allows minimization of the number of HTTP requests to CouchDB
  • express-couchdb-fs 0.3.4 – An express module that adds a CouchDB file service API to any express app
  • slipcover 0.2.4 – Lite wrapper for CouchDB
  • http-replay 0.1 – Library to replay and compare HTTP requests and responses, e.g. to record CouchDB replication and replay that against another backend for testing; includes filtering of responses
  • ionic-pouchdb-todo – A simple Ionic Todo app with a PouchDb local storage backend configured to sync with a CouchDB installation
  • Cloudant Query – offering a declarative way to define and query indexes on the database. For more information, see also this post.

Opinions and other News in the CouchDB Universe

Use Cases, Questions and Answers

no public answer yet:

For more new questions about CouchDB, see these search results.

Get involved!

If you want to get into working on CouchDB:

  • Help test BigCouch file migration for .couch files with your personal databases – you’ll find all details on the testing procedure here
  • We have an infinite number of open contributor positions on CouchDB. Submit a pull request and join the project!
  • Do you want to help moving the CouchDB docs translation forward? We’d love to have you in our L10n team! See our current status and languages we’d like to provide CouchDB docs in on this page. If you’d like to help, don’t hesitate to contact the L10n mailing list on or ping Andy Wenk (awenkhh on IRC).

We’d be happy to have you!

New Committers and PMC Members


Job opportunities for people with CouchDB skills

… and also in the news