Client work · 2017 · for ZomboDB

ZomboDB

The brand and the website, not the database.

ZomboDB lets Postgres search its data through Elasticsearch. In 2017 we gave it a logo, a branding guide and its first website, with a release finder that picks the right download for your setup, and made it a site Eric could run without us.

Client
ZomboDB
The work
Brand & Website
With
Adobe Illustrator, Adobe XD, Middleman, AWS
ZomboDB's home page on an iPad: Making Postgres and Elasticsearch work together like it's 2020, with a Start Now for Free! button beside a network of hexagons, one holding the Postgres elephant and one a white emblem, above Scalable Text Search for Postgres and its first feature, Transaction Safe.
ZomboDB Releases on a phone, in purple: Postgres 9.5.x, Elasticsearch 5.6.16 and Ubuntu 16.04 (Xenial) chosen above a Find Latest Version button, and below it the newest match, v5.6.16-1.0.20, from 16 January 2020.

The brief

A home for an open source project

ZomboDB is an open source Postgres extension, and its only marketing had been the open source code itself. Its author, Eric Ridge, wanted a website where people could learn about it, browse and download its releases and read a simple blog, and that would turn some of them into paying consulting customers.

The challenge

Two audiences, one download

ZomboDB had two very different audiences, large enterprises and small startups, and every release was built for several versions of Postgres and Linux and one of Elasticsearch, so finding the right download was a puzzle. And the site had to be one Eric could run without us.

What We Made

A brand, a site and a gem

A logo and a branding guide, then a static website built with Middleman and hosted on AWS, with a release finder that picks the right files for your setup, and a gem of our own, middleman-releases, so a new release is one command away.

A phone showing the ZomboDB website lying on a notebook with pencil sketches of the same page layout, beside a pencil

Kickoff

A Database Extension Without a Website

ZomboDB is Eric Ridge’s Postgres extension, and it keeps a Postgres table’s text indexed in Elasticsearch, so you can search it through Elasticsearch from plain SQL. By 2017 it had a four-year history in production, but the fact that it was open source had been its only marketing. We didn’t build ZomboDB, and never worked on its code. Our job was everything around it: its look and its voice, and the website people would find it on.

We started with a kickoff, and asked about the company, the product, the people buying it and how it should sound. The audience was startups or large enterprises already using Postgres, with very large amounts of text to search or analyze. The words for the voice were experienced, reliable and trustworthy, because ZomboDB’s customers used it to make important and sometimes expensive decisions, so reliability and correctness came first. And with a name like ZomboDB, there had to be room for something playful too.

Five variations of the ZomboDB logo, a cluster of green, blue and grey hexagons with the ZomboDB wordmark

The brand

Big Corp of America, and the Next Big Thing

We began the branding exploration by reviewing what others in the space were doing. Most leaned on darker blues and greens, a traditional enterprise feel that also nods to Postgres itself. Then we drew up two personas, which we called Big Corp of America and the Next Big Thing: larger, more traditional companies with medium-sized teams and bigger budgets, and startups with small teams of a few people, going after the open source code.

To appeal to both, we kept blue and green as the main colours but lightened them, playful with “Zombo” in mind, and kept a yellow and a purple for anything that had to stand out. For type we set three options side by side and chose Raleway for headings over Montserrat and Roboto, because its few fun characters let ZomboDB stand out just a little, with Open Sans for the body.

The logo took three rounds. It ended as a cluster of five hexagons, one of them blue, over a wordmark whose “DB” is set in the same blue: it stood out, but still looked at home in a list of database providers.

Three ZomboDB website pages stacked: Releases, Blog, and Our Services with a contact form

The guide

A Branding Guide to Hand On

All of it went into a branding guide: the research and the personas, the colour scheme, the type, the logo, and a page on personality, with the keywords experienced, reliable and trustworthy and a long list of words to use, from dependable and honest to seasoned and steady. Its advice for writing was to sound professional, with a bit of a playful tone, and to put a little of yourself into the text.

The guide ended with the website, so it carried the plan for the site too: a home page with a “Why ZomboDB” section explained with simple icons, a button to the open source code, and a place for a list of clients, which would help a young product look legitimate. With it, ZomboDB could hand the same direction to any future vendor and stay consistent across print, digital and the web.

The top of ZomboDB’s home page on a desktop: the logo and a Releases button in the navigation, then Making Postgres and Elasticsearch work together like it’s 2020, with a Start Now for Free! button, beside a network of green hexagons, one outlined in white holding the Postgres elephant and one with a white emblem, on the logo’s blue.
The ZomboDB home page on a desktop monitor, headed Making Postgres and Elasticsearch work together, with a Start Now for Free button

The website

Five Weeks, Made to Hand Over

