Hardcover Live

summary

In this conversation, Adam and Ste reconnect after a break, sharing personal updates about their lives, travels, and reflections on current events. They discuss the cultural experiences from Adam's recent trip to Europe, touching on the importance of community and history. The conversation shifts to the political climate, emphasizing the value of their work in promoting reading and education. They also share insights into their personal lives, including family activities and leisure pursuits. The latter part of the discussion focuses on the development of a stats page for their platform, exploring user interface enhancements and data visualization techniques. In this conversation, Adam and Ste discuss various aspects of data visualization, focusing on SVG animation techniques, the importance of color schemes for accessibility, and enhancing user experience through interactive charts. They explore the representation of reading data, including pages read versus minutes listened, and the design of bar charts and heat maps. The conversation also touches on user engagement features for supporters and the significance of comparative analysis in user ratings. In this conversation, Ste and Adam discuss various features and metrics for a reading platform, focusing on user engagement, reading analytics, and privacy concerns. They explore how to present reading data effectively, including metrics like average reading pace, series tracking, and user contributions. The conversation also touches on future enhancements and the importance of user control over their data.

takeaways

  • Reconnecting after a break can be refreshing and necessary.
  • Travel experiences can deepen one's appreciation for culture and history.
  • Current events can impact personal and professional perspectives.
  • Focusing on reading and education is vital in today's climate.
  • Personal life experiences can enrich conversations about work.
  • User interface design should prioritize user experience and flexibility.
  • Data visualization can enhance understanding of user engagement.
  • Collaboration is key in developing effective tools and features.
  • Autumn is a time for introspection and reflection.
  • Continuous improvement in product design is essential for user satisfaction. Animating SVG lines can be done easily with dash arrays.
  • Using pages read instead of minutes listened simplifies data representation.
  • Color schemes should consider accessibility for colorblind users.
  • Interactive charts enhance user engagement and understanding.
  • Defining a color palette is crucial for data visualizations.
  • User features like 'see more' can improve engagement for supporters.
  • Bar chart aesthetics can be improved with gradient colors.
  • Library breakdowns can provide insights into book ownership.
  • Heat maps can reveal deeper insights into reading habits.
  • Comparative analysis helps users understand their ratings better. User engagement can be enhanced by linking saved books to user profiles.
  • Supporter features can provide additional insights and data.
  • Reading metrics like average shelf time can offer valuable insights to users.
  • Mood impact and genre pace can influence reading speed and preferences.
  • Series tracking can help users understand their reading habits better.
  • Data privacy is crucial; users should control what stats are public.
  • Monthly stats should be easy to share and find for users.
  • Future developments will focus on improving user experience and data presentation.
  • The platform aims to provide meaningful insights rather than superficial stats.
  • Using tools like cursor can streamline the development process.

What is Hardcover Live?

Each week Adam & Ste focus on a specific feature, idea or prototype in Hardcover and iterate on it together or with guests.

Adam (00:01.184)
Hey, hey, stay, how's it going?

Ste (00:03.663)
Adam, good, good. How about you? Long time no see.

Adam (00:07.859)
Yeah, it's been been probably the longest time we've been been off for a while then like three or four months three or three weeks something like that

Ste (00:16.514)
Yeah, three weeks. It's been, it's been pretty long. I was a bit nervous when you went on vacation because since you are like the main person responsible, if everything goes down, you know, that can happen. But luckily nothing like that happened. there are some people who got a few errors, but nothing like really went down and yeah, I'm glad we've got through the whole 16 days and you had your like.

vacation which was well deserved. Yeah, how was that?

Adam (00:52.31)
It was mostly fun. My wife and I went to Barcelona for four nights and then we took a cruise out of there that went to Lisbon, Portugal, Porto, Portugal, and then down to Morocco and then back up to Cadiz in Spain and then over to Barcelona. And yeah, that was nine nights. So it was the longest time we've been on a cruise ship. only...

Only the second cruise we'd taken and yeah, it was a lot of delicious food a lot of some like pool time a lot of a lot of mimosas way too many mimosas

Ste (01:34.516)
Nice, well yeah, I can't blame you. Was the weather okay? I mean, yeah.

Adam (01:40.872)
Mostly there was there was one one night where there were like 15 foot waves. So it was like really bumpy. So a lot of people were getting seasick. Luckily, we missed all of the flooding in Spain. Like that happened like two days after we left Barcelona in Barcelona. And then before that, it was happening in other parts. But yeah, my heart goes out to everyone who's dealing with everything there in Spain.

Ste (02:09.676)
Yeah, that was bad. Yeah, that was a close call. When I saw, even in Barcelona, I knew we were going to Barcelona. It was flooded. Yeah, I was a bit worried. yeah, well, I'm glad it was super OK. What do you think of Europe? What's your impression? You've obviously been a lot, but how about this time around?

Adam (02:10.12)
It's not a pretty situation.

Adam (02:37.792)
I mean, I like it, honestly. Like, it mostly just feels like a lot of communities in the US, but with like walkability.

Ste (02:48.872)
Yeah, yeah, there's definitely like lots of vocabulary around here. Yeah.

Adam (02:53.014)
Yeah, like just being able to walk everywhere and not driving is amazing. And also just like walking down the street and realizing, hey, this sidewalk is probably older than America. These cobblestones are 500 years old or something.

Ste (03:04.403)
Yeah.

Ste (03:08.462)
Yeah, through that, through that.

Adam (03:11.911)
But yeah, I like it. I feel like there's still a lot I need to see. And it feels like every time I go, it's like kind of this jumbling of history, food, and art.

Ste (03:22.442)
Yeah, well, it's always like that. think like no matter how much you say, it's always going to be that plenty, plenty of all of those things.

Adam (03:25.527)
Yeah.

Adam (03:32.022)
Yeah. And then we got back just in time for the election.

Ste (03:38.122)
Yeah, well, that's something, I guess.

Adam (03:44.286)
Yeah, I feel like, you know, since it just happened and it's like the cultural moment for now, it's like, you know, we've been like, we haven't really delved into politics on hardcover at all. it's, I know both of us kind of think like, you know, let our work speak for itself. And, you know, we support, you know, love and the world. We support everyone being able to read what they want to read and

Ste (03:58.978)
Yeah.

Adam (04:13.855)
education. And I feel like even just saying those values, people know like who I vote for.

Ste (04:19.18)
Yeah, yeah, exactly.

Adam (04:21.364)
So I, yeah, so I think me and most people here in the US are just doing our best we can today.

Ste (04:29.684)
Yeah, yeah, I bet. Well, sending my regards, I guess, that's, mean, for the world, it's very, you know, harshly, worrying maybe or, you know. Yeah, yeah, it is pivotal. Yeah, yeah. I'm glad we have hardcover because, you know,

Adam (04:44.497)
Yeah, pivotal, yeah.

Ste (04:53.848)
can take your mind off of many, many things. And I'm glad we're working on something that hasn't been touched by that part. feel like there's so much tension that I'm also trying to take into account as much as I need. having a network.

Adam (04:59.411)
Yeah.

Ste (05:19.672)
where it's just about reading, just about books, just about these ideas. I feel like it's refreshing. mean, also working on it from this side, but also I imagine as a reader on hardcover, I think it's, Even more so, yeah. I was gonna say it's even more so important now to go all in and...

Adam (05:36.458)
Yeah. And it's, it's also just in a sp... sorry. Go ahead. Even more so.

Ste (05:49.378)
I guess, apply those values even more.

Adam (05:54.304)
Yeah. Yeah. And it, and it feels like it's, it's nice to be working in a space where, you know, if things, you know, if, censorship did become even a bigger issue, like, you know, like Fahrenheit 451 kind of thing, then at least we're, you know, creating a platform that could potentially be used to help, you know, distribute information, help people find books. And there's, there's that side of it, which is, which is hopeful to be on the

helping people find information inside of things rather than hiding information.

Ste (06:28.202)
Yeah, yeah, think us and like, you know, lots of and lots of people working on various things can like make make an impact. But yeah, for now, I guess it's good to reflect. And I mean, I for one, I'm glad I'm working on what I'm working today. Really, really fun. And it's really good to be able to, you know.

focus on this.

Adam (06:59.4)
Yeah. Yeah, yeah, speaking of which, what have you what have you been up to outside of hardcover last couple couple weeks?

Ste (07:02.156)
Yeah, other than that.

