1. The Making of Coverlist: Part 2

    What if you had to design a logo before you could do any other work on a project? It’s funny, because I messed around in Photoshop for a day, and created something that I actually really liked. I kept it on the site for a while. But once I added a huge beautiful background image to the home page, that logo couldn’t stay. It was too cheap and the blue was too bright. 

    That’s why design seems never-ending for me — as soon as one feature is updated, others that were done suddenly need to be improved as well. 

    Plus, I’ve had a long list of changes anyway — to the point that it’s hard to walk away from my laptop to go to bed. 

    Goals for Last Week:

    I wanted to fix the design on the home page. I also wanted to change the content flow so users would see only one book at a time, then hit one of the buttons to reach the next page — and each book would be on its own permalink page (so you can share a specific book url to social media). 

    I wanted to utilize a rotate feature in CSS so the book info could be on the “back” of the books. 

    There were a few broken features around users — you could “like” a book more than once but there was no way to remove it from your library. I also haven’t decided whether to call it Your Library or Books You’ve Read. 

    I got to thinking a lot about the Buy link. Right now I can put it in manually for each book if I want to use an Amazon affiliate link, or I can redirect to an Amazon search of the book title. But I was thinking about how the interaction on Coverlist is really made for mobile — it’s simple — and I wondered if I should actually be redirecting to iBooks or Google Play. I looked it up and those affiliate links are actually quite easy to implement. Of course, I would want to bring the device in use into it — the site would detect that someone was on desktop and send them to Amazon, or iPad and iBooks, etc. 

    I’m also thinking about allowing users to add both a short review and tags to books. That way a user doesn’t need to have multiple “shelves.” I think it would be more attractive to tag a book “sad” “2013” and “beach,” for example — that would turn into better discovery for others as well. 

    What I Accomplished: 

    I actually did a lot! Mostly today. I got the home page redesigned, with the help of a friend I met on Angellist. He sent over CSS/HTML/Javascript. It took me some time to implement it. 

    Coverlist has Twitter Bootstrap on it. That means there’s CSS I don’t need to repeat, but also CSS I need to override. Simply copy/pasting CSS from another project usually doesn’t work. Sometimes I do it just to see what happens, then remove it, go back and add things one by one as they make sense. I actually learned a lot from that exercise, though. 

    I also figured out how to get the vote buttons to scroll through books. I found a StackOverflow question about Previous and Next buttons on individual articles and used the code from the Previous button. Then I had the “Begin” button on the homepage direct to Book.last. It’s not a permanent solution, but a good hack. I have no idea how to set cookies so users don’t see the same books every time they visit — but this way if I add books every week, they should see the new ones first. 

    I also met up with a friend who did YC last summer. I told him a bit about the idea and it was a really helpful conversation. He actually told me to stop writing code. Startups are always asked how they know they’re building something people want. Sure, it would be great to finish making Coverlist look how I want, and then start to get users — but the business model is most likely based on working with publishers. So, I should talk to them. 

    There are so many ideas from building an iPad app for local bookstores to use that would allow visitors to read  and purchase ebooks, giving the bookstore affiliate revenue. Or, providing services to writers who want to self-publish. Or, charging for placement in the book list. Of course, affiliate links to digital stores, or straight from the publishers themselves. But the one I think may be most compelling is A/B testing for book covers. It’s unique to the platform and could serve as a first step to offering publishers other support in digital. 

    Lastly, I removed access to user accounts. They are still there, but you don’t need to be logged in to see the books or vote on them. That saved me from having to fix the related bugs, redesign the Library view and more. 

    Oh! And I discovered a fun hack. So since the Meh, Yes. and Ooh! buttons work like a Previous button, the buttons were disappearing on the first book. I wanted to reward users and tell them they’d reached The End. I realized instead of changing the code, I could just create an image that was book cover shaped and replace the first book with it. I used Canva for that and it worked beautifully. 

    Goals For This Week:

    Surprisingly, my endeavor to stop coding went really well. The site looks decent on mobile (well, at least on my iPhone) and works. The one thing I do need to code is that Heroku is serving a weird error page if someone were to try to navigate to a book that doesn’t exist. I think I can change this inside Heroku. 

    Otherwise, now I’m planning for promotion. I’ve done some blogging on coverlist already but there’s more original content I can do. I want to do some interviews with book cover designers and editors and take book quotes and put text overlays on photos with Studio (iPhone app) — right now I just need to do the prep work. I also want to put at least 100 books on Coverlist. Lastly, I found that the few books I pinned to my personal Pinterest when I was testing the Pin button actually resulted in traffic to the site — not much, but more than from Tumblr, which I was more active with. So I’ll be planning a fun Pinterest promo :)

    One Thing I Learned:

    Coding is fun. Too fun. It’s always a debate for me whether I like programming enough for that to be the primary thing that I do. But in this case, I think fear of success plays a part — I’m not spending all my time learning Rails because I want to always do it — it’s because if I start telling people about Coverlist they might reject it — or I might actually have to follow through with this crazy adventure. 

    Tags: startups / rails / code / ebooks / app /


  2. The Making of Coverlist: Part 1

    I’m building an app called Coverlist.

    When I was in high school, my best friend and I would go to the bookstore, not to buy anything — just to hang out. We would slowly round the tables in the front, picking up any book that appealed to us, maybe reading the back or flipping to the first page. If it seemed particularly good, we would hand it off to the other and say, “LOOK.”

    Now I read books on a Kindle and don’t get to wander around bookstores. My favorite books aren’t carefully arranged on a shelf in my room because I don’t buy physical copies anymore.

    That is why I’m making Coverlist. It is a collection of only the best books and a place to judge books by their covers (and, well, maybe the first page).

    In the long term I want it to become a place to discover new authors (and for new authors to be discovered) and a re-imagining of the book publishing process, which in my opinion is too drawn out and peppered with gatekeepers for the digital age. We can do better, for the benefit of both readers and writers.

    So I’ve been learning Ruby on Rails for about a year and getting closer to making my vision a reality. I want potential collaborators to know where I’m going with this and where they might be able to contribute. I’m going to begin logging my work each week, to keep myself on track, and as an example for others who might have a big idea in addition to a full time job.

    My Goals Last Week:

    I went to a networking event for people in tech and showed Coverlist to the guy sitting next to me. He pulled it up on his phone. He didn’t like most of the books (there are only about 10 right now) and didn’t click on a book or give any “kudos.” I had already wanted to switch the “kudos” to three options: Meh, Yes., and Ooh!. This confirmed that plan. I also wanted to switch the default view to show only one book at a time — so instead of scrolling through all the books, you would just see one, and have to click one of three options to see the next book.

    At first I thought I needed to add a model for Meh and Yes. as I already have one for Ooh! (my previous Kudos). I couldn’t remember how to do that but then I realized I could design the buttons and leave them not really doing anything, just to confirm that it was the best design from a user standpoint.

    The last thing I wanted to do was put all the book info in the same place. It is really important to me that the default view shows only the cover plus the buttons, since you are judging the book by its cover. But instead of clicking the book to see more info (author, summary, share buttons, etc.) I wanted this info to show up on hover and the book would rotate, or flip.

    What I Accomplished:

    Changing the default view was surprisingly easy. @books was set to pull in Book.featured, or all the books where “featured” is checked Yes. This is important so I can eventually add thousands of books but turn on/off which ones are shown to users. It turned out all I had to do was change it to Book.featured.sample(1) and it pulls only one random book each time the page is loaded. The downside is that the url the user is on will always be coverlist.com, so they cannot potentially share a specific book to social media.

    I also added Meh and Yes. and turned the happy face into Ooh!, all in line underneath the book cover. All of them refresh the page, to show a new book, and Ooh! still keeps track of how many votes it gets.

    Then I tried to add the flip view using CSS. I found a number of tutorials that do the same thing, with a <div class=”side-a”> and <div class=”side-b”> but the closest I got was with the code in a Treehouse tutorial. The only problem is that the book would rotate and the book info would appear very far out in the side of the browser. I’m not sure why. Perhaps there is something in my existing CSS somewhere causing this. I could not fix it so I pulled the code.

    Goals For This Week:

    I met the founder of Poshmark this week and was really impressed by his approach to the app and how he came up with the idea before mobile technology was pervasive enough to make it work. I also really like the site’s homepage when you’re not signed in. Right now Coverlist looks like this:


    I’d like it to look more like this:


    A fellow developer I met on Angellist recommended I find a splash image on this site.

    Another problem that I believe is key to fix before Coverlist is truly an MVP is the Add to Library action. Right now you can add the same book to your library many times. That doesn’t make much sense but I haven’t figured out to disallow it yet. Another fix would be to enable users to remove a book from their library, which should be added anyway.

    There’s also some debate on whether the action should be Add To Library or I’ve Read This. From a book recommendation algorithm standpoint, it seems more meaningful to track what books someone already read. But from a social standpoint, it’s more meaningful to track what books people actually like. So, adding to your library should evoke the same feeling as Add To Favorites does on a site such as Birchbox. I actually don’t care if you’ve read the book at all; perhaps its something you were recommended and just want to read — that’s fine. I think a user’s library should be aspirational as that’s a better expression of identity anyway.

    That said, the heading on the user page may need to change. How about: “My name is Dani and these are the books I like to read.” What do you think?

    One Thing I’ve Learned:

    I met someone last week who just finished YC over the summer. He said he arrived thinking it would be an intense three months of building the product, but instead, they were told to spend their time building *and* talking to users. Many times I don’t feel like Coverlist is strong enough to show to anyone — there are some obvious design flaws. But I’m beginning to see how early user input is better. I’m lucky in that I am the target user for my own app, but I have a lot of friends that are, too — and if they can confirm one of my doubts about a feature, it allows me to be much more confident in what I am making.

    Tags: making coverlist / writing / reading / coverlist / app /


  3. I can’t describe the feeling I get when I hear this song. Suddenly I am back in junior high, walking into the youth group at my friend’s church (who’s pastors had better taste in music than my own).

    Thanks to a reddit thread, I just discovered that not only is Five Iron Frenzy back together and releasing a new album in a few days, but some of the band members have since renounced Christianity. It’s all very fascinating.

    Anyway, back to the goosebumps … repeat.

    Tags: five iron frenzy / christianity / ska / youth group /


  4. New York, oct 24, five min til 9pm.

    Get off a train to find the platform crowded. People staring down the tracks. They’re not just waiting for a slow train though. They have their phone cameras out and are taking pictures. Finally I stop to see for myself what obviously is happening. There is a shirtless man on the tracks arms in the air.

    A woman asks me I say there is a man. She says I know but did the train stop. I look again and a train is stopped in the tunnel a few yards away. And the man looks so small.

    Police are pushing their way through the wall of people who are still taking pictures. I begin to walk away.

    I wonder if that man was hoping to end his life tonight and all others cared was that they could prove they were there to see it. So I go down one platform and all is calm nobody knows of the despair on display one track above.


  5. The joy of programming.

    Recently I was catching up with a friend and found myself gushing, writing code is so much fun, it’s like a drug!

    It’s that surge of well-being that comes with solving a problem. Other things in my life have felt like a drug — texts from a love interest, going on regular runs, for example. Programming is somewhere in between the two — it’s particularly addicting and completely accessible.

    But I’m also reminded that it wasn’t always this way. Sure, the first time I realized I could change something in code and make a Wordpress sidebar move to the other side of the page, I felt like I had just hacked a bank safe. But for the year and a half I’ve been learning programming — Ruby on Rails — whenever I’ve found a bug in an app, I’ve pretty much set aside multiple hours or weeks to fix it. Because that’s how long it took, and I would spend hours Google searching and reading Stack Exchange and feeling like I would simply never find an answer because I wasn’t putting the problem in the correct terminology. 

    That fear of hitting a wall only went away recently. The last few bugs I’ve had, I solved in fewer than ten minutes — when I had been expecting to spend several hours. So not only am I beginning to build confidence, but I’m losing that fear that used to come with making any change in my app. 

    And it took me a year and a half to get there. 

    Tags: programming / rails / ruby / learn programming /


  6. Monday Writing Prompt: Fights and Exes


    Write a scene showing a man and a woman arguing over the man’s friendship with a former girlfriend. Do not mention the girlfriend, the man, the woman, or the argument.

    There was a tree with leaves falling. A crunch underfoot from a step backwards. 

    "She’s like a boy to me," was said. 

    Thoughts swirled around as the breeze picked up orange leaves and it seemed time to fly, fly away. He could not be trusted. 

    Tags: Writing prompts /


  7. "Most people start startups because they don’t want jobs"


  8. to dwell in the brokenness and senselessness and pain of the world until he comes back to finally and fully redeem it
    — Christianity, via Storyline

    Tags: christianity /


  9. I know that I can carry others through fires without getting burned now


    beautiful response to pain.


  10. I’m excited, proud and thrilled to say that my app is up for an award in the Booksmash Challenge. Follow the link over and give it a vote :)

    The concept was a finalist at the Publishing Hackathon in April and I’m very proud to have now built it in Rails. There’s more to be done — design tweaks, the option to suggest or add books, etc. Take a look and let me know what you think!

    Tags: rails / programming / ruby / books / startup /