Building a Bookstore, Not a Dashboard

I built the first version of InkTree in about ten hours. Every page — library, reviews, search, book details, settings. All of it. Working. Deployed.

It looked like an app. It functioned like an app. You could import your Goodreads library, review books across five dimensions, browse your collection. The bones were right. I was proud of the speed.

Then I thought about why I was building. I wanted something better. Something that matched not only how I talked about books, but how I felt about them. And that's not about features and speed. It's deeply personal. When I discussed Inktree, people asked what I hoped for and it wasn't adoption- I wanted a digital library that I felt truly proud to put my books in.

And I looked at what I'd built.

Flat covers in a grid. Tiny dots. Synopsis text crammed under each card like a footnote. A table view that was, honestly, a spreadsheet. A book detail page that was a database record with a cover image stapled to the corner.

I had built a dashboard.

How can I sit here and tell people that books aren't just content — and then just vibe-code another content platform with a couple unique features?

That was the moment. Not a design epiphany. More like getting caught.

I'd used AI the same way everyone uses it — to go fast. A solo developer with the right tools can build a full-stack reading platform before lunch. Luckily I stumbled into "Design Twitter" and found an entire group advocating for craft over content - using the unlimited power not to make more, but to make better.

Speed was never the point. The whole thesis of InkTree is that we're moving too fast through books — rating them in stars, shelving them in lists, consuming them like episodes. And I'd built the tool that way too.

The axe works. It gets through the tree. But if you're building a bookshelf, you need a chisel.

I'm not going to tell you I figured it out. I'm going to show you what it looks like when I started trying.

The library grid — before:

Library grid before the redesign — flat covers in a standard app layout
Library grid before the redesign — flat covers in a standard app layout

A grid. This could be any app. A movie tracker. A recipe organizer.

The library gallery — after:

Library grid after — 3D book treatment, generous spacing, physical presence
Library grid after — 3D book treatment, generous spacing, physical presence

A gallery. Yes your reviews are interesting but what's more interesting? These giant beautiful covers that some artist labored over. Space, weight, spines. They deserve it

The library table — before:

Library table before — rows of data with tiny thumbnails
Library table before — rows of data with tiny thumbnails

A spreadsheet. I looked at this and thought: this is what I'm offering someone who just finished Lincoln in the Bardo? A row in a table?

The stacks — after:

Library table after — rich colored bands, dimension orbs, synopsis text
Library table after — rich colored bands, dimension orbs, synopsis text

The "table" had such an easy book metaphor but I needed a Twitter inspiration to get there. Each book is height variable to its page count. Spine "images" aren't available so: a simple generator that hashes the title into a random topographic swirl, coupled with the color of the dominant dimension. I wish I could do this even better.

The book page — before:

Work page before — sparse layout, flat data
Work page before — sparse layout, flat data

A page. Data on it. A cover. Some tags at the bottom. No soul.

The work modal — after:

Work modal after — focused encounter with cover, dimensions, community data
Work modal after — focused encounter with cover, dimensions, community data

My biggest gripe on every app- I'm scrolling and I have to leave the discovery flow to learn more about the book. So no more separate page. A modal only — so you never lose your place, and I have to be smarter with information density. Core info, community info, CTAs, tags and, if you really care, a little link to OpenLibrary to learn more.

Those before screenshots came from ten hours of work. Every page of the platform, in a day and change.

The after screenshots came from a hundred hours.

Same tools (mostly — shoutout Variant, incredible find). Same AI. Same me. The difference isn't the technology. It's the intention.

I'm not standing here saying I nailed it. I'm saying I'm trying. I looked at what I built and it wasn't good enough for what I was asking of people — to care about their books, to reflect on their reading, to treat their library as something worth maintaining. You can't ask that of readers and then hand them a dashboard.

I'm still learning to hold the scalpel. So if you care to help, especially with design tricks, let me know - I'd love an extra hand.


I'm building InkTree and right now I'm learning just how little I know about design — but how much fun it is when it starts to click. This is part of a series on the redesign. The manifesto is where the conviction started. This is where the work is.