Ste (07:08.49)
Yeah, well, I've been taking it easy, know, enjoying life with a one-year-old going through, like I've been rinsing my local park. Like I know every, I don't know every like path because it's a pretty big park and they made it so, you know, it's like a David Lynch designed park because even though it's not like the parks I had in London, like the size of it, it's much, way smaller.

Adam (07:18.486)
the

Ste (07:38.39)
you can get lost so easily. And my wife was with Jonah, my son, and they found a plateau which had a nice viewing spot one week ago. And we tried to find a couple of days in a row, and we couldn't find it. So it's that kind of park where you end up in places and you don't know how you ended up there. But yeah, we eventually found it. So that's it.

I've been watching lots of movies, you know, now that it's like, I guess, autumn is like good for movie season. I watched The Substance. I started watching The Penguin, which is very good. Yeah. Yeah, it's the new series. It's actually like, well, yeah, you should watch it. It's very, very good. Yeah. And The Substance is very good. Yeah.

Adam (08:19.195)
Yeah, I haven't seen that. Is that a series or a movie?

Adam (08:28.598)
Nice. Yeah. Yes.

Ste (08:30.978)
I also watch Maxine because I haven't watched that. yeah, for long like movie nights and yeah, also from from started. So I've been watching that as well.

Adam (08:38.123)
Man.

Adam (08:41.928)
Yeah, Maxine and The Substance were both great. very, like they're not something I, movies I'd recommend to everyone, but for the people that like them, they were both great. I hope The Substance is nominated for like best picture or something, because I feel like it could be.

Ste (08:47.714)
Yeah.

Ste (08:53.993)
Definitely. Yeah, yeah.

Ste (09:01.004)
Yeah, yeah, it was like really, really striking and but also like very artsy and it had like discourse, very strong discourse as well. So yeah, very, very, very good movie. Yeah. And other than that, yeah, just like chipping away at the stats page, which is what we're going to talk about today. Yeah.

Adam (09:13.334)
Yeah.

Adam (09:16.634)
Nice.

Adam (09:28.404)
I, I saw one really good movie on the plane back that I absolutely loved. It was called a perfect days. And it's a Japanese movie about a man who like an older man lives alone in his want to say sixties and his job is to clean public bathrooms in, in Tokyo. So every morning he like gets up.

Ste (09:36.77)
Perfect days, okay.

Adam (09:55.434)
drives his truck around, cleans some bathrooms, has his whole routine. It's a very meditative movie. There's a lot of time where it's just, it's not him talking, it's just him going through his day and just finding joy in all the things that life has to offer. So,

Ste (10:12.908)
Wow, yeah, I'd love that. So Perfect Days, I'm gonna get it and watch that. Definitely, yeah.

Adam (10:18.548)
Yeah, it's not when you can have like a conversation with someone much while you're watching it, because you're, least that was how it felt to me, like in kind of your own experience with it, yeah, very meditative. Kind of good for this week.

Ste (10:34.484)
Yeah, meditative. Yeah, exactly. Yeah, I love meditative. Meditative in the way like Ben Sheezer's Vinyashirin was like, well, that wasn't like really meditative. The way like Midnight Diner is meditative or like... Yeah, I'll have to watch it.

Adam (10:45.75)
Mm.

Adam (10:55.636)
Yeah, yeah, there's another really good meditative movie that I really like called Spring, Summer, Fall, Winter and Spring. And it's.

Ste (11:07.278)
Okay, I don't know this one either.

Adam (11:09.544)
It's a Korean movie about a Buddhist monastery out that's in the middle of a lake. So it's like a little floating monastery in the middle of a lake. And the entire movie takes place in that monastery on that lake over five seasons and how people grow over time. I think it's f****g

Ste (11:31.505)
my god.

Adam (11:36.682)
Five seasons, but it's not like, don't think it's five continuous seasons, I don't think. I think it's over years. I can't remember. But it's also very, very quiet and meditative.

Ste (11:46.382)
I love it. Yeah. I'll ask you for that one as well for the thing because that sounds amazing. Perfect for this time and know, autumn in general. Yeah. I sent out the November reports and yeah, I mentioned I was...

Adam (12:01.514)
Yeah.

Adam (12:05.086)
Yeah

Yeah, nice job on that.

Ste (12:09.934)
Yeah, I'm glad you liked it. was a bit, I mean, I edited it like extra tight to make sure, know, I didn't. Yeah, it was like up to par with your monthly reports. But yeah, I mentioned that, you know, autumn is a very happy place, but it's like introspective season. So, yeah, those would be perfect for this.

Adam (12:12.79)
You

Adam (12:42.486)
Well, for this week, I know we're looking at some of the stat stuff you've been up to. What do you think is the best way to chat about that?

Ste (12:49.429)
Yeah.

let me share my screen. actually have it like. Right here and the stab. Okay. Perfect. Okay. You let it show up. Okay. Okay. Let's just cancel that. Nobody saw that. So here we go. Current stats progress. So this is what I've been up to, like the UI for the stats and the.

Adam (13:02.356)
Hey, looking good. Yeah.

Adam (13:08.278)
You

Ste (13:18.862)
I'm just going to go through all of these and maybe if like there anyone live has comments or stuff you'd want to add, please do so in the chat. Also, yeah, maybe we can go through them Adam and just like talk about what we can, we can improve on these because I think they're like in a pretty good spot to.

Adam (13:39.637)
Yeah.

Ste (13:46.7)
basically be like iterated on.

Adam (13:49.78)
Yeah, we could go through them one at a time here. So yeah, like the top one, a lot of like overall stats for you. Yeah.

Ste (13:53.418)
Nice. yeah.

Ste (14:00.8)
Yeah, this basically has so there are two ways like through which you can sort the periods, actually filter the periods. So there's this where you can like select it by year and it shows you the available years. You can select it by month and you you can select it up to the current month.

and it changes here and you can also select it. if you pick a date, I used our date selector, but we're probably going to have to like remove these. So if you do this and then I guess you'd have to like pick apply or, wait, yeah, I haven't picked, let's pick like the second September to the 10th. okay, it actually works. So you can also pick a custom date.

Adam (14:37.464)
yeah, yeah.

Adam (14:52.286)
Mmm, nice.

Adam (14:56.308)
Yeah, it's very flexible.

Ste (14:57.753)
And yeah, it's basically, I think, like covers all the scenarios. I know we worked on this like a bunch and you can also like, so there's this one in the header and I also made one sticky at the bottom of the screen over here. So this one is the same one. And yeah, basically if you select it here, it changes the selection over here as well. So this is like a quick select.

And I guess also a reminder of what you selected.

Adam (15:29.62)
yeah, that's true. Yeah.

Ste (15:33.678)
So you'd have this and yeah, this is like the overview. I'm guessing all of these we can like find out pretty easily.

Adam (15:33.91)
Cool.

Adam (15:42.357)
Yeah.

Yeah, all of these look easy enough.

Adam (15:50.388)
Yeah. And all of those are in that time period, which makes sense. Yeah.

Trying to think if there would be like one other stat to give it like a full rounded, like equal two by four. What else?

Ste (15:58.924)
Yeah, basically

Ste (16:05.482)
Yeah, I couldn't like find one. I mean if you have ideas.

Adam (16:12.852)
Maybe like pages a day.

Ste (16:16.969)
yeah, that's actually very good. Pages a day. I should write that down. Pages a day. I'll have to remember that.

Adam (16:24.886)
It's kind of like just a, we can just calculate it out.

Ste (16:29.694)
Nice. And it would be like the pages in that period, right?

Adam (16:34.154)
Yeah.

Ste (16:36.062)
yeah, mean it makes sense. We have the pages and you have the period so you can like just divide it. Nice. Yeah. Awesome. Yeah. Gives us like an even like eight stats. Yeah. I like added librarian edits which for non-librarians is going to be zero but then I had like no idea how to stretch it even further.

Adam (16:40.742)
Yeah.

Adam (17:01.445)
And then this so books read you've read this many books and it can like load another like row of them Very cool

Ste (17:11.15)
Yeah, these are like 20 per row and the problem with this one is that if you select monthly, you're probably going to have like, I don't know, three, five, 10 books because that's what you read per month. So I made it adaptable. If there are like between, think two and five, one and five covers, the covers are bigger. If there's between five and 10, the covers are a bit smaller.

Adam (17:24.52)
Mm.

Ste (17:40.372)
If it's between 10 and 20, a bit smaller again. And this is like, think after 20. So after you get like a full row of books, they become this size.

