1. Library
  2. Podcasts
  3. Jamstack Radio
  4. Ep. #145, The Future of Collaborative Docs with Cara Marin of Stashpad
Jamstack Radio
21 MIN

Ep. #145, The Future of Collaborative Docs with Cara Marin of Stashpad

light mode
about the episode

In episode 145 of Jamstack Radio, Brian speaks with Cara Marin of Stashpad about collaborative documents. Together they explore the shortcomings of popular collaborative tools on the market today and how they can be improved. Additionally, Cara unpacks local-first technology and how it enables elevated real-time collaboration experiences.

Cara Marin is CEO and co-founder of Stashpad a technology company that provides a platform for users to securely store, manage, and share their digital assets. She was previously a software engineer at Twilio.

transcript

Brian Douglas: Welcome to another installment of Jamstack Radio. On the line we've got Cara from StashPad. Cara, how are you doing?

Cara Marin: Doing well, thanks for having me.

Brian: Excellent, yeah, so we've actually known each other for quite a few years now, actually I was a pretty early Stashpad user. We're going to talk about your new feature, but I'm a big fan of the previous feature that's still around, Stashpad Lists, 'cause I use it for my one-on-ones and like be able to have quick notes that are not a random doc, Google Doc somewhere, it's all organized pretty beautifully. But before we get into all that, can you explain who is Cara to the audience?

Cara: Yeah, so my background is in software engineering. I had been working at Twilio a little while back now as a software engineer and while I was there, just kind of like got this itch for entrepreneurship. A cool thing about Twilio is that the end users are developers and so as a developer there, you get to talk to other developers who are trying to build stuff with Twilio and I found it just so exciting like seeing how we could figure things out together and I definitely wanted to get into entrepreneurship that way.

As you know, we've been on a bit of a journey, first working on a personal notepad for software developers where we had noticed that just about everyone has TextEdit or take your bare bones pick open for a lot of the workday. And so we made this like keyboard centric, developer focused, personal notepad and then towards the end of last year we were just talking to our customers and kind of seeing, okay, we've been in this space a little while, where should we be focusing our efforts so that we can have the biggest impact possible on people's day and them enjoying their work?

And that takes us to our new product Stashpad Docs, which is basically we noticed that just as almost everyone has that Text Edit open all the time for serving what we call working memory, which is like your ram, so it's where you get stuff down, like for those one-on-ones as you're working on projects. Nearly every team also has a collaborative notepad for getting things down and getting aligned as they're working through things, the most common of which being Google Docs, which has a lot of benefits, but even as you mentioned with the Stashpad List, they can go everywhere and really just, Google Docs was created in 2006 and there are all these features that have been added to it for a mass audience that has it's place and can be beneficial, but for the technical audience that we're all about, it really leaves a lot to be desired.

And so, just at the beginning of this year, we started working on this new product Stashpad Docs, which is a minimal Google Docs alternative. It is Markdown first we like to say, so it has really strong markdown support and one of the coolest features about it is you don't need an account to use it. So if you want to start writing something down, if you want to start collaborating, you just go, I'll plug it, stash.new and you can start typing and collaborating right away.

Brian: Yeah and I'm a big fan of this, because we literally just went through this last week and I actually didn't think to use Stashpad Docs, but we've had this, I guess pain point, inside of OpenSauced where we have a bunch of engineers and eventually someone has to pretend to be a product manager, 'cause otherwise like no one knows what is done when actually building a feature.

So we made a decision to like centralize all of our documentation for a feature into one place and anything that comes up, any sort of pain points for engineers, we could centralize on that when we do like weekly updates, so like how it's going and then make sure that we're on track to to ship things. Which is a novel concept, if you worked at a engineering team before or a larger one, this is common, but as a smaller company, we just needed a place to throw things into one place and we had lots of conversations like, "What do we do?"

So like having a centralized document store that you don't need that account for that you can just take quick notes on, stash.new is actually a great URL too as well. There's like this trend right now of these .news. They've been around for quite some time. I think Google is the owner of the TLD and I like that there's a resurgence of folks knowing that .new exists. So yeah, congrats on getting that domain.

Cara: Thank you, yeah, it was a suggestion from a beta user. They're like, "Grab stash.new!" And I was like, "Okay, don't grab it before me and charge me money for it, I'm grabbing it."

Brian: Yeah, we actually have pizza.new is is ours.

Cara: Oh I love that.

