Neighbourhoodie Software is a software development company based in Berlin, Germany. We are experts in CouchDB, PouchDB, and Offline First.| neighbourhood.ie
Discover why CouchDB is so unique and what its headline features are| The Neighbourhoodie Blog
Neighbourhoodie Software is a software development company based in Berlin, Germany. We are experts in CouchDB, PouchDB, and Offline First.| neighbourhood.ie
Learn what files systems CouchDB works well with, and how to choose.| The Neighbourhoodie Blog
Our contributions to Log4j, and an interview with members of our team| The Neighbourhoodie Blog
Neighbourhoodie Software is a software development company based in Berlin, Germany. We are experts in CouchDB, PouchDB, and Offline First.| neighbourhood.ie
Learn what the Neighbourhoodies got up to with this Greenkeeper update from 2015| The Neighbourhoodie Blog
Neighbourhoodie Software is a software development company based in Berlin, Germany. We are experts in CouchDB, PouchDB, and Offline First.| neighbourhood.ie
You’ve heard it said. Is it accurate? Discover the myths origin and why it’s not correct in 2025.| The Neighbourhoodie Blog
Neighbourhoodie Software is a software development company based in Berlin, Germany. We are experts in CouchDB, PouchDB, and Offline First.| neighbourhood.ie
Learn about the latest high-performance feature in CouchDB 3.5.0| The Neighbourhoodie Blog
The results are out! Find out what others love about CouchDB and how they use it.| The Neighbourhoodie Blog
CouchDB comes with built-in 2FA: learn how to set up TOTP to keep your data even safer.| The Neighbourhoodie Blog
Neighbourhoodie Software is a software development company based in Berlin, Germany. We are experts in CouchDB, PouchDB, and Offline First.| neighbourhood.ie
Read our impressions of the conference and find out where you can catch up.| The Neighbourhoodie Blog
Neighbourhoodie Software is a software development company based in Berlin, Germany. We are experts in CouchDB, PouchDB, and Offline First.| neighbourhood.ie
Neighbourhoodie Software is a software development company based in Berlin, Germany. We are experts in CouchDB, PouchDB, and Offline First.| neighbourhood.ie
Continue building your own data sync mechanism in part two of the miniseries.| The Neighbourhoodie Blog
Neighbourhoodie Software is a software development company based in Berlin, Germany. We are experts in CouchDB, PouchDB, and Offline First.| neighbourhood.ie
Neighbourhoodie Software is a software development company based in Berlin, Germany. We are experts in CouchDB, PouchDB, and Offline First.| neighbourhood.ie
We talk to Lisa Steinmann from the DAI about remote excavation data challenges, Offline-First and flexible data design.| The Neighbourhoodie Blog
Neighbourhoodie Software is a software development company based in Berlin, Germany. We are experts in CouchDB, PouchDB, and Offline First.| neighbourhood.ie
Neighbourhoodie Software is a software development company based in Berlin, Germany. We are experts in CouchDB, PouchDB, and Offline First.| neighbourhood.ie
In this case study, we explore how we helped a customer with their pre-launch benchmarking, resulting in 10x requests per second handled.| The Neighbourhoodie Blog
Neighbourhoodie Software is a software development company based in Berlin, Germany. We are experts in CouchDB, PouchDB, and Offline First.| neighbourhood.ie
_(this post was originally released on the [Greenkeeper Blog](https://blog.greenkeeper.io))_ In our last blog post, we talked about SemVer and how it helps communicate changes in your software. Now we’ll have a look at taking it a step further and **completely automating our software releases**. We do this by using a tool called [Semantic Release](https://github.com/semantic-release/semantic-release).| The Neighbourhoodie Blog
_(this post was originally released on the [Greenkeeper Blog](https://blog.greenkeeper.io))_ Why does software have version numbers? Version numbers come in many shapes and forms, but they all have one thing in common: they signify that one release of a piece of software is different from another release of the same software. So one of the reasons software has version numbers is to show _progress_, e.g version 2.0.0 comes after version 1.0.0.| The Neighbourhoodie Blog
Today, we’re combining Svelte, the lean and fast frontend compiler, with PouchDB and CouchDB, and building a lightweight, Offline-First todo list app. It’ll sync your todos between multiple devices for offline use and also keep your data in a central backup database.| The Neighbourhoodie Blog
The entire Greenkeeper team congratulates the folks [at Dependabot for their acquisition](https://dependabot.com/blog/hello-github/) by GitHub and their integration into the GitHub Platform. Today, we are excited to learn that more GitHub users are going to benefit from many of the best practices we helped pioneer for developing software with automated support tools.| The Neighbourhoodie Blog
It was the height of the conference season in Berlin a few weeks ago, with [CSSconf EU](https://2019.cssconf.eu) and [JSConf EU](https://2019.jsconf.eu) happening back to back. At Neighbourhoodie we’re not only participating with our own booth, but our CEOs Simone & Jan are also part of the organising team of JSConf EU and worked tirelessly for the last nine months to help make the weekend a phenomenal success for all attendees, speakers and sponsors.| The Neighbourhoodie Blog
In case you missed it, our CEO [Jan Lehnardt](https://twitter.com/janl) got interviewed in IBM's Database Deep Dives series. In their post, he shares his insight as one of the leaders for the Apache CouchDB project, as well as database design in general. Check it out [**here**](https://www.ibm.com/cloud/blog/new-builders/database-deep-dives-couchdb)!| The Neighbourhoodie Blog
In the months since we've last published new features for [Greenkeeper][1], we have been working on making our service more robust and secure, as well as adding some functionality that you might be interested in. Read on for the changelog!| The Neighbourhoodie Blog
Right before [ApacheCon Europe](https://aceu19.apachecon.com/) in Berlin, we're excited to announce that we're hosting a special CouchDB meetup!| The Neighbourhoodie Blog
_This is an interview with Joan Touzet. Joan is Head of [CouchDB Support](/couchdb-support/) at Neighbourhoodie, is a CouchDB committer, and also sits on the Apache Software Foundation Board of Directors._| The Neighbourhoodie Blog
_This is an interview with Jan Lehnardt. Jan is part of the [CouchDB Support](/couchdb-support/) team at Neighbourhoodie, as well as VP of Apache CouchDB at the Apache Software Foundation._| The Neighbourhoodie Blog
_Berlin, March 5, 2020_. [Greenkeeper](https://greenkeeper.io), the pioneering automated dependency update service, is closing doors on June 3rd, 2020. Neighbourhoodie Software, the makers of Greenkeeper, have partnered with developer security company [Snyk.io](https://snyk.io) to build the next generation automated dependency update service. All customers and open source users are provided a one-click migration to the new service under Snyk’s stewardship. Neighbourhoodie’s Greenkeeper de...| The Neighbourhoodie Blog
When deciding on which data goes into which CouchDB documents, it is commonly helpful to keep track of the `type` of document. For example, you could have documents for `users` and documents for `articles`.| The Neighbourhoodie Blog
This advice is relevant for all query mechanisms in CouchDB: [Views](https://docs.couchdb.org/en/stable/ddocs/views/intro.html), [Mango Queries](https://docs.couchdb.org/en/stable/api/database/find.html), and even [Search](https://docs.couchdb.org/en/stable/install/search.html).| The Neighbourhoodie Blog
CouchDB is unique in the database world because it makes data conflicts first-class citizens of its data model. Normally, databases and applications built on them do a large amount of work to avoid doing this. In many scenarios, this leads to subtle errors and occasional data loss.| The Neighbourhoodie Blog
One of CouchDB’s core features is _scalability._ There are two axis of scalability in CouchDB: 1. Scaling the amount of data stored 2. Scaling the number of requests handled| The Neighbourhoodie Blog
This advice is **only true for CouchDB 3.0.0** or later. [Next week](https://neighbourhood.ie/blog/2020/10/06/sharding-reducing-the-number-of-shards/), we’ll cover increasing the number of shards in CouchDB 2.x.| The Neighbourhoodie Blog
In contrast to increasing the number of shards for a database, reducing the number of shards is not a built-in operation. In addition, as shard splitting is only available in CouchDB 3.x and later, this advice is good for version 2.x as well.| The Neighbourhoodie Blog
Naming a database does not sound like an exciting activity. But it can be, if you know all the considerations that go into naming a database in CouchDB. Let’s start with the restrictions.| The Neighbourhoodie Blog
CouchDB is configured through configuration files on disk. The format of the files is [INI](https://en.wikipedia.org/wiki/INI_file). When it starts, CouchDB reads a series of .ini files to make up the final configuration it is going to start with. This series of .ini files is called the _config file chain_.| The Neighbourhoodie Blog
When we explored how `default.ini` and `local.ini` work in unison to provide a coherent configuration and upgrade behaviour, we skipped over one more part of the configuration puzzle.| The Neighbourhoodie Blog
Docker is an extremely popular way of deploying any kind of application in many different environments. Deploying CouchDB is no exception, the CouchDB project even maintains its own set of Dockerfiles, as well as a helm chart to help orchestrate multiple containers as a cluster on Kubernetes.| The Neighbourhoodie Blog
In the vast realm of databases, two types have consistently marked their presence – the traditional SQL databases and the more flexible NoSQL counterparts. SQL databases, with their structured nature, have been serving businesses for decades. On the other hand, NoSQL databases, notably Apache CouchDB, have catered to the needs of modern web applications and their semi-structured data requirements. While both have their distinct strengths, there's often been a wish amongst users and develope...| The Neighbourhoodie Blog
We have exciting news to share: Neighbourhoodie is an official _Implementation Partner_ of the Sovereign Tech Fund’s Bug Resilience Programme.| The Neighbourhoodie Blog
In CouchDB 1.x, one of our [the CouchDB developers’] overarching goals was to create **a database that is easy to use**. We spent many years refining [the CouchDB REST API](https://docs.couchdb.org/en/stable/api/index.html) to make it as easy and as convenient as possible, so people don’t get turned away from using CouchDB by how hard it is to use.| The Neighbourhoodie Blog
When storing data in CouchDB, you send JSON in one form or another. When you retrieve data from CouchDB it is also in the JSON format.| The Neighbourhoodie Blog
This post is part of [our series on our work for the Sovereign Tech Fund](https://neighbourhood.ie/blog/2024/06/06/neighbourhoodie-and-the-sovereign-tech-fund) (STF). Our introduction post explains why and how we are contributing to various Open Source projects.| The Neighbourhoodie Blog
CouchDB uses JSON as a data format, and JSON does not have a built-in way to represent dates. But dates are commonly used when building applications for all sorts of things, and there are ways to store them in CouchDB, so how is that done?| The Neighbourhoodie Blog
CouchDB organises the definitions for all secondary indexes in a database in _design documents_. This is true for JavaScript Views, Erlang Views, Lucene text indexes, and Mango Queries.| The Neighbourhoodie Blog
Designing your data for use with CouchDB is usually pretty straightforward. Your application will make use of certain objects or data records like persons, events, tasks, etc. When thinking about storing these in CouchDB, you usually store an individual instance of each of those objects or data records in an individual CouchDB document:| The Neighbourhoodie Blog
This post is part of [our series on our work for the Sovereign Tech Fund](https://neighbourhood.ie/blog/2024/06/06/neighbourhoodie-and-the-sovereign-tech-fund) (STF). Our [introduction post](https://neighbourhood.ie/blog/2024/06/06/neighbourhoodie-and-the-sovereign-tech-fund) explains why and how we are contributing to various Open Source projects. [OpenPGP.js](https://openpgpjs.org) is a pure, Open Source [OpenPGP](https://en.wikipedia.org/wiki/Pretty_Good_Privacy#OpenPGP) implementation wri...| The Neighbourhoodie Blog
CouchDB takes keeping your safe very seriously. It does everything in its power not to accidentally lose any of your data. Let’s look at one of the things that keep your data safe: append-only database files.| The Neighbourhoodie Blog
Nouveau is a from-scratch reimplementation of [Lucene](http://lucene.apache.org) fulltext search for CouchDB. While in beta, this aims to replace CouchDB’s existing fulltext search option Clouseau / CouchDB Search in the near future.| The Neighbourhoodie Blog
[QuickJS](https://bellard.org/quickjs/) is a JavaScript engine that can do the same work as CouchDB’s existing JavaScript engine SpiderMonkey, but with different trade-offs that have advantages for CouchDB users.| The Neighbourhoodie Blog
The Apache CouchDB team has released CouchDB 3.4.1 a combined *feature* and *bugfix* release that includes, among a number of high-profile features, a slew of performance enhancements and bugfixes. This blog post goes into detail about what this means for Neighbourhoodie’s customers with concrete recommendations and tips for upgrades.| The Neighbourhoodie Blog
Our Sovereign Tech Fund work for Yocto, whose software you’ve definitely used, even if you’ve never heard of them. Includes researching bugs from 1998!| The Neighbourhoodie Blog
PouchDB and CouchDB used together are a powerful combination and one of the very few technologies that allow you to build truly robust offline web applications.| The Neighbourhoodie Blog
A closer look at Nouveau, trying out fuzzy full-text search, facets with counts and ranges, and covering installation, setup and performance.| The Neighbourhoodie Blog
We explore a common pattern in CouchDB view functions and highlight a simple adjustment that can save storage and boost performance in your queries.| The Neighbourhoodie Blog
We cover the questions and answers you posed during our CouchDB Meetup to celebrate the latest release.| The Neighbourhoodie Blog
We’re celebrating 10 years of Neighbourhoodie by gifting something back to the CouchDB community.| The Neighbourhoodie Blog
In addition to the default querying functions, CouchDB works with MapReduce Views, Mango Queries and, more recently, Nouveau. Each have their own strengths and limitations depending on your use case.| The Neighbourhoodie Blog
 In this first post of a four-part series, we’ll start building a real-time Kanban board, and discuss the challenges and trade-offs.| The Neighbourhoodie Blog
This is the second part of a blog post series on building a real-time, multi-user Kanban board with CouchDB and Svelte. We’ve [previously](/blog/2024/12/05/realtime-multiuser-kanban-board-with-couchdb) made design decisions that should help reduce the opportunities for conflicts, but since we can’t rule them out completely, we do need to provide ways to resolve them. In this post, we’ll be covering the possibilities of *automatic* conflict resolution, which means: - A machine can resolv...| The Neighbourhoodie Blog
In our [previous post](/blog/2024/12/11/automatic-conflict-resolution), we added automatic conflict resolution to our multi-user, real-time Kanban board. This would silently resolve any conflicts where two users simultaneously modified two _different_ properties of the same Kanban board card, eg. Alice changes the card’s title, and Bob changes the card’s location. While these changes constitute a conflict on a single database record, they don’t actually collide _within_ that record, and...| The Neighbourhoodie Blog
If you’re looking for a smaller, faster tool to assign random _ids, nanoid is the JavaScript ID string generator for CouchDB and PouchDB you’ve been waiting for.| The Neighbourhoodie Blog
This part four of our blog post series on building a real-time, multi-user Kanban board with CouchDB and Svelte. As mentioned in the [previous post](/blog/2024/12/18/manual-conflict-resolution-with-couchdb-and-svelte), UI or resource locking is one of the most promising mechanisms for avoiding conflicts in the first place: if a card is locked the moment Alice starts editing it, then Bob won’t be able to do anything with it, and therefore won’t be able to introduce a conflict. Sounds like ...| The Neighbourhoodie Blog
We’ve covered CouchDB’s data loss prevention foundations, but it doesn’t stop there. In this post, we look at how automated checksums help CouchDB prevent data corruption too.| The Neighbourhoodie Blog
You may be tempted to disable CouchDB's compaction feature for a more git-like version history. Here are the performance, replication and disk space risks that make it something we never recommend.| The Neighbourhoodie Blog
Need something small quickly? CouchDB is a great choice!| The Neighbourhoodie Blog
CouchDB gives you a lot of freedom when structuring your data — big docs, small docs, a mix of both. To keep your database running smoothly, here’s something you can do to reduce heavy lifting and keep reads, writes, and indexing fast: Keep docs small.| The Neighbourhoodie Blog
Neighbourhoodie Software is a software development company based in Berlin, Germany. We are experts in CouchDB, PouchDB, and Offline First.| neighbourhood.ie
Neighbourhoodie Software is a software development company based in Berlin, Germany. We are experts in CouchDB, PouchDB, and Offline First.| neighbourhood.ie