The proposal for the website was signed on 3 March 2017, and the first commit is from the same day. We built it as a static site with Middleman, in Slim templates on Bootstrap, and served it from Amazon S3 through CloudFront. There was no server to keep running and very little to pay for, and a static site suited the goal in the proposal, which was a site Eric could manage without us.

Every page wears the brand. The home page opens on the logo’s blue with a network of hexagons, one of them holding the Postgres elephant, and explains ZomboDB with six features, each with its own icon in a green-to-blue gradient taken from the logo. Its big button, Start Now for Free, goes straight to the releases. The Services page, in the same blue, asks people to get in touch for help with ZomboDB, and there was a blog, too.

Eric reviewed it as it came together, the features on the home page were reworded from those comments, and the list of client logos from the plan came out before launch, for now. By 6 April we’d made 214 commits.

The releases

The Right Download, Found for You

The hard part of the site was the downloads. Every ZomboDB release was built for one version of Elasticsearch and one or more versions of Postgres, and packaged for a handful of Linux distributions, so a single release could mean twenty files, and over the years the combinations changed. The proposal called for an interactive and intuitive downloads section, where you could browse past releases by what they ran on.

So the Releases page, in the brand’s purple, asked three questions instead: your Postgres, your Elasticsearch and your Linux. It then showed only the releases built for all three, newest first. Choose Postgres 10 and the Elasticsearch menu went away, because every one of those releases was built for Elasticsearch 5.6.4. Each release’s own page asked the same questions and turned your answers into its download buttons.

Try it here, on all 104 releases the site had in March 2020, with the versions each was built for.

Every release on the site, newest first: 104 of them, from August 2015 to January 2020.

  1. v5.6.16-1.0.20
  2. v5.6.16-1.0.19
  3. v5.6.16-1.0.18
  4. v5.6.4-1.0.17
  5. v5.6.4-1.0.16
  6. v5.6.4-1.0.15
  7. v5.6.4-1.0.14
  8. v5.6.4-1.0.13
  9. v10-1.0.3
  10. v5.6.4-1.0.12
  11. v5.6.4-1.0.11
  12. v10-1.0.0
  13. v5.6.4-1.0.10
  14. v10-1.0.0b11
  15. v5.6.4-1.0.9
  16. v10-1.0.0b9
  17. v10-1.0.0b8
  18. v5.6.4-1.0.8
  19. v5.6.4-1.0.7
  20. v10-1.0.0b7
  21. v10-1.0.0b6
  22. v5.6.4-1.0.6
  23. v5.6.4-1.0.5
  24. v10-1.0.0b4
  25. v5.6.4-1.0.4
  26. v10-1.0.0b3
  27. v10-1.0.0b2
  28. v10-1.0.0b1
  29. v5.6.4-1.0.3
  30. v10-1.0.0a9
  31. v5.6.4-1.0.2
  32. v5.6.4-1.0.1
  33. v5.6.4-1.0.0
  34. v5.6.4-1.0.0_beta5
  35. v5.6.4-1.0.0_beta4
  36. v5.6.4-1.0.0_beta3
  37. v5.6.4-1.0.0_beta2
  38. v5.6.4-1.0.0_beta1
  39. v4.0.1
  40. v3.2.1
  41. v4.0.0
  42. v3.2.0
  43. v3.1.15
  44. v3.1.14
  45. v3.1.13
  46. v3.1.12
  47. v3.1.11
  48. v3.1.10
  49. v3.1.9
  50. v3.1.8
  51. v3.1.7
  52. v3.1.6
  53. v3.1.5
  54. v3.1.4
  55. v3.1.3
  56. v3.1.2
  57. v3.1.1
  58. v3.1.0
  59. v3.1.0_BETA8
  60. v3.1.0_BETA7
  61. v3.1.0_BETA6
  62. v3.1.0_BETA5
  63. v3.1.0_BETA4
  64. v3.1.0_BETA3
  65. v3.1.0_BETA2
  66. v3.0.1
  67. v2.6.16
  68. v3.0.0
  69. v2.6.14
  70. v2.7.0_BETA4
  71. v2.7.0_BETA3
  72. v2.7.0_BETA2
  73. v2.7.0_BETA1
  74. v2.6.13
  75. v2.6.12
  76. v2.6.11
  77. v2.6.10
  78. v2.6.9
  79. v2.6.7.1
  80. v2.6.7
  81. v2.6.6
  82. v2.6.5
  83. v2.6.4
  84. v2.6.3
  85. v2.6.2
  86. v2.6.1
  87. v2.6.0
  88. v2.5.8
  89. v2.5.7
  90. v2.5.6
  91. v2.5.5
  92. v2.5.5_BETA3
  93. v2.5.5_BETA2
  94. v2.5.5_BETA1
  95. v2.5.4
  96. v2.5.3
  97. v2.5.2
  98. v2.5.1
  99. v2.5.0
  100. v2.1.40
  101. v2.1.39
  102. v2.1.38
  103. v2.1.37
  104. v2.1.36