Adam (17:51.016)
Cool. Yeah, that sounds good.

Ste (17:53.27)
Yeah. And maybe we can just like load, show the most recent here and just load them indefinitely. I in case people want to, because if you select like lifetime and you have like a thousand books here, yeah, it's probably going to look like this.

Adam (18:00.126)
Hmm.

Adam (18:08.97)
Yeah, I was trying to think what I'd want to be shown here. for me, would be like my, if I was looking at all time, I'd probably want my five-star books shown there, the books that I love the most. Maybe we can sort this by rating and if they reviewed it and then their most liked review first.

Ste (18:14.839)
Yeah.

Ste (18:25.004)
Okay.

Ste (18:33.666)
Yeah

Adam (18:37.334)
Because then it's because that's like the book that they have the most like clout on in a way.

Ste (18:42.476)
Yeah, yeah, that's good. Should we put like a drop down, like a selector? could put like a select here that lets you or which can just like show them in that order by default.

Adam (18:55.432)
Yeah, we could probably just show them in that order by default. And yeah.

Ste (18:58.978)
Nice.

Ste (19:03.232)
Yeah, yeah, that makes more sense. You don't want to like see a book you've hated, but you've read recently, like on the first row.

Adam (19:09.366)
you

Adam (19:12.788)
Yeah, yeah, that sounds good. And yeah, and then the top 6 % of readers on hardcover sets, the idea is like,

that 6 % of people have read more books than you during the time period that was filtered for.

Ste (19:31.79)
Yeah, I'm not, mean, I wasn't too sure about this, but maybe it's like a pretty interesting one and maybe can make you feel good if you are like, reading a lot and using hardcover to track it. So I don't know, maybe we can show it if you're like in the top 10.

Adam (19:55.53)
Yeah, or maybe.

Ste (19:55.822)
If we can calculate it easy or else, you know, I'm not sure how you'd actually like do that.

Adam (19:58.825)
Yeah

Adam (20:05.802)
Yeah. Yeah, I'm not sure on the math of that one either. But I'm sure we could.

Ste (20:10.638)
You'd have to probably have a score that's already available for each user, getting the... Yeah, I don't know. We can just remove it if we don't want it. It looks good without it as well.

Adam (20:22.645)
and

Yeah, yeah, yeah. Yeah, I think, yeah, because to get that exactly, you would have to know how many books every single person on the platform read during that period and then where they fall in that, which is a difficult calculation for some things. Like for the all time page.

Ste (20:40.738)
Yeah.

Adam (20:50.866)
it wouldn't be too hard because in that one we cash the number of books you've read overall. So maybe we only show that for the all time view, but then we don't show that if you've filtered by anything else.

Ste (20:51.223)
Yeah.

Ste (21:02.56)
Okay, yeah, that works. Yeah, I was about to ask the same question because yeah, I couldn't figure out how it would work if you'd select like, yeah, you have to calculate everybody's books like every month, every like custom period. Yeah.

Adam (21:07.734)
you

Adam (21:14.326)
Yeah. And then it's going to be weird if like you're looking at you're you're you're in the top 1 % of people for March of 2003. It's like, well.

Ste (21:23.839)
Exactly. Yeah. Yeah, yeah, but all time makes sense. I mean, if we can do it for all time, if we can cache that, maybe we could do it. Okay. Sounds great. Okay. Moving on to the... Yeah.

Adam (21:32.15)
Yeah.

Adam (21:36.334)
What do you think about for that, the text of that top part? One thing I see a lot on like dashboards is like the little, like a up carrot, like top 3 % or like even like a little more subtle text if we want it.

Ste (21:50.436)
this one.

Yeah, definitely.

Ste (22:00.02)
Yeah, just like an icon in front of the six, right?

Adam (22:04.564)
Yeah, and the six on the green is a little hard to see too.

Ste (22:09.002)
Yeah, I used one of our badges. Which one is this? Let me see. I'm in the code right now. So summary stat. And we have the badge, is success. Let's see. Content, content, content. Here's the content. Top. Wait. This is not it.

Adam (22:17.66)
Probably like

Ste (22:34.857)
no, this is like books read stats. Books read stats.

Ste (22:45.336)
me put this. no, it's actually, yeah.

Maybe we can make the green a little bit more intense.

Whoop, not like that. That's a bit... Yeah, sorry. I just put... Maybe this is like a placeholder.

Adam (23:02.24)
Yeah.

Ste (23:06.956)
Yeah, so icon. Do I have an icon imported over here?

Ste (23:14.914)
Well, I'm just going to import it. just going to put it so I remember. Here we go. Whoop. I broke it. Here we go.

Adam (23:26.272)
I just deployed something for that error page too that hopefully should make the try again and the go back actually work.

Ste (23:33.563)
nice. Right. That's perfect. Yeah. I think that's going to be like useful to many readers who bump into that.

Adam (23:35.478)
So.

Ste (23:43.862)
Yeah, I'll add like a proper icon here and you're right. Maybe we should make it more, you know, contrasty.

Adam (23:54.066)
Yeah, we can really get rid of the on hardcover part too, just like.

You can do it.

Ste (23:58.879)
yeah, that's true.

Ste (24:09.088)
Here we go. Top 6 % of readers. Let me insert the space in there as well.

Adam (24:24.501)
Thank

Ste (24:25.967)
Yeah, so the next one I made like this custom graph and basically shows like pages read, minutes listened and the total and the total is basically like these two summed up.

Adam (24:30.61)
Nice.

Adam (24:37.344)
Mm-hmm.

Nice. That's really cool. And this is like you did this custom. Nice.

Ste (24:42.71)
Yeah. Yeah. Yeah, it's custom, like, SVG. Well, I did it with cursor. I have, like, no idea how to, like, actually do this from scratch. But I just, like, prompted it until I got here. That took, a lot of prompt. But yeah, it basically works. I told it to give me, like, I think there are seven or eight points here. And yeah, basically,

Adam (24:54.716)
Well.

Adam (24:58.644)
You

Ste (25:11.95)
It would be ideally in the time period with splits and have these milestones and have them fixed. It's nice because this one's also responsive. Yeah, but when I pass it over to you, we're probably going to figure out how to actually make it work better. I just put the maximum number of

pages aggregates. So this is like total over here. And the bottom axis is like the zero pages and the start date and the end date. And yeah, pages and minutes. So basically this would be, I put like a tool tip over it as well.

Adam (25:41.216)
Mm-hmm.

Adam (25:56.938)
Nice.

Adam (26:03.272)
Yeah, that's surprisingly elaborate for something that is custom by cursor. Yeah, I mean, it looks like a custom component with multiple line generation. Yeah.

Ste (26:15.764)
Yeah, I just told it to, so it made the line, like it made the line, it wasn't aligned to the dots. So I told it to align the line to the dots. did that. I then told it like, make the line more curvy so that it's like really wavy and smooth. And it did that. So yeah.

Adam (26:30.23)
Hey.

Adam (26:35.198)
I, like the other things I could think of could be like making the line a little thicker and then we could do something, and this is maybe something we could do on every component. It's like when you scroll that component into view, it draws the line.

Ste (26:43.629)
Mm-hmm

Ste (26:54.398)
yeah. mean, the next step would be maybe, you know, this is a task that we can also work on with this revelry in our team who mentioned animations. It would be like great to have it animated. And let me see if I can find this. So pages, stats. So somewhere over here, I must have like a...

Adam (27:05.643)
Hmm.

Adam (27:15.146)
Yeah, that could be fun.

Ste (27:23.594)
line with stroke with two. Let's see if that does it. Is it this one or just like refresh it? Sometimes it needs a good refresh.

It wasn't this one. Well, it's an SVG anyway. So I probably didn't change. Yes.

Adam (27:43.21)
Yeah, it'll be easy to switch.

Ste (27:49.782)
Yeah, it's going to be easy to switch once, you know.

Adam (27:53.006)
Yeah, and animating the line is surprisingly easy since it's just using a dash array offset that gets bigger and then it, once it, like, it gets bigger until it gets to the end and it's, so it's like, right, the dash array offset is like, like if you think of this line, right now you could think of this line as one dash, like, but if you,

Ste (28:18.049)
Yeah.

Okay.

Adam (28:21.8)
If you do it to like 10 % of it, then it would be like, or like 10 pixels, it would be like 10 pixels and a space of 10 and 10. But you kind of do 10 pixels and then you mask the rest of it and then you increase that dash until it's the entire length.

