Today we’re opening Bertie for testing, and I’d like to ask λogos readers to help.
We (Cristian, Raz, and I)1 built Bertie to help people keep a reading list, discover new books, and support independent bookshops:
I know you’re all very busy; but please do give this a go — it’ll take a couple of minutes to download and set it up, and, if you like books2, it will be worth it. What’s in it for you? If you agree to participate, I will do my best to list your favourite bookshop on Bertie. Here’s what you need to do:
Download Bertie — iOS link here.
If you’re on Android, I’ll need to grant you access. Please sign up by clicking on the button below. You can also email me, Whatsapp me, or send me a homing pigeon.
Optional: use the form above to let me know which is your favourite bookstore that you’d like me to try and get on Bertie.
Please share this post with your friends who like physical books & want to support independent bookshops! Remember that it’s almost Christmas, and books make for excellent gifts.
The vision
We’re launching with an MVP3 that lets you
Create a reading list — ✅ ready for you to test
Discover indie bookshops — ✅ ready for you to test (though we only have four bookshops signed up for now)
Order books from your list from an independent bookshop. Note that payment and fulfilment takes place outside the app — we’ll send an email to the bookshop with your order, and they’ll get in touch to arrange payment and delivery — ✅ ready for you to test
Find books you might like, based on your list — this will be powered by GPT, and will allow for back-and-forth discussion with to help you find just what you’re looking for — 🔜 coming soon
But the longterm vision for Bertie is nothing less than a full-fledged competitor to Amazon on the B2C side, and a ubiquitous seller platform for independent bookshops on the B2B side. And once we have a foot in the literary world, the sky’s the limit: we can use Bertie to break into publishing (this has inspired me!), run literary events, perhaps launch a flagship bookstore ourselves and so on.
To be clear, what follows is what I’d like Bertie to be, not a promise on what it will be: Cristian and I have full time jobs, and I have young children, so we’re working on Bertie in the limited time these responsibilities allow.
B2C
On B2C we can build on Bertie by
adding the LLM chatbot,
letting readers add notes and reviews to books4,
letting readers create multiple lists (e.g. Fiction; Non-fiction; Gifts; Economics; Silicon Valley canon; etc),
introducing a social feed so readers can share their lists,
building a web app,
publishing content to entertain and educate readers, such as quizzes and statistics,
offering paid services and products such as mystery book bundles, tote bags, &c, and
adding in-app order payment and fulfilment.
Though I’m not a fan of audiobooks, we might add an option to buy them, but this will always be subordinate to the mission of supporting independent bookshops — for instance, we might build it so that you can buy an audiobook, but only if you also purchase a physical copy from an independent bookshop.
Basically, imagine an Amazon + Goodreads that’s actually good and pleasant to use. I envision Bertie as the app bibliophiles will open when they want to kill time, instead of Instagram or TikTok or X.
B2B
I want Bertie to be for indie bookstores what Shopify and Stripe are for e-commerce: an out-of-the-box solution to help booksellers
Manage their inventory end-to-end, from buying from wholesalers to mailing orders to customers
Set & review prices through a flexible system that allows for strategic pricing & experimentation (e.g.: offers for bundles, free shipping above £x spend, etc)5
Sell through Bertie, but also set up their own webstores (i.e. whitelabel solution)
Create marketing campaigns and new revenue streams (e.g. subscriptions)
In short, it should be that if you want to open a new bookshop, Bertie’s your first port of call. Building this is much more complex than the B2C, and we may never get to it, unless Cristian and I dedicate ourselves full time to this project — which may not be for a while.
A disclaimer
If you’re an angel investor or VC reading this, before you throw money at me, take good heed of the following:
Bertie has no moat, no competitive advantage, and no USP vs any other list-keeping or book app. I hope you’ll agree it’s better, but not in a way that any other developer cannot easily copy.
It’s not easily monetisable; we will never charge bookstores fees that they do not already pay elsewhere (for example, we will never charge them a commission for selling through Bertie, unless it’s a 1-1 substitution for a fee they pay with their existing e-commerce provider). I do believe we can make money when we build a full-fledged B2B platform, but that would take a while.
The target market looks like this:
If you like the project and are not daunted by these factors, get in touch! The one thing Bertie has going for itself is that it meets all three criteria in Paul Graham’s essay on finding start up ideas: it’s something I want myself, that we (Cristian and I) can build ourselves, and that few others realise is worth doing.
Feel free to stop reading now, unless you want to learn how Bertie came about, and what the experience of working on it has been. Before you go though, please take a moment to share this with fellow readers.
The history
I enjoy reading about the journey companies took to their final product, so this is a brief sketch of how Bertie came about.
Origins
I read a lot, and have friends who read a lot, and I come across lots of book recommendations. I like physical books, and so unlike many other people, when I hear of a book I might want to read I don’t just buy it on Kindle.
Also, while I am a huge fan of Amazon as a company, I love independent bookshops, and I’d hate for them to disappear. And so, I put my money where my aesthetics are: I keep a list of books I want to read on Keep, and when it6 reaches critical mass, I email my favourite bookshop (John Sandoe) to order them.
But Keep is a pretty poor solution for this: it’s clunky (I have to open the app, find the specific note where I list books, and add the book manually); there’s no book data in it — I cannot read a summary or anything like that: there are several titles in my list that I cannot remember adding, and I have no idea what they are; and I cannot place an order from the app.
I do use Goodreads to keep a record of the books I’ve read, but I find it quite unpleasant to use. It’s slow (and requires a long journey to add books to a to-read list), not particularly well-designed, its newsfeed is terrible (‘x has made progress reading y’ — good for them I guess?), all books are rated 4 stars, &c &c.
So, TL;DR, as a bibliophile, I want a better way to manage my reading and support the bookstores I like. So, if nothing else, I wanted to build Bertie for myself.
The name
The original name for Bertie was ‘Bookish’. But it turns out Bookish is already taken by an app offering the same service. (Why not use Bookish instead of building Bertie? Because it looks like FB circa 2006, and it lacks the book order and discovery functionality).
Since Bertie’s an app for people who love books, it makes sense to come up with a literary name. I considered a few options: GlassBead, Scoop, and the less literary but still linguistic and personal favourite, logos. But I settled on Bertie (after Bertram Wooster) because it’s simple, friendly, begins with a B like ‘book’, and is just all-around cheerful, like its namesake character.
Design
I made the original wireframes on PPT. Why do that and not go directly to Figma? Because, in the words of Bernie Madoff, it just didn’t occur to me. Anyway, here are some of these wireframes — not too different from the final product!
Eventually I did move to Figma, with help from Raz7. I drew many lessons from this design guide, and sought advice from Ben Strak of Design Lobster.
I’m not a particularly creative person8, so designing things doesn’t come easily to me. The main takeaways from this endeavour are:
It is hard coming up with a truly innovative design idea, but creating dependably good albeit not ground-breaking design is feasible if you approach it in an analytical way. Start by thinking about your objectives (what you want the user to get out of a screen or journey, and what you want to achieve as a business) and everything follows from there.
When something is your baby, you can become obsessed with details. For example, in a first design, I used ‘X’ both to close the search screen and to delete search text — but the misalignment between those two Xs bothered me much more than it should. Most people would never even notice it, but it gnawed at me. Thankfully, Ben suggested I use different icons, which would make the misalignment less jarring, and my brilliant wife recommended I use a return button:
Linked to that: there is just so much choice. So many fonts to choose from. So many almost-identical-but-not-quite icons. You really can get lost in rabbit holes choosing among them. I must have spent hours trying different fonts before settling for the ones you see in the app.9
There’s this adage that if you fail to plan, you’re planning to fail, but I think it’s only valid for truly complex projects with high fixed costs and little flexibility and room for error, such as infrastructure investments. For most projects, it’s better to start designing & building: put some screens together, see what works and what doesn’t, and iterate. Don’t get too carried away with planning work. Just do it.
Even now, when the app is (I hope!) usable, I am nervous about releasing it. There are still things that are not perfect: we can do more to improve speed and performance; book descriptions are not formatted well (see the next section on why that is!); we could display past orders in the app; in short, Bertie’s not perfect. But I chose to overcome my hesitation so as to get feedback from real users.
Book data
There are several organisations that provide free access to large books databases, but unfortunately they’re not very good. We tried the APIs of Google Books and Open Library, and weren’t too happy with either: the former conflates books and editions (so search results aren’t great), the latter is slower and lacks descriptions for many books, and both do a bad job sorting search results by relevance.
Also, as we were getting close to launch, Google changed its Books API, and removed formatting tags from book descriptions. This is why book descriptions in Bertie now look like a block of text:
I’ve emailed them about this, but haven’t heard back. And, while testing, we realised Google Books imposes a usage limit on its API: only 1k requests per day. You can request an increase, which I did, and… radio silence, even after I used my Xoogler card and asked my former colleagues to reach out to the Google Books team internally (shoutout to my ex-boss Nayem for trying to help). I’ve even started connecting with people on LinkedIn who might be working on Google books — but still no luck. All this to say — if a lot of you sign up, there’s a chance Bertie will stop working!
The whole experience made me question whether instead of building Bertie, I should build a better books API (though in fairness, we did not explore paid options). In fact, I think that if Bertie takes off, we’ll eventually have to build our own database — an easy way of doing it will be to task an LLM with compiling it: for example, we can build it so that when a user performs a search, we pass it on to the LLM with an instruction such as ‘return a list of titles and authors. Order it so that the ones the user is most likely interested in are at the top. Provide a brief summary for each book.’ So new entries to the database will be dynamically generated every time a user performs a search. But of course, building a database & associated API is a whole different kettle of fish. We’ll see.
Adding bookshops to the platform
I needed bookshops’ permission to use their details in the app, and to send them orders. To get this, I contacted bookshops in London, starting with John Sandoe. They readily granted permission, especially since they knew me as a customer :) I then reached out to others, with this email:
You’ll notice that the emails were personalised — both in the body of the email (where relevant; after all, I hadn’t shopped at every bookshop I contacted!) and in the screens, which I pre-populated with details from each bookshop’s website.
It worked remarkably well — most bookshops agreed to be listed, a couple ghosted me10, and one refused.
The first order
This felt like such a milestone, and was such a satisfying thing to do!
Project management
Everyone loves to hate on project management tools such as Jira, but managing even a simple project like this quickly becomes too difficult without formal tracking. I kept tweaking screens while Cristian was building them — how could we keep track of what had already been implemented? With a heavy heart, I created a Jira page for our project, and the first hint of bureaucracy crept into our dynamic start up.
As did the first hint of decision flip-flopping. Raz advised us to use Github Projects, because it’s easier to link development to project management. So we switched to that.
Coding
Cristian did 90% of the development for Bertie, with Raz doing another 9%, but I wanted to try my hand at it as well: I built the temporary Discover Books screen, and made some small tweaks to other screens & fixed some bugs.
I stand by my previous thoughts on software development in the age of AI: getting started is unnecessarily difficult, finicky, and discouraging to beginners. I am convinced that a smart person without any previous coding experience could create web apps with help from AI, but they have no chance of setting up a project unless they are uncommonly tenacious.11
When I speak foreign languages, I often come across more fluent than I really am because I’m good at using relatively sophisticated phrases judiciously: I can slot in a phrase or word that most beginners wouldn’t (I’ve impressed many a Mandarin speaker by saying 我会说中文但是不太流利 — I can speak Chinese but not very fluently). Coding with AI feels much the same: I don’t have an in-depth understanding of the codebase, and how different screens and components really hang together, but I can understand roughly what part does what. So I can ask GPT for what I want, take the code it produces, and slot it in. And much like learning a foreign language, this approach helps me learn by doing. (That said, Raz did tell me off: ‘you can’t trust the AI, Aris’.)
Testing
And this brings us to testing, where you all come in! Please have a go at the app — make a list, place an order, visit a bookshop, and tell me what you think. Any feedback is welcome — let me know if you spot a bug, if you think the UI is not as intuitive as it can be, if something looks a bit off, if you want me to add your local bookshop, anything.
And again, please do spread the word!
Help needed / Get involved
I’d love more help to build Bertie! In particular, get in touch if you are…
great with social media, want to help me spread the word and get Bertie into the hands of everyone in my niche target audience.As my pitifully low number of X followers proves (please do help boost it eh?), I’m not great at that.
a designer and want to help make Bertie’s design more coherent: help refine the palette and icons we use, fix any design faux pas, etc.
an engineer and want to help Cristian with development; there’s lots to do, as mentioned earlier: add the LLM functionality, introduce a social feed, bring order management into the app, build a web app…
I also welcome anyone who wants be involved in a different capacity — if you think you can help, don’t hesitate to let me know.
Follow our journey
I’ll keep posting updates on Bertie and the experience of developing it (as well as random posts on anything that comes to mind). If you’re interested in reading them, sign up here:
I came up with the idea and designed it; Cristian built it; and Raz advised on development
Physical books, that is. I’ve been discussing this project with friends, and many of them have told me ‘but I just buy books on Kindle, I don’t have a reading list’ or ‘can I order audiobooks’? If that’s you, then I’m afraid you’re not Bertie’s target audience. You’ll like Bertie if you think visiting a cosy bookshop is a fun afternoon out, if you enjoy the musty smell of old books, if you appreciate a well-designed edition, if you like cramming your house with more novels than you’re likely to read, and if, in the final analysis, you do not optimise for convenience.
Minimum viable product
The one thing we won’t do is standard 5-star ratings. They just don’t work — everything is rated the same, and it doesn’t assist with discovery. If we do ratings, I guarantee we’ll try to design a better system, and if we fail, we’ll try again, and we’ll keep tying until we end up with something useful.
I genuinely think many SMEs could easily achieve 5-10% revenue uplift just by tweaking their pricing. I believe this because I’ve achieved this at already hyper-optimised brands when I was at P&G. There is just so much low-hanging fruit, and giving small businesses the tools to harvest that fruit can unlock huge productivity gains.
The list, not Keep
Raz was in my squad at JP Morgan, and is a design and engineering wizard. I asked his help to build Bertie, but because he’s busy revolutionising ad creation, he put me in touch with Cristian, who has done a great job.
I once asked Ben once was whether this obsession over details is wasteful. His response was that little details add up in ways that are hard to articulate. I am not convinced this is right: Steve Job’s decision to have people’s signatures engraved inside the casing of the first Macintosh was invisible to 99.99% of the population, and cannot therefore add up to anything for the vast majority of users (you can’t even claim that the mythology of that decision adds to the product’s appeal: how of you knew of this fact?). It does not in the slightest contribute to the Mac’s success. Instead, I think this is a case of confounders: it’s not Steve Jobs’s attention to irrelevant details that made him successful — it was his passion and drive, which led him to obsess over everything, including things he probably shouldn’t have done.
Which is to say, he might have been even more successful had he been able to switch off his perfectionism over things that did not merit as much attention. But of course, the question is whether it’s possible anyone to do that. I certainly find that the more I care about something I do, the more I care about all its aspects*, even the trivial. Case in point: I had to draft a privacy policy for Bertie, for which I had to use an online service, since I don’t have the legal expertise to write it myself. The service I used doesn’t let me edit the output — and it bothers me inordinately, even though I know no-one will ever bother reading it. I also had to write a data request page, which I did myself; and you can see that this has much more of a personal touch, even though it will never be seen by anyone beyond the 1% of you who click on this link.
*Which is perhaps an overlooked issue in large companies: the diffuse accountability that results in some companies means that no-one really has end-to-end ownership of a thing being built. This is known; but if people are wired to either care a lot about everything, or lose interest completely, then the fact that they have no control over some parts of the project they work on might cause them to become disengaged even with the things that are within their direct control. More concretely: why should I care about getting component A to be perfect, when the person working on component B is doing a sloppy job?
If a bookshop didn’t respond within a few days, I sent a follow up email. But I didn’t chase beyond that — not because I lack perseverance, but because if a bookshop isn’t good at responding to emails, they will provide a poor customer experience to Bertie users.
To work on Bertie I had to: download an IDE, download Android studio, set up a phone emulator, use my terminal, learn how to clone Github locally, set up local environment variables, learn what npm, yarn and homebrew are, install Java, update Java, add changes, commit changes, create a PR, and merge a PR. If you’re an experienced developer, you may think, so what, all that’s simple. It’s not though! It’s a pain to do all this. Why can’t I just download a single IDE that installs all these other dependencies for me?