Brian: Yeah, we haven't publicized that actually. And then we have a highlights.new, 'cause one of our features is is highlights, but more about Stashpad. So the thing that actually was really intriguing was we were talking before hit record, you had mentioned the idea of this being local-first and I'd love for you to like, 'cause on this podcast, I mean we talk about the Jamstack a lot and we talk about like serverless, but local-first is something that I've been seeing more and more, like on Twitter, inside projects. So can you like explain what local-first is and how Stashpad Docs are exploring this?

Cara: Yeah, yeah.

So local-first basically means that you don't need to wait for a round trip request to a server in order to see your results.

So how it works for Stashpad is in addition to being stored on a server so that enables like the collaboration and stuff. Everything that you write is stored client side in indexedDB. And the reason why I think local-first is we're going to just keep seeing more and more of it, is that to me it's essential for a great user experience, because basically what you have is as you're typing, you feel that instantaneous response, because it doesn't need to make that round trip to the server, it's just right there where you want it. And then there are also benefits, like it makes it really easy to enable offline. So if you're traveling or have shaky wifi, you can access your stuff right away, which is really important when it comes to like notes and thoughts and stuff.

Brian: I love that there's a name attached to this, because like we're currently recording this podcast at Riverside, which actually does do the local-first and records on your machine and my machine and our separate audio will get uploaded to the cloud once we hit stop record. And I think this is actually really like powerful, because now you get a better experience. I'll mention, like while I'm listening to you talk, like your video does get a little choppy, but I do now have a ton of confidence that locally your machine is recording everything, that you're saying that we'll have a perfect audio and a perfect podcast at the end of this. So listeners tweet at me, tweet at us, if it's not the that case, but I have the highest confidence in Riverside and how they approach local-first.

But that term is, definitely, I love the fact that it exists and I do love the fact that folks like Johannes is now doing a local-first podcast or, "Local First FM," I think is the name of the podcast. He was also running some local-first meetups in Europe and I think it's something, if you've been in the Jamstack long enough, you should definitely be paying attention to like what this local-first movement is doing.

Cara: Yeah, definitely.

Brian: And I'd love to like dig into technically how you approach this challenge of doing one, no authentication to create these docs, so you don't have to create an account, like you mentioned the local-first thing. What's the tech stack look like to throw this thing together?

Cara: Yeah.

So local-first and the no requirement for an account kind of can go hand in hand, 'cause basically we'll just store a user ID on the client side and then you can choose to log in if you want to, but to us again, like to just make that frictionless user experience, it's important that it's instantaneous local-first and that there's no like clunky login required for you to start collaborating.

And so what we're using for our tech stack is we have indexedDB is that local store. And so it's pretty fun, if you go to stash.new and you want to like see under the hood, you can inspect developer tools and you'll see that actually your documents are there locally in your browser, just as you would see that for Riverside right now. And then the other piece of our tech stack that was a slightly unusual choice I guess or a little less common is that we chose to use Solid instead of React, which is what our first app is built in. And again, it's just all about performance when it comes to Solid.

And something that's pretty cool is that our goal with Stashpad Docs versus like Google Docs is we think a lot of the benefit is actually removing features, like less is a lot more, because that's again how it gets fast. And so using Solid over React, the main downside that we were evaluating is like the ecosystem just isn't as big yet, but when you have a more minimal app you don't need a million things. And so, we can just benefit from the performance improvements.

Brian: Yeah, that's amazing, because again, I've been following Solid as well as like I an alternative to React. I haven't actually built anything in Solid as of yet, but I've definitely had conversations with Ryan Carniato on another podcast about where Solid came from and I think, I guess return to simplicity, 'cause I think this is something that as we're now all remote teams, like if you're not a remote team, congratulations, but like now everyone else is really going remote, like how are you storing contacts, like how are you having that water cooler?

A lot of stuff needs to happen async, because like for me, my team is all US time zones, but by lunchtime I can definitely feel the team winding down going into their focus work. So for me not to ping like a huge long Slack message or me not to like open a non-actionable GitHub issue, going into like a stash.new, being like, "Okay, here's the B Dougie brain dump. I will share this on a scheduled post for tomorrow morning when everyone wakes up at my 6:00 AM." And I think that's it's a wonderful way to like really move into that place.

I wanted to bring up GitHub gists as well, 'cause GitHub just is something that I would use a lot for this as well, like a throwaway note, a throwaway doc, like how do I share something that folks can take a look at that I never have to remember later? Or if I do remember I'll just drop it in somewhere else like inside the repo or inside a readme. And for transparency, like GitHub gists doesn't really have a lot of contribution, internally at GitHub. It's a product that was shipped, it exists, every now and then things get updated for security and for performance things. But it sounds like this could be the successor, like the GitHub gist, it could be the successor of like what we had with Wikis previously. I'll pause for you to comment on that, but this is me being very excited about the existence of Stashpad Docs.

