Tuesday, January 27, 2009

CouchDB Contest

Ok, it's contest time again!

O'Reilly has offered up two free keys to the rough-cut editition of Relax with CouchDB, so Jan and I decided to find a cool way to give them out.

Here's the plan — we want to hear about your CouchDB project ideas, you can write about them in the comments here, or just link to your own blog. Just an idea isn't enough though, let us know why you think CouchDB would be a good fit for it. You can submit ideas until February 13th, after which Jan and I will look them over and pick out two winners.

Have fun, and good luck!

17 comments:

Anonymous said...

I'm planning on building a directed acyclic graph in CouchDB, using docs for vertices, edges, or both, for something like OmniFocus's Sequence/Parralel type structure, but where nodes in the outline could be in multiple parent nodes.

Anonymous said...

I am planning to create a olap type environment for risk data. To be able to traverse dimensions and calculate risk measures on the fly using views and map/reduce

Renecin said...

I'm new to couchDB, and I plan to use to build a Directory website. I need great performance, and a lot of different ways to query my data.

Because the data is different for each kind of listing, I would treat each listing as a document and use couchDB to get it fast.

Dan Phiffer said...

How about a birds-eye-view index of the Wikipedias? Each document would answer things like: how many words, contributers, revisions? Has it been flagged in some way? If it's a special type (with a sidebar box), what data appears there? Then, what kind of design documents will people come up with?

Does this exist already? If not, I'll volunteer to build one when some time frees up this spring.

Anonymous said...

I'm planning to get a mega-huge set of genome sequence data (3-ple digit GBs), and throw it to couchDB to see how much it can take. Ideally, I might spread the data over a few instances of couchDB across servers. Then query it until the machines start steaming. :-)

Charlie said...

I was thinking about one good use just yesterday. A couple guys on my team are about to go off and do some work in the mountains where they won't have internet access.

It would be useful to have a tool like Pivotal Tracker (which is mostly a RESTful client side Ajax application anyway) built as a CouchApp and making use of CouchDB's replication ability. Then, they could work through a bunch of tasks ('stories') and, when they get back in wifi range, sync their progress back up with our internet-hosted tracker.

I realize that the 'task list' is a staple of introducing every new programming environment, right after 'hellow world', but that is the first real world case where I found myself actually wishing for the type of distributed CouchApp you describe in your book!

Charlie said...

Also, Couch seems to me like a great fit for graph-oriented data, as others are mentioning on this thread. I could see doing the kinds of graph traversals I learned as a comp sci student (breadth-first search, shortest path, etc) over, say, a social network, without forcing things into a SQL paradigm and incurring a bunch of expensive JOINs.

Unknown said...

Couchdb Neural Nets!

http://blog.thecapacity.org/2008/12/04/training-neural-nets-with-couchdb-part-3/

Slobodan Filipovic said...

chess database pgn files
only add games
search by position players etc etc

nik said...

Couchdb Filesystem!
http://github.com/niky81/couchdbfs/tree/master

Anonymous said...

Create a social backup. You would give us your usernames for each social website you use (flickr, twitter, del.icio.us) and we'd save whatever data it is in a CouchDB database, so you always have one other copy to prevent what happened with ma.gnolia.com a few days ago.

Offering standard ways of getting data out (as well as an API) would be dead simple with CouchDB.

Unknown said...

A (distributed) bug tracker for use by distros, contributors, and developers.
Currently, each distro and project has its own bugtracker resulting in a lot of extra work needed to escalate issues. CouchDB could be the foundation for a distributed bug tracking system with developers and distro maintainers exchanging reports in a fast and easy manner.

Manolopm said...

We plan to build a (distributed) experimental result and constants holders for phisical deparments arround the world.

CouchDB could hold all this data for this deparments, so all this deparments could have the data from the others and have a big knowledge holder for physical researchers.

K2 said...

I'm building a simple statistic web service called Zippy Stat. Stats that users create will have X attributes, making it difficult/slow with a relational DB. I've been looking at possibly moving to CouchDB for this.

Devlin said...

I guess I've written a novel in comparison to these other submissions :) My submission (just in the nick of time btw) is to provide a mechanism for easily creating bloom filters in CouchDB.

leapon said...

The CouchDB is a good fit for scientific data, which is semi-structured by nature. I would built an electronic scientific notebook application to let researchers to put in raw experiment data, research protocols/recipes and graphs/images. Each entry in this notebook is signed and dated (as expected for a scientific record-keepting) and changes are tracked by CouchDB's revision mechanism.

The notebooks can be shared by user to scientific peers so that data can be forked/extended to further research efforts. This provides a social network aspect of the scientific notebook app.

The CouchDB replication feature would enable researchers working at remote sites to sync up discovery data with master database node.

gnupate said...

Hiya Leapon,
your idea is a bit late for the contest (it ended in February). You can get free access to the book though, just go to Relax with CouchDB