Books make the world better – through story, research, long-form narrative, education, expert research and literacy. So we work to make our web app, Consonance, the best publishing management system in the world. We are ten years old in 2021, we’ve bootstrapped ourselves to profit – and we’re growing.
We started about ten years ago, with a system built to meet the needs of a single publisher, and initially grew by working mostly with trade publishers. More recently we have gained a strong customer base of academic and professional publishers, who tend to need management of much more complex data.
Our clients’ users work in editorial, production, marketing, and sales departments of book publishers, and our aim is to let them all work together as a single team. The book publishing domain is very complex, requiring a well structured and complex back end and a well-crafted user interface.
This is not a VC-ish operation, and client fit is much more important to us than achieving someone else’s growth target.
We’ve bootstrapped ourselves to profit, have solid cash reserves, and think of ourselves as a small and stable business offering expertise to our specialist clients. Our client retention and industry reputation are both excellent.
We are advocates of technical literacy in publishing, particularly for junior publishing staff, which leads us to initiatives such as running a Day of Code to empower publishing staff, running sideprojectsummer.com and connecting the worlds of tech and writing with justsimply.dev. Our corporate charity is also one of our clients: the literacy charity BookDash.org. Our, ahem, “corporate” website has examples of our work in this area, as well as a showcase of some of the side-projects we work on individually. We have two sister book publisher companies, Snowbooks.com and MakeOurBook.com, and we are an active member of the Ruby community, including publishing an edition of _why’s Poignant Guide for the Brighton Ruby 2020 conf.
Our brand promise is to make publishers better by sharing our expertise, and we communicate our expertise at scale through our app, and through writing and speaking.
Consonance.app is a conventional Ruby on Rails (currently version 126.96.36.199) monolith, which allowed us to rapidly develop to cover a lot of functionality.
Now we’re migrating complex interface requirements to React, with a GraphQL API to also allow clients to develop their own integrations.
Slack for chat, voice and video calls. Basecamp, VSCode, Skylight, Git Kraken, and Freshdesk. The vast majority of our work is on the app. ~10% is on implementations and integrations.
We’ve been a team of four or five for the past few years, with a pretty even gender split and a tendency towards full-stack skills. We are re-orienting a little towards specialisation by tier, enabled by the adoption of GraphQL as an API.
Two of the three founders work full time as programmers and business managers.
All staff are full time employees, and we work as a distributed team across the UK. We dropped office life at the beginning of the pandemic, and it’s worked well for us, so we no longer have an office at all. When circumstances return to normal, we’ll have in person meetups.
On a daily basis, we put a “stand-up” onto Basecamp first thing in the morning, have midday meetups on Slack, and collaborate for advice and pair programming as needed.
As a team, we:
We work a four day week (Monday to Thursday), without overtime or out of hours pager duty. We’re flexible on hours - 7.5 working hours a day.
We aim for calm and steady working practices, through things such as an absence of deadlines, very rare meetings, only supporting the latest browser versions, only hosting our app on Heroku, minimising custom developments, not maintaining a backlog, and doing flexitime depending on how family, work and life best fit together.