Cara: Yeah, yeah I think the GitHub gist is a really good example, where especially for like one of the things, just when we were doing like discovery interviews is like if you have like a code snippet, it could be a kind of long code snippet and you want to just share it quickly, GitHub gist has been like really the main option, like anyone that's tried to write code in a Google Doc, it's not going to look too great, it's not even really an option. So it's the lightest weight option to date, but it's a little bit clunky and so we try to make that easier.

And the use case that you mentioned around your brain dump that then you drop in like Slack or Discord, that's a big one that we see, where it actually surprised us a lot, 'cause at first we were excited about not requiring a login just because it makes it faster. I've had the experience where I'm trying to get into Google Doc, I accidentally use like the wrong email, now I can't access it and it's like "Oh I just want to get in." Or, "Oh I just wrote a comment for my personal email, this is awkward," whatever. And so it's like, it's kind of this clunky experience.

So that was like the original motivation, but then something that's been really surprising to us is that there are often cases where people are connected to each other without email. So it could be in Slack with your team, it could be in Slack with like a community you're involved with, it could be a WhatsApp group. And so something people have shared with us is that like being able to, instead of writing that giant WhatsApp message, like dump a checklist with some thoughts into Stashpad Docs and then drop it and anyone there can then like interact with it and collaborate, is very easy.

Brian: Yeah, is there multiplayer in Stashpad Docs as well?

Cara: Yep and this is a fun thing also just experimentally with the tech stack, it's like optimized for what we call real, real time collaboration.

So it's local-first, so you're going to get that instant snappiness as you're in flow on stuff, but then also using CloudFlare we're able to make it so that pretty much anywhere in the developed world you're going to have sub 50 millisecond collaboration. And so you just see things right away, no matter where your colleagues are, which is helpful in brainstorms and meetings, things like that.

Brian: Wow and you mentioned CloudFlare is powering that experience or is it the fact that you're hosting on CloudFlare?

Cara: CloudFlare is a big part of why we can offer that and so, something that's been really fun with this , yeah, after working on Stashpad List for the last like few years and stuff, it's kind of like as we were starting on this new, what started as an experiment, and now we're excited to like bring it out of beta, is like we got to see like what are the technologies that are available now that weren't available before that are enabling us to create these new experiences.

And another one is just, I don't know if you're familiar with like Yjs, which is a CRDT tool implementation?

Brian: Yeah.

Cara: And so it just makes it so easy to offer those real time interactions without conflicts, which is just what you expect when you're collaborating. And so something that's just been fun for us internally is like getting to use a lot of these open source technologies that have just had amazing advancements in the last couple years and just seeing what we can make with that, it's been really fun.

Brian: Yeah, this is something I was talking about a couple episodes ago with Mike about like future of the Jamstack and the fact that compute, it's like it's gotten cheaper, but then it's also gotten more expensive in different areas. So like there are unlimited serverless functions, well it's not unlimited, it's like a million invocations, but like that is now being challenged of, now you love it, okay, go ahead and pay for something. And that's currently a theme and a conversation right now on Twitter.

But what I'm getting at is the fact that now we can have one, local-first, so we can have real, real time collaboration, but also we can do this all without even like signing up to an account to then choose to, we did all the work, now let's go throw it to a place. Absolutely amazing and I was going to ask, so unauthenticated like you have a Stash Doc , is it auto deleted eventually or is that just going to stay live on a URL forever?

Cara: So currently it'll stay live on a URL forever until you delete it. That's something we've like explored, just like talking to people and like seeing like how could we push the limits, so that it doesn't get really chaotic and stuff, but it's still useful to you. And so one of our beta users had the idea, like what if it were kind of like Snapchat, like this is going to disappear in like 48 hours if you don't save it.

And I love the idea, I think it's a cool concept, but something that that we've noticed is, again just like there are great options for making really great search. And so we've already invested in having search that works well and are going to be adding more things so that basically it's like a heat rating. So if if you're not touching something, it almost gets archived, because the way that you'd be discovering it through search, it's not going to be as high up.

So we haven't taken any of those moves yet. Like the snapshot thing, I feel like it's kind of like if you've ever seen high fashion things where it's like you're trying to kind of push the envelope and see what's possible and then say, "Okay, is it actually helpful if we disappear your docs?" Maybe, then we'll do it. Maybe, I'm not so convinced right now, but it's a fun idea.

Brian: This sounds fun. Honestly, it seems like a lot of really cool technical challenges.

Cara: Yeah, definitely.