Ste (28:32.598)
Okay.

Ste (28:39.191)
you increase the mask. it's actually what you do in design as well. So.

Adam (28:42.772)
Yeah, it's like a really simple way of doing line animations.

Ste (28:48.51)
wow. OK, yeah, that's going to be easy. mean, I'm looking at the code now, and it's basically like SVG lines, lines, path, and basically like the circles. Yeah, pretty good. So I have stroke-array at the hovered point. yeah, I think it's going to be like good when you look at it because, you know, all the insides out of like SVGs.

Adam (28:51.254)
That's all, CSS.

Adam (29:01.417)
Nice.

Adam (29:17.216)
Yeah, yeah, and I'm trying to think if there's anything else I would change on it.

Ste (29:18.381)
Yeah.

Adam (29:26.996)
So let's see, so you've read 913 pages and so that, okay, so that, yeah, that includes 723 pages and 381 minutes. And, or 381, is the 381 minutes, would that be like, yeah, so this is, so one thing I was thinking about this chart is instead of minutes listened, it's more like pages,

Ste (29:38.764)
Mm-hmm.

Ste (29:49.303)
Hmm.

Adam (29:56.914)
equivalent to the minutes, if that makes sense. So it's...

Ste (30:00.902)
Yeah, I mean that makes sense I think that the chart is like self-explanatory I guess because You know, you know, there's like some math we do in the background But we can say like Minutes equivalent to pages. I didn't like complicate the language to just like leave the most Yeah, simple version of it

So basically you'd know the total is like an aggregate we calculate, but we can like definitely, yeah.

Adam (30:38.461)
Maybe we just say pages read and pages listened.

Ste (30:42.778)
yeah, yeah, yeah, instead of minutes. Let me see if I can find minutes real quick. So pages read, minutes listened, minutes, minutes, minutes. there's lots of minutes here. Okay, let me see. Pages listened, pages read. it actually auto completes everything for me.

Yeah, here we go.

Ste (31:15.896)
Page is read, page is listened.

Adam (31:18.899)
Yeah, think that makes sense.

Ste (31:24.214)
Yeah, I have change it in the tooltip as well. Pages read, minutes listened. There must be a minutes listened. There we go. Pages.

Ste (31:41.994)
Okay, now I changed it here. I have to change it in the tooltip. Cool. Yeah, I guess this is a neat one for people, especially for people who are gonna like read and listen at the same time.

Adam (31:56.148)
Yeah. for a, and in general, like what are you thinking for like the color scheme of this page? Like I'm liking the blues and purples and things.

Ste (32:11.41)
Yeah, I went all out with the color. I think we should be colorful. I was even thinking we could have an array of colors and maybe you can change the theme. I can show you a cool example would be... Let me switch.

Ste (32:35.31)
show everyone what.

to just a second here. over here for the charts, you can pick the color scheme like this. So this is pretty neat. So this is basically like an array of colors and yeah, you just change the array.

Adam (32:54.474)
Mm-hmm.

Adam (33:02.87)
Thanks

Ste (33:04.27)
And maybe I had some 1D feedback and thanks for that because they're colorblind. They mentioned that on another like stats we're going to talk about some of the colors were like really similar. maybe we could have like the colorful theme and maybe we could have like the dimmed theme and the dimmed theme would just be like that same array of colors.

but like the gray version of it.

Adam (33:37.426)
Yeah, a monochrome, like a colorblind version. Yeah, that sounds like it could be a good way to doing it.

Ste (33:39.404)
Yeah, the monochrome,

Ste (33:45.986)
Yeah, I mean, it's going to complicate things a little bit, but I think if we can define that theme, we can use it for throughout the app. So we can have the colorful theme, which gives us access to some of the colors that we're using now and maybe a theme that basically makes those.

like way more neutral.

Adam (34:19.114)
Yeah, and that's a common thing in data visualizations too, is to define your color theme palette. Because most of them have a method where it's like, which color palette do you want to pass in? So this would be us kind of creating our own library with that input in mind.

Ste (34:31.429)
huh.

Ste (34:37.28)
Yeah, if it is, I think we can structure it. mean, you'll have to look at the code, but if we can structure it easily, maybe we can do it like this. Else, you know, we can just like ship it like this because it's like neat in any case, and maybe just follow up with an update.

Adam (34:55.53)
Yeah.

Ste (34:57.876)
Nice. Yeah. So for instance, it is really colorful because we're going to get to some sections right now. So we have this one, which is like a GitHub style.

Adam (35:06.504)
Mm, yes, yes.

Ste (35:11.64)
basically a calendar that shows you the progress you've made each day. And if you select it for a month here, basically, you get that period highlighted.

Adam (35:27.06)
Nice. Yeah, that's pretty cool. Yeah, having it use the same one as the year one rather than just trying to only show that little corner of it is a good way doing it.

Ste (35:29.665)
Mm-hmm.

Ste (35:40.122)
Yeah, I mean, I know we have like one that we're currently using, but that's not ideal. So I wanted to basically show like the yearly activity and highlight what you're actually looking at.

Adam (35:56.126)
Yeah. What would you think about for this one using like instead of a mono green using some kind of other scale that includes a different color as well? Cause one thing that I struggle with on this one is that the dark green and the light green doesn't, it doesn't stand out as much on like which, days I've read the most. It looks really nice though.

Ste (36:11.042)
Mmm, yes.

Ste (36:20.482)
Yeah. Uh-huh. Let me find it. Yeah. So, yeah. It does look nice, but maybe we can make it nicer. Let's see. So, this is like the... This popular way. I have lots of stats in here. Maybe I can just make a note and make the edits afterwards.

Adam (36:26.649)
That's the downside.

Ste (36:46.87)
Because yeah, I agree. mean, we can just, these are colors defined in an array when it loads. So we can just like tweak this however we want.

Adam (36:47.264)
Yeah, yeah.

Adam (36:53.27)
Mmm.

Nice. Yeah.

Ste (36:57.624)
So, yeah, maybe I'll do like a colorful scheme and use the colors, maybe some that I'm using here because this is where it gets like really colorful. So here we're using like the same polettas above like these two, but yeah, here we're introducing new colors. So this is like the fiction versus nonfiction and the reading format.

Adam (37:10.155)
Yeah.

Adam (37:21.854)
Mm-hmm.

Ste (37:22.495)
These two went very well together because it's the same visualization, the same number of options, and yeah, these worked really well.

Adam (37:33.77)
Yeah.

Adam (37:37.265)
Yeah, those look really good.

Ste (37:39.32)
Yeah.

Adam (37:40.842)
I could even see using these little bar charts that you have below, like on the fiction, non-fiction part too. But then again, that would kind of like duplicate it. It would show it in a pie chart and then it's showing the same thing in a bar chart if it did that. I don't know if we.

Ste (37:58.282)
Yeah, I we could, I actually think I put it like as a bar chart at the bottom. So it was like zero to a hundred and yeah, it basically was like a small bar. Yeah, not against it. I mean, it could look neat because this is like really colorful and here it gets like even more colorful. So these are like the top 10.

genres and the top 10 moods if you have like data for it, of course. And someone pointed out here and thanks for this feedback that, you know, they kind of look like bars that fill up to like a point. So these are basically like percentages. So...

Adam (38:28.8)
Mm-hmm.

Adam (38:46.358)
Mm.

Ste (38:51.406)
I first made them so that like this one, 28.6 went up to here. But the problem is that if you have like 10 genres, you're just going to get like very like small colored bars. So I just made it do it. How's it called? Like, proportionally. So.

Adam (38:51.871)
yeah.

Adam (39:01.654)
You

Adam (39:13.119)
Yeah, you set the domain, the range of it. Yeah, you mapped the range to the domain. The 28 % equals 100%.

Ste (39:22.218)
Yeah, exactly. yeah, that's...

Adam (39:25.738)
Yeah, yeah, I think, yeah, I think that makes sense. And it comes out looking great too.

Ste (39:31.894)
Yeah, that's the problem because if it was like the real percentage, it would, I mean, show like really small bars. So this actually gives you all these nice colors and yeah, we can define this in an array and basically this, I think these would be like the most, let's say, widest version of the color scheme.

Adam (40:02.139)
Do you think for these, so I guess there's like two ways of creating these color schemes. One way would be like they're always in this order. your top book, your top genre and your top mood are always blue. Your second's always purple. Or I guess another way is that we associate specific genres and moods with colors. But I think I like this ordered way more.