The page for release v5.6.16-1.0.20 of ZomboDB, dated 16 January 2020, with Postgres 9.5.x, Elasticsearch 5.6.16 and Ubuntu 16.04 (Xenial) chosen, and below it a green Elasticsearch Plugin button, a blue Postgres Extension button, a link to the release on GitHub and its release notes.

Every release

Back to 2015, on Day One

A release finder is only as good as its list, so we didn’t launch with an empty one. We wrote a script that went through ZomboDB’s past releases on GitHub, through GitHub’s API, and made a page for each, with its release notes, its issue numbers turned into links, and its files downloaded alongside it. That brought in 57 releases, every one but the very first, back to August 2015.

Each release’s page has two big buttons, for the Elasticsearch plugin and the Postgres extension, and the name of each file comes from a pattern for each Linux in one data file. Your choices ride along in the address, so a release’s page opens with them already filled in, and the back button takes you to the same results. There’s always a page at /releases/latest/, with its own copies of the newest release’s files, and every download was counted in Google Analytics.

A laptop showing the ZomboDB Releases page, with menus to choose Elasticsearch, Postgres and Linux versions and a Search button

Handing it over

One Command for a New Release

So that Eric could publish a release without us, we wrote a Middleman extension of our own and published it as an open source gem, middleman-releases. It reads a folder of releases, one Markdown file each with its date and the versions it supports, and runs the list, the latest page and the release pages. One command, middleman release v4.0.0 --date … --edit, makes a new release from a template and opens it for editing.

From there it’s a short list: write the release notes, adjust the versions it supports, drop in the files and run the deploy script, which uploads the site and clears CloudFront’s cache. A second script then tags the release on GitHub, with notes that link back to the website. It was all written up in the project’s README, which the proposal promised.

Eric published the first release through the site on 17 April 2017, and by March 2020 had published 47 of them, in 82 commits, adding Postgres 10, new versions of Ubuntu and new versions of Elasticsearch to the data file as ZomboDB grew. The home page’s headline, which launched as “Making Postgres and Elasticsearch work together like it’s 2015”, got its year moved on by hand, to 2017 that April and then on through each new year.

ZomboDB Releases on a desktop, in purple: Postgres 9.5.x, Elasticsearch 5.6.16 and Ubuntu 16.04 (Xenial) chosen above a Find Latest Version button, and below it three matching releases, v5.6.16-1.0.20 from January 2020, v5.6.16-1.0.19 from November 2019 and v5.6.16-1.0.18 from June 2019, each with the start of its release notes.
The Professional Services page from the 2020 relaunch, on the logo’s blue: sponsor ZomboDB’s development and get access to pre-built binaries, then the first two of four tiers, Shunkworks in green and Startup in blue, each with a person in a hexagon, a list of what it includes and a button to select its plan.

The relaunch

Back Again in 2020

In February 2020 ZomboDB came back to us with a new direction. Eric wanted the site to say clearly that the core of ZomboDB is open source and that professional services were on offer, and to bring in recurring revenue through sponsorships. The prebuilt releases were moving to paying customers, so the blog and the public Releases page were to go, as ZomboDB didn’t expect to offer them again.

We brought the site up to date with a newer Ruby and newer gems, then took out the blog and the release finder and built what replaced them: a documentation section, a Professional Services page with four sponsorship tiers, a private portal where each paying customer downloads the binaries, and calls to register and to read the docs. Each tier takes one of the brand’s four colours, with its emblem in one of the logo’s hexagons. In July 2020 the relaunch was merged into Eric’s own copy of the site.

The release pages stayed, and so did middleman-releases. Eric went on publishing through it until the last release went out on 1 March 2025, by which time the site held 151 of them, and kept moving the home page’s year along too, as far as “like it’s 2023”.

Made for this site

middleman-releases

We wrote it in March 2017, specifically for ZomboDB’s website, so Eric could publish a release with one command. It ran every release the site ever had.

8 years
in use, from March 2017 to the last release on 1 March 2025
151
releases on the site by then, every one run by the gem
57
past releases brought in on the first day, back to August 2015
1
command to start a new release, middleman release

The craft

Underneath

Hosted by us

Alongside the build, we hosted the site on Amazon S3 and CloudFront, under hosting agreements from 2017, 2018 and 2019 that covered the website and the binary releases people downloaded from it.

Measured

Google Analytics came with the site from the first week, and every download was sent to it as an event, so Eric could see which releases, and which Linux and Postgres, people chose.