Brian: So I want to leave the the listeners with what's next with Stashpad Docs, like what can they expect? And then also let's remind them stash.new, they can try this out literally while they're listening to this.

Cara: Cool, yeah, so one thing that's cool is like we want the product to stay really minimal. We think that's like just essential to offering a great user experience for these types of use cases. So the kind of core doc, we're pretty happy with where it's at right now and so the next things we're going to be doing are, I don't know if you've seen, if you're doing Google Docs async workflows? Sometimes the comments can turn into like conversations that get really unwieldy and stuff and so we have some ideas about how we can rein that in a little bit, so some better commenting things.

And then the other two main things on our roadmap are going to be adding an AI powered search. So instead of just full text search, you'll also be able to search by meaning, not just keyword, and then a bunch of integrations which we think can help us just make it faster to jump into a collaborative session. So like if you're in Slack, how can we make it even faster than going to your browser and typing stash.new, to just make sure you get in and start collaborating right away.

Brian: Excellent, cool, well Cara thank for chatting about Stashpad Docs and I do want to transition us to picks. These that we're jamming on, things that are music-, tech-related, all the above and if you don't mind, I will go first. I've mentioned this multiple times on the podcast and picks, growing up I was always a watch TV while doing homework kid. So what I've been doing lately is I've been watching NBA games and then doing my emails, 'cause that's the only way I can catch up is like relax and then by the second quarter I can start opening up the laptop and answer questions.

But I've also picked up a, I watch, like when my daughter was born, I watched all of, "30 Rock." So like when I have these moments of, you know what? I think I could probably watch an entire series like to completion and I know I'm going to get some like mindless work done, watch a series. So my pick is actually, "Always Sunny in Philadelphia." When I'm only like seven episodes into the first season and I'm like questioning if I want to skip a season, because it's like low quality, low definition, like very different than I was expecting from all the clips I've seen of it in pop culture, but it's 16 seasons, so it's like a lot of episodes and it's also, there was a time on TV where there's like 24 episodes of season type of deal.

So this is a lot of content, so I'm like, "I'm going to take a look at this." I was actually hearing a clip from, the three guys who are on the show have a podcast and they were talking about how this show is, it's almost like a modern day, "Seinfeld," honestly, where there's kind of awful people who get into awful situations and make even wrong situations and there's no moment of them learning anything, so that's kind of the TLDR of the show itself.

But on the podcast they're talking about like, "There's a whole culture of men who have like watched the show and now think like this is okay to do things." Like they're questioning if like they're going to continue to do the show. They're like, "Oh well let me watch this show, seeing as this thing's probably going to wind down like the next..." I guess they might have renewed for a couple extra seasons, but regardless, what I'm getting at is like, let me just watch this thing, 'cause I'd always seen it around in college and like it came up and there's a lot of memes about Charlie Day and like the whole standing in front of the paper with the board.

So anyway, my pick is, "Always Sunny in Philadelphia." I'm not even sure if I even like the show, but it's good background TV, so we'll see. Someone let me know if there's like a season I should jump ahead to, 'cause I feel like the first season, like they're awful. It's funny, but it's also like, I don't know, I could see this thing getting a little tiring.

Cara: Yeah, I actually haven't seen, "It's Always Sunny in Philadelphia," but I had watched, "Wrexham." I don't know if you watched that?

Brian: I did not watch that, but I'm familiar.

Cara: It got me interested, because it's a lot of fun. But yeah, I'll say for my pick, one of the biggest things I've been into recently is Kenji, I think his last name is Lopez-Alt, from the New York Times. He has just a whole bunch of these YouTube videos about like how to cook chicken, except really, really well. How to make oven roasted pulled pork and things like that. And I've gotten super into, each of his videos are like around 10 minutes and a lot of them are very lo-fi, like he has a camera on his head in his kitchen and he spins around and you just see him and how organized he is and I've gotten really into it, where something I love about like a video for cooking stuff versus a recipe is when they say like a pinch of salt, they actually mean like a handful, based on what I'm used to. And so seeing that you're like, "Oh, that's why it didn't taste so good and now it does, great." That's been my pick, the Kenji YouTube videos for cooking.

Brian: Very cool, yeah, yeah. I mean, thanks to the Pandemic, I went to a whole cooking rabbit hole of like baking bread to eventually like making a bunch of random stuff, to like barbecuing. So feel like I came alive in the kitchen in the last couple years. So I'll definitely be checking that out and definitely, and we're going to be convincing the team to use Stashpad Docs more.

Cara: Thanks Brian.

Brian: Thanks so much for coming on and chatting about your new product, but also, listeners keep spreading the jam.