It looks very clean seeing the same colors on both sides.

Ste (40:29.582)
Hmm

Ste (40:34.464)
Yeah, yeah, get what you're saying. Yeah, yeah, I think I like quadrids as well. yeah, Northern Koala mentioned that. you told me about the color blindness. Yeah, definitely. I we can tweak the color palette so that they match the broad spectrum so that it's OK for mostly everybody. And.

Yeah, basically, think aligning them so that they're order by number. Yeah, that makes sense. Puts a bit of order in the colors as well. It might get to, I mean, it's already very, very colorful.

Adam (41:15.2)
Yeah.

Adam (41:23.84)
The text for the colors is a little hard to read for me for like contrast wise of the.

Ste (41:29.706)
Yeah, maybe we can make it like one color.

Adam (41:35.686)
no, kind of, I don't know. I kind of like it. But you're right. Maybe we could. You could. Yeah.

Ste (41:36.109)
Maybe that's too much.

Ste (41:40.746)
Yeah, I mean there are some like there are some of the

the horror and humorous genres here, this gray and maybe even this indigo that might be, I can tweak those, but if we use the same color scheme, we can tweak that so that everything looks good.

Adam (42:10.794)
Yeah.

Yeah, could, one thing we have in our current stats, which we could potentially have here is if you're a supporter, it could be like a see more button to see like, cause this is showing like your top 10 genres and your top 10 moods. If you want to see beyond the top 10, maybe we have like a supporter only see more option.

Ste (42:13.687)
Nice.

Ste (42:35.423)
Yeah, that would make sense because it requires like more calculations on this page. Yeah, definitely. could let me make a note of that.

Adam (42:39.946)
Yeah.

Ste (42:45.998)
So this is like the, I'll just remember it. Yeah. Yeah. That could work because there could be some people who have like, especially for modes.

Adam (42:58.39)
And I think for the percentages shown here, we could probably just round to the nearest number. What do you think? Yeah.

Ste (43:07.662)
yeah. Yeah. That's a bit too specific. Yeah. Like 3%, 3%, 4%, 4%, 5, yeah. 6. Yeah. Yeah. Yeah. Yeah. This is a bit too... Too accurate.

Adam (43:16.096)
Yeah.

Ste (43:25.12)
Yeah. And then like I went a bit more, you know, settled with the colors, I guess, with the books by rating and books by page count. So this is basically, I think most of the charts are going to look like this for people. So most of the ratings are probably going to be like in this range and most of the

Adam (43:50.432)
Mm-hmm.

Ste (43:53.762)
book counts are gonna be like in this range. So it's an, I've.

Adam (43:59.294)
Yeah, I think that's a good hypothesis.

Ste (44:03.968)
Yeah, like when I made them, I noticed that makes like a nice, you know, bell curve kind of thing here. it works. Yeah. Yeah, exactly. Yeah. So these would be like.

Adam (44:10.964)
you

Adam (44:14.878)
Yeah, they look good next to each other.

Ste (44:24.514)
the books by page. Well, this is like pretty self explanatory and it also like gives you like a title which says like the big, which one is like the, your most like.

Adam (44:43.487)
Yeah, your highest page count. I like the average rating, average page count to it in there. I think that's cool. Just seeing that.

Ste (44:45.087)
Yeah, I value.

Ste (44:52.18)
Mm-hmm. Yeah, it's a nice, you know, more specific thing. We can calculate that pretty easily, right? It's just like a...

Adam (44:57.856)
Yeah.

Adam (45:02.068)
Yeah, yeah, that'll be easy enough. was thinking one part that I always struggle with for bar charts is like how much of the bar and how much space do you get between the bars? I know there's supposed to be some system or some calculation for how much space you put between bars based on their height and their number of them.

Ste (45:16.759)
Yeah.

Ste (45:30.11)
Yeah, well, yeah.

Adam (45:32.63)
When you resized it to be a little bit smaller and they were closer together, I think we could probably make them a little tighter between each other, but it has to be big enough for the label still.

Ste (45:47.294)
Uh-huh. Yeah. These ones, I think they're not even SVGs. made it because with SVGs, it gave me like a weird positioning for like the page number and the stars. So I just told cursor to make them into divs. So these are like, yeah, different height divs. And I think this is like just the tailwind justify between. So yeah, we can definitely tweak that.

Adam (46:04.244)
Yeah, that works.

Adam (46:17.543)
Nice. Yeah. And one thing that I was thinking that is really cool that Letterboxd does is for their charts, they have like this gradient color for the bars where we could still do it yellow to yellow, but it could be like two different, kind of like in the next thing, you have these two versions of yellows.

Ste (46:18.86)
Yeah, this was like, yeah.

Ste (46:34.684)
Mmm. Yeah.

Ste (46:42.538)
Mm-hmm. Yeah.

Adam (46:43.86)
If we did it like that with a gradient between those yellows, I bet this would look really striking.

Ste (46:50.178)
Yeah, yeah, yeah, we can definitely do that. I'll try doing that. It shouldn't be like too hard. Even if they're divs. Yeah.

Ste (47:04.79)
Yeah, that's gonna look really good. I know like what you're talking about for the other box. I always like that bar chart.

Adam (47:14.902)
But yeah, feel like this is, I feel like what you're showing me is already so much better than what we have and basically ready to be shipped at this point.

Ste (47:26.286)
Yeah. Well, yeah, I can't wait for these two to be out and work very well with the data. One of the reasons we mentioned in the Discord why we're doing this migration is because this level of data and yeah, you'll see further down.

Adam (47:33.429)
Yeah.

Adam (47:39.104)
Yeah.

Ste (47:53.12)
It gets more complicated. It's going to be made, it's going to be facilitated by our move to whatever is working on rails and inertia. So it's kind of like one depends on the other.

Adam (48:05.322)
Yeah. Yeah, library breakdowns. This is kind of like things you added to your library during the current period. Yeah.

Ste (48:13.994)
Mm-hmm. Yeah, basically this has like a fixed I think there's like 25 books in here and this is like relative to that And yeah, it's basically looks yeah

Adam (48:21.01)
Mm-hmm. Nice. That's cool way of doing it. Yeah, I like it. It's not just a bar. It has some character. Yeah.

Ste (48:29.248)
Yeah, because else.

Ste (48:33.74)
huh. Yeah. I wanted to make it like, you know, books stacked on the shelf because we didn't have that visualization. And I think you mentioned it at some point in the discord. And, actually I think it's a good, it's a nice way of, doing this, like simple stats, the library breakdown.

Adam (48:53.851)
Yeah, yeah, yeah, I think it's

Ste (48:57.644)
And then you have like own books. Basically this is like four changes in your own library. And I think it's more of a milestone. these two, so this is like books you mark that's owned in this period. This I think would be like books owned at the end date. And this would be like the

Adam (49:25.216)
Hmm.

Ste (49:25.622)
percentage as well at the end date. So it wouldn't be like in that period. I don't know if that's, I don't know. Is it easy to like get that from the data?

Adam (49:37.526)
The only one that's gonna be tricky is that middle one, total owned at the time. Like we can do that for all time or if your date ends with today, we could do that because we store that, but we don't store previous states of the owned shelf. So yeah, that one would be tricky.

Ste (49:55.943)
Okay. Okay, maybe we can change it to something else.

Adam (50:00.97)
Yeah, we could just say, yeah, total owned books and percentage read. Yeah, percentage read would be tricky because when we're looking at a time period like January 2020, we're looking at what you did during that time. And so we'd have to, yeah, the owned.

Ste (50:20.066)
Yeah.

Ste (50:27.213)
Mm-hmm.

Adam (50:31.531)
We'd have to look at what you had read at that moment in time and we don't have a clear picture of that.

Ste (50:39.692)
Yeah, that's true. Maybe we can find like some alternative like data points for this. I was worried about, yeah.

Adam (50:46.43)
Yeah, and some people don't use the own shelf either, so I wonder if this one might be less, but it is a cool thing. Maybe we only show this in the all time, because we could do all of this for all time pretty easily.

Ste (51:02.444)
Yeah.

Ste (51:06.538)
Okay, yeah, let's show it for the all time and maybe, yeah, we can either do this like for width if it's not all time or we can just like replace the own books with something else. Just an image of Jules maybe. I have these little illustrations. Yeah.

Adam (51:24.884)
Yeah. Or yeah, we could, we could just show that first stat like books marked as own during this, this time period.

Ste (51:33.466)
yeah, yeah, definitely. Yeah, that sounds good. mean, and for all time, we're going to get this. Okay, so this is like, I recreated the heat map. So yeah, this one has a little bit more like color variety. So I started with the green on this one actually, and then, you know, I changed it. So

Adam (51:39.59)
Yeah.

Adam (51:46.176)
Yeah, that's cool.

Adam (51:56.96)
Yeah

Ste (52:03.32)
has four color stops. And for this one, I also added this. So these would be some insights. I'm guessing we could calculate these based on this, right? Or basically, this is like we're interpreting this heat map for,

Adam (52:12.81)
Hmm, I get insights. Yeah.

Adam (52:21.11)
you

Adam (52:24.661)
Yeah.

Adam (52:32.67)
Yeah, I think that's great. I feel like people don't see the power of the heat map by just looking at it. And they might just look at a genre combination and say, yeah. But I feel like having something like this that explains it will be a huge help.

Ste (52:52.974)
Okay, that's perfect. Yeah, I think, mean, once, you know, you look at this as well, if there's something that's, you know, fuzzy, maybe we can replace it with something else. Because for instance, for this one, for diverse reading, a good balance across genres and moods, maybe it can be like a switch case kind of thing. So it can have like, either your reading is like genre focused.

it's like balanced or like it's diverse and we can have like these three cases and yeah, maybe it can change depending on that. And here I was thinking we could just show some books that's our example, good examples of this, but I don't know, to be determined, like if we're actually going to show, if we actually can show the books or yeah.

Adam (53:25.471)
Hmm.

Adam (53:31.018)
Yeah.

Adam (53:45.174)
.

Adam (53:51.998)
Yeah, we can show the books there. I think we'll be able to do something pretty much like this. We'll just have to tweak what insights we decide based on what we're able to do.

Ste (54:04.842)
Yeah, yeah, that's perfect. Yeah, that's exactly what I was hoping for. Nice. So this one is one we already have. And I also added some ways you can sort it by. So bookstorated lower, bookstorated higher. And...

Adam (54:21.49)
Mm-hmm.

Ste (54:32.736)
I also added some insights to these, but yeah, again, TBD.

Adam (54:40.216)
Yeah, I think this makes sense.

Ste (54:44.414)
I can also show more over here. Show less. Here we go.

Adam (54:54.454)
Nice, yeah.

Ste (54:54.57)
It's like very similar to what we have now, just like more structured.

Adam (54:59.518)
Yeah, books you rated higher than other readers. Yeah, mean, this is, yeah, the idea here is like, these are the books you love more than the average person on hardcover. And these are the books you disliked more than the average person on hardcover. So maybe, one of the tricky parts for this right now is that we, like if a book only has like one rating or two ratings, then it's very quickly thrown off. So maybe we could,

Ste (55:14.466)
Yeah.

Adam (55:29.886)
like on the back end, limit this to only books that have at least like five ratings or something.

Ste (55:36.294)
Yeah, yeah. I mean, if we can do that, that sounds good. Yeah. I also added like the difference here. I'm guessing we can, can we calculate this? I mean, if, I think right now we can get the average like for the book. So we should be able to, To, yeah.

Adam (55:43.944)
Mm-hmm.

Adam (55:51.634)
Yeah, yeah. Yeah, we'll have access to that easily. So yeah, this should be an easy one to implement.

Ste (56:00.342)
Nice. Then I think it's like one, these two we already have, but they're just like laid out differently. This is like other readers saved. This is like the total saves and this is like the top four saves. And it shows like maybe the most recent users or if this is too much, we can just like remove the profile pictures.

Adam (56:18.656)
Mm.

Ste (56:28.246)
But I was thinking, you know, it could be nice to link to the people who actually saved this because you can look at their profiles and yeah.

Adam (56:40.458)
Yeah, I think we could do something like that. We could even have a supporter thing where it's like, maybe we only show the first four, but if you're a supporter, maybe you can see more.

Ste (56:53.768)
yeah, yeah, I mean we could make that the theme because you know everything that requires like extra power on our side can be a supporter stat and we still give like the core version of it.

Adam (57:04.128)
Yeah.

Adam (57:11.314)
Mm-hmm. Any other time?

Ste (57:13.186)
Then these are like four really quick ones. Most popular book read. Hidden gem is least popular book read, but I didn't want to put least popular, so hidden gem you discovered. Average shelf time. This is average days between adding a book to one to read and starting to read it. I don't know how we can get this, but...

Adam (57:22.326)
Yeah.

Adam (57:33.141)
Hmm.

Adam (57:40.402)
Yeah, it would, it'd be like the date you created, you first added it to your library and then the day you marked it as red or first the day you first marked it as red. And yeah, we could probably, we could probably do some, something where we like skip a bunch of them. Like, you know, if we don't have that data, then we exclude that from the average. So we're only doing it for the books we have clear data for.

Ste (57:51.169)
Yeah.

Ste (58:02.336)
Yeah. huh.

Ste (58:09.59)
Yeah, if this is like too math heavy, you know, we can switch it to something else because like this one is a super easy one, I guess, because you have like the current pace, like the average time per book. And we just like calculate this.

Adam (58:11.858)
you

Adam (58:20.118)
Hmm.

Adam (58:26.068)
Yeah, if we have the average pages a day at the top and we have your average pages per book on that other chart, this is just math from those two stats.

Ste (58:31.425)
Hmm.

Ste (58:35.043)
Yeah.

Ste (58:40.62)
Nice, yeah, this one's easy. This one, I don't know, if it's too hard, maybe we can think of something else.

Adam (58:45.791)
Maybe this reading pace prediction. Yeah, finished. So whatever time period you're looking at, this is how many books you would read in a year given that pace.

Ste (58:56.662)
Yeah, yeah, exactly. So yeah, yeah, yeah, I put it like finished early at your current pace. If it's like even if you like put in a week based on this week's reading, this is how many books you'd read like in your year.

Adam (59:00.97)
Yeah, that's cool.

Adam (59:08.074)
That's pretty cool. Yeah, I like that.

Ste (59:09.708)
Yeah, nice. Yeah, this then there's like one which we already have, but I just put it like, like horizontal, like a horizontal.

Adam (59:12.725)
Thank

Ste (59:24.718)
the slider and then the librarian contributions. If you're a librarian else, it maybe prompts you to, if you want to become a librarian, there's also like this librarian ranking, which I just put here, but I don't know if we're, we'll be able to calculate it or we'd want to, but I think it could be nice to have like at some point, at least a table of like the most prolific librarians.

Adam (59:24.788)
Yeah.

Adam (59:30.101)
you

Adam (59:34.368)
Mm-mm.

Adam (59:56.224)
Yeah, I'll have to figure something out for that. But I like the idea of having some kind of stat there that shows where they, yeah, that shows their value in some way and what they're bringing to hardcover.

Ste (01:00:10.924)
Yeah. Yeah. I mean, we'll have to see how this, but yeah, maybe, you know, it's a TBD and then this is like, yeah, two more. Okay. Can we do two more? Yeah. Okay. Perfect. So this is like reading pulse analysis. So basically this is like, how much you've read compared to you, like your average. So yeah.

Adam (01:00:14.902)
Thank

Adam (01:00:24.052)
Yeah, yeah.

Adam (01:00:36.746)
This is cool. think, think, I think I'm getting, getting where this is going.

Ste (01:00:40.942)
Yeah, basically, I was thinking you have an average and you have a pace. And in this period, your pace was either lower or higher, depending on that pace. So I called this the reading pulse. And I made also a chart here, which I'm not sure what data we're going to

render it from, but basically now it's like random data. I was thinking it could be just like the lower lines could be like when you read less, the higher lines when you read more, but you know, it's not like one line per day or something. It's more like, you know, expanded. It adapts to the period, but the number of lines it's, I think it's like 150 lines. So.

Adam (01:01:28.949)
Yeah.

Adam (01:01:33.771)
It's kind of like the calendar component for that, except this could be like pages per day. And then it's maybe we remove the days that are zero just to make it so that it has a more defined shape to it.

Ste (01:01:36.856)
Mmm, yeah.

Ste (01:01:47.65)
value. Okay, yeah, yeah, yeah. If that, yeah, exactly. Yeah, it's exactly like the calendar component. Okay, yeah. Now, I couldn't wrap my mind around it, but yeah, this is, this is how we could actually do it. I just wanted something that resembles like a pulse, like either narrower or wider.

So if we can get the data, this is going to look so good. And then I put like mood impact, genre pace, and reading patterns. So basically, the mood impact is from the moods that you read in that period, you read the books that had these moods faster and read these books that had this mood slower. And it's the same with genres.

Adam (01:02:31.839)
Mm-hmm.

Adam (01:02:39.306)
Yeah, I think

Ste (01:02:39.756)
I'm not sure how we'd be able to calculate that, but you know.

Adam (01:02:43.574)
Yeah, I think I I think I know how to calculate it all. So yeah.

Ste (01:02:46.986)
Okay, that's like very good to hear. And then like the reading patterns. I this one we can take out. I just put it here because I couldn't think of something else to put in because right now we don't track this. Maybe the most...

Adam (01:02:50.891)
Yeah.

Adam (01:03:06.318)
We could do the time that they update their progress the most often or something like that.

Ste (01:03:12.15)
Okay, and we do that. Do we have the time?

Adam (01:03:15.338)
I think so. Not sure. I think so.

Ste (01:03:17.44)
Okay, if we do, yeah, that'll be like, yeah, because I put it like just as a placeholder. I was hoping we could get the day, like the most productive day. Okay, that's good. The average session would be like the average reading session, but

Adam (01:03:28.554)
I think we can.

Ste (01:03:37.246)
sure. I mean, you don't track like your reading session on hardcover. So minutes wouldn't be, I mean, here we'd have to replace that with something else. So I don't know if you have like any other ideas for reading patterns. Yeah.

Adam (01:03:37.45)
Yeah.

Adam (01:03:48.276)
Yeah.

Adam (01:03:54.184)
Yeah, it could be like average per day or something or like, yeah.

Ste (01:04:02.806)
Yeah, it could be like the average pages per day and we just leave it like that.

Adam (01:04:08.926)
Yeah. Yeah, this looks cool. I like the idea of being able to say like, if I read fantasy, I'm going to be reading it at a much faster pace than literary fiction. Like that's an interesting insight.

Ste (01:04:10.817)
Nice.

Ste (01:04:24.906)
Yeah, I mean, if we have the base here, I was thinking, you know, it could be like super useful to like see. Yeah. Might be even like surprising. And I also put like some, this one depends on the period. So the previous month would only be if you choose a month, but I'm guessing, you know, we could.

Adam (01:04:44.906)
Mm-mm.

Ste (01:04:54.626)
calculate this like the base compared to your last time last year the same time if you have the data on hardcover and this is like compared to your old time I think this would be like the similar to this because yeah, it would be like your average reading pace So yeah, maybe we can move this. Yeah

Adam (01:04:59.946)
Hmm.

Adam (01:05:03.37)
Yeah.

Adam (01:05:07.574)
Hmm.

Adam (01:05:15.102)
Yeah, like it would probably only show like, yeah, one of those or I guess it would, yeah, it would be very dependent on what you're viewing on what we could show there.

Ste (01:05:26.164)
yeah yeah we can take this out if you're like if if it complicates things yeah we can take this out

Adam (01:05:33.556)
But... Yeah.

Ste (01:05:36.27)
This would basically be like a translation of this. So 1.5x means you're reading like 45 % faster in this period. And I also put like the insights here with some books. So this would be like speed reading champion, like books at a certain pace. So...

Adam (01:05:49.974)
Mmm.

Adam (01:06:01.034)
Yeah, we could show like the top. I could even see us showing in the top couple books for, cause we, right now we have fastest time read as one of our stats and slowest time read. This is turning that into a much more insightful presentation of that same data.

Ste (01:06:12.056)
Yeah.

Ste (01:06:16.652)
Yeah, yeah, I think that was the starting point because I didn't want to have like the fastest time read. thought that was like pretty like shallow stat. So I think this is how I actually got this one. So speed reading champion would be exactly that. And then, you know.

Adam (01:06:29.086)
Yeah, I like it.

Adam (01:06:33.523)
And 2.1 times your normal pace is much more impactful than you read it in one day.

Ste (01:06:41.124)
yeah, yeah, yeah, yeah, you're right. mean, it's the idea was to make it like more more meaningful and to give you like real insight. So, yeah, I'm guessing, you know, we could like even keep the title so you'd have like one book or a couple of books that you read above your pace, some which you read like below your pace.

Adam (01:07:05.75)
Mm-hmm.

Ste (01:07:05.91)
I just put like deep diverting so it wouldn't be like maybe you'd spend more time and yeah, this would be like the medium scenario, like a steady pace.

Adam (01:07:12.65)
Mm-mm.

Adam (01:07:18.432)
Yeah, so you know what an average pace for you book feels like, which is also an insightful thing to know.

Ste (01:07:23.126)
Yeah. Yeah, yeah, exactly. Yeah. And then there's like the series. So basically this one is like how many series you started, completed, how much progress you made across series. So this would be like a aggregate and how many of your books were part of series versus standalone books in this period.

Adam (01:07:31.638)
You

Adam (01:07:50.206)
Yeah, I'm thinking this one's gonna be a hard one to do over some dates. Like, this one might be an all-time, all-time only one.

Ste (01:07:56.735)
Mm-hmm.

Ste (01:08:02.078)
Yeah, maybe like for all time only stats or like for all time like, yeah, I'm guessing like series started and completed could be like, right? The series you started in a time period that's...

Adam (01:08:22.238)
Yeah, it would be like, could series started would be like the total number of series you've ever started.

Ste (01:08:31.948)
Yeah, we could have some that are like only available for all time.

Adam (01:08:37.718)
Cause I'm thinking it would be hard to know series completed because maybe you completed a series, like a book only had one book in the series and you completed that book. And then the second book came out six months later. And if you were filtering it by just that first month, then you started a series and you completed it because there was only one book in the series. But then if you change it to a bigger thing, we'd have to know when the books were added.

Ste (01:08:38.24)
I'm guessing.

Ste (01:09:00.492)
Mmm, yeah.

Adam (01:09:07.07)
And yeah, it makes it, it makes it trick tricky.

Ste (01:09:07.296)
Yeah. Yeah, that's Yeah. Okay. Maybe we can just leave it for all time. So you started some series, you started like, I don't know, 20 series, you completed like 15. And this is like, we can make like an all time, only available as all time badge. And we can show it like, no matter like what time period you select.

Adam (01:09:25.397)
Yeah.

Adam (01:09:35.806)
Yeah. And maybe I'm thinking about like how we would decide which series to show here. And one way is if we had an option to like follow a series, we could show their followed series here. But other than that, like it would be kind of the series they would

Ste (01:09:47.789)
Yeah.

Ste (01:09:57.678)
Hmm.

Adam (01:10:03.932)
had read the most books of, which is just as easy.

Ste (01:10:07.36)
Yeah, was thinking either that or most. Yeah, either that or most like recently, last book mostly recently read. So if you read the book, yeah.

Adam (01:10:17.191)
Yeah, like, yeah, the most, because I'm thinking like, like Brandon Sanderson, for instance, has like some series that have a series order and some that are more like a genre like the Cosmere. Maybe this can be specifically the series you've read the most that are.

maybe books instead of comics or should it include comics? Because I know like I read a hundred issues of a comic.

Ste (01:10:50.582)
Yeah. boy. Yeah, I really like... I added the series, but I think it's gonna be way more complicated than I initially thought. Maybe, yeah, that's a good... We're not gonna be able to like 100 comics here, so...

Adam (01:11:15.328)
Yeah, but maybe, what if we show the series that have at least three books in it and less than like, you know, 30, and then we sort them by the ones that you've completed the highest percentage of the series. So like, if it's six books and you read all six, that would be first. If it's four books.

Ste (01:11:16.256)
I'll show with the comments.

Ste (01:11:29.772)
Yeah.

Adam (01:11:43.23)
And you've read three of them. That might be second. So it's like, what percentile?

Ste (01:11:49.804)
Yeah, yeah, that sounds great. mean, it's a good compromise to, you know, avoid having or yeah, I mean, considering that, I mean, I could like remove all of these because this is not going to work with like even 30 books, even like 10 books, I think it's going to be like too much.

Adam (01:12:10.548)
No, no, I actually really like it. I think it'll work. Like, because the dots will just be closer together if there are more books.

Ste (01:12:14.167)
Yeah, okay.

Ste (01:12:19.552)
Yeah, that's true. That's true. Okay. Then yeah, let's just like leave it and yeah, let's do that. I mean, if we can like have some limits on it, don't think no, I think no one would mind plus it would cover like the most cases because yeah.

Adam (01:12:40.65)
Yeah, or.

Ste (01:12:41.172)
This like adapts, like if there are more books, it just like moves further down. it's just, you know, if there are more books, you can just like see them here and it goes underneath.

Adam (01:12:46.058)
Yeah.

Adam (01:12:54.61)
Yeah, yeah, I think that works.

Ste (01:12:58.562)
Nice.

Adam (01:12:58.612)
Yeah. Or we show, maybe we just show your series. Maybe, okay, I was trying to overthink it. Maybe we sort this by your average rating of the books in the series and then by number of books secondary to that. it's like, yeah. So this is like the series you love the most even though it's only three books, but this is a series with.

Ste (01:13:06.445)
Yeah.

Ste (01:13:13.856)
OK, yeah, yeah, yeah, yeah. yeah, yeah. I actually have that here. But yeah.

Adam (01:13:27.062)
20 bucks.

Ste (01:13:29.262)
Yeah, yeah, it would make more sense because you you'd like to see like the series you enjoyed the most historically first.

Adam (01:13:40.597)
Yeah.

Ste (01:13:42.538)
and might be even easier than the first option, right?

Adam (01:13:46.847)
Yeah. I'm not worried by this one. I think the only thing we'll probably need to do is like some books are in multiple series. So we'll probably need to only use the featured series or the, that way, you we don't show multiple series for the same book.

Ste (01:13:48.684)
Yeah.

Ste (01:14:01.634)
Hmm, yeah.

Ste (01:14:08.908)
Yeah, that series are like data wise. So difficult to weed out. Yeah. Okay. Yeah. But that makes sense. Let's do it like that. Yeah.

Adam (01:14:11.104)
Yeah.

Adam (01:14:17.68)
Yeah. But yeah, it's good. Yeah.

Adam (01:14:26.903)
Well, yeah, this is...

Ste (01:14:27.03)
Nice. And we can even like have a show more button that loads more books if you're, because I think this is going to be a supporter step no matter what. Yeah.

Adam (01:14:30.58)
Hmm.

Adam (01:14:37.237)
Yeah.

Adam (01:14:40.662)
Very cool.

Ste (01:14:42.154)
Nice, perfect. Okay, so speedrun through the stats. Yeah, I think like someone suggested in the discord like author-related stats, language-related stats, like where the book was published and I think also what language it's primarily in.

Adam (01:14:44.246)
You

Adam (01:15:04.704)
Mm.

Ste (01:15:08.333)
and there were a couple of others but yeah I think I'll add those in and basically then move to the dashboard I think this is in a like good place

Adam (01:15:21.29)
Very cool. Yeah. I'm, I'm, I'm excited to be, work on inertia stuff and get it out of the way so I can like work on it. Cause it looks like it'll be a fun one.

Ste (01:15:32.384)
Yeah, yeah, mean, seeing this live, it's going to be like really, really, really nice. I still, I mean, we're going to probably change like the profile structure, profile page structure as well. So I'll just like work on that a bit too. But I think for now we can just like change the header and leave the rest exactly as it is and then gradually like change it so it doesn't like put too much of a strain.

Adam (01:16:01.92)
Yeah.

Ste (01:16:02.102)
But yeah, this came together really fast, I think.

Adam (01:16:06.26)
Yeah. I was thinking about implementation wise and one of the parts that's going to be a little bit tricky to implement is that, like books, can mark books as public, private, or followers only. if like I'm viewing my stats page, it should show every book regardless. But if it's, if I've marked some of the books, private, some of them followers only, and then an anonymous user looks at my stats page.

they're gonna see different stats. And so it's a matter of how we handle that situation.

Ste (01:16:44.578)
mean, this data is basically in stats anonymized, I'm guessing. So wouldn't it be okay to also include stats that don't show the book title or like...

Adam (01:17:05.098)
Hmm. I don't know. I feel like that that's leaking data. Like I get, I get a bug reports that it shows my number of books I've read publicly on my profile page and they don't, some people don't even want that stat to be public.

Ste (01:17:21.37)
Okay. Yeah, maybe like you could, maybe we could add like a Marcus private option in the stat drop down next to share or add to dashboard that basically removes that stats from your profile page, from your stat page. That way.

Adam (01:17:43.578)
I think the problem is less that to me. think it's more like when we're gonna cache this page once for you, like the owner looking at it, and then once for the public looking at it. But then when every individual user looks at it, that's gonna be harder to cache because they're gonna have a different relationship to you.

Ste (01:18:06.178)
Yeah.

Adam (01:18:12.948)
Some people might be, we'll probably have a followers version and actually, I guess it's only three versions. That's a public, a private, and a followers version that we cache. That's not too bad.

Ste (01:18:22.324)
Yeah. Yeah. I mean, if it works with with cache, I mean, I don't know how hard, I mean, to me, it seems like very, very hard to like get all this data in, but if we can like remove all the books that are private and basically cache that, I mean, that's the best scenario, but I mean, I don't know what's possible. If you say it's possible, I mean, I'm trusting you.

Adam (01:18:39.37)
Yeah, yeah, actually, yeah, talking through it just now, like worst case, we're gonna store three versions of it and we just cache three versions of it. that's the hard parts if they start like changing dates, because every time they change the date, we're gonna cache a new version for that date range. But I mean, it'll be better to cache it and then, you if you link someone to your...

2024 year in books, they're gonna see it instantly because they're gonna get the cash version.

Ste (01:19:12.438)
Yeah. Yeah. And I'm guessing, you know, we can remove it's maybe a good idea to remove like the custom date for maybe we can make custom data support or only feature in any case, because, you know, and because monthly, yearly, and all time, I think these are like pretty easy to do. I mean, not easy, but you know, pretty fixed.

Adam (01:19:25.13)
Hmm

Yeah, I could see that.

Ste (01:19:40.066)
But if you bring like any date, any range in and you have to do like those calculations, that's like intensive. maybe we can like custom date. It's an edge case in any case. So maybe we can have that as a support feature.

Adam (01:19:50.378)
Yeah.

Ste (01:20:00.582)
And, you know, for the public, we just like remove it. So maybe you can see like other people's like custom. I mean, why would you want that? Yeah.

Adam (01:20:10.673)
I think that makes sense. It's definitely an advanced feature.

Ste (01:20:15.776)
Yeah, I wouldn't want to see like what you read or maybe I would. But not monthly, yearly and all time. I think if anyone wants more options, know, we'll see.

Adam (01:20:21.334)
you

Adam (01:20:29.588)
Yeah, I could even see us removing monthly unless you're a supporter.

Ste (01:20:34.658)
Yeah, I mean, I think that's... Maybe it works for the rap, like...

Adam (01:20:41.776)
Actually, actually, think now that I think about it, like we want to go in the direction of people sharing their stats monthly. So we want to make monthly stats easy to find. So yeah.

Ste (01:20:48.033)
Yeah.

Ste (01:20:51.372)
Yeah, yeah, yeah. Yeah. Plus I have like, when we get this done, I have like those very neat images, which I haven't, like we haven't talked about now, but maybe in the next life, I know I put it in the title. I was hoping, you know, but, yeah, those are coming together really nicely as well. And those are going to be like super nice to share. And they're like the monthly step snapshot. basically books you read pages read, but in a really nice format, you can just like share on Instagram or.

Adam (01:21:15.317)
Hmm

Ste (01:21:21.24)
like wherever.

Adam (01:21:23.466)
Yeah, that'll be cool.

Ste (01:21:25.654)
Yeah, nice.

Adam (01:21:26.742)
Cool, well, this is looking awesome today. Like you have done a lot while I've been on a vacation.

Ste (01:21:30.391)
you

Yeah, it's been fun. It's been fun. I had lots of fun using cursor. I'm not going to I'm almost addicted to it. But yeah, I'm hoping once I pass over the code to you, it's going to be easy to process it. But it's separate components. It did a pretty good job at... I cleaned it up as well.

And where I couldn't understand, just told it to simplify. So it should be pretty readable, at least. But yeah, can't wait for these to come out and see them live.

Ste (01:22:14.264)
Awesome.

Adam (01:22:14.487)
Well, good chat and yeah, I will talk to you online and talk to you next week. Bye.

Ste (01:22:21.74)
Yeah, perfect. Thanks, everyone. See you next week. Bye bye.