Have you ever dreamt of creating a startup that will change the world?
You and your two best friends leave the dull world of writing internal business apps and
go heads down for three months to launch something amazing?
Well, it turns out that Python plays a key role in many early stage startups.
And this week's guest, Leah Culver, has some amazing experiences and stories about both.
This is Talk Python to Me, episode number 42, recorded December 17th, 2015.
I'm a developer in many senses of the word because I make these applications, but I also
use these verbs to make this music.
I construct it line by line, just like when I'm coding another software design.
In both cases, it's about design patterns.
Anyone can get the job done.
It's the execution that matters.
I have many interests.
Welcome to Talk Python to Me, a weekly podcast on Python, the language, the libraries, the
ecosystem, and the personalities.
This is your host, Michael Kennedy.
Follow me on Twitter, where I'm @mkennedy.
Keep up with the show and listen to past episodes at talkpython.fm.
And follow the show on Twitter via at Talk Python.
This episode is brought to you by Hired and SnapCI.
Thank them for supporting the show on Twitter via at Hired underscore HQ and at Snap underscore
CI.
Hi, everyone.
Thanks for listening.
Let me introduce Leah so we can get right to the show.
Leah Culver is an iOS and Python developer at Dropbox, where she works on the paper team.
She's a former founder of Grove, Convore, and Pounce.
She's also an author of both the OAuth and OEmbed API specifications.
Leah, welcome to the show.
Hi.
I'm really happy to talk to you today about a whole bunch of interesting things around
startups and investing and Dropbox.
Great.
Thanks so much for having me.
Yeah, it's going to be fun.
So before we get to those topics, let's start at the beginning.
How do you get into programming in Python?
So I got into programming in college.
I took a class in JavaScript and I fell in love with it, switched majors and finished with
a computer science degree.
I didn't get into Python until after college.
I was looking to build my first startup and I was looking at Ruby on Rails.
And it didn't, I wasn't super into it and I was looking for alternative web frameworks and
a friend of mine suggested Django.
And I fell in love with Django and through that fell in love with Python and have been pretty
much doing Python ever since.
Oh, that's a cool story.
I think a lot of people get into Python through Django.
It seems to have really brought a lot of people in.
Yeah.
It's a very simple, straightforward framework.
It's easy to learn.
It has a lot of utility functions and a lot of, at the time, it had a lot more than some
other frameworks and platforms and really helped bootstrap the process of building a startup.
Startups.
These things are really something I'm fascinated with.
I've worked in them in various capacities, had some fail, things like this.
But also, yeah, of course, also done some good stuff there.
So I'm really excited to talk about this because it's kind of near and dear to my heart.
So what was your first experience with startups?
You said you got into Python because you wanted to start one, right?
Yes.
I moved out to Silicon Valley area right after college and had a job at a small startup there,
kind of bounced around a little bit and really kind of wanted to do my own thing and work
on my own projects.
I was young, creative, just wanted to do interesting things, was meeting interesting people.
And I met my co-founders at an event here in San Francisco.
And they said, can you build this for us?
And I said, sure.
And so that's how Pounce got started, which was my first startup.
It was Kevin Rose, who had, at the time, was doing dig.com.
And Daniel Burko was his designer for Dig.
Both very fantastic, very talented people.
So to ask me, who I was pretty much unknown, hadn't really done much of anything, to build a website,
I said, sure, I can build it.
At the same time, he's like, I don't know if I can do this.
So full of doubt.
But I thought, I have to do it now.
I've committed.
Wow.
What a cool opportunity to get started with those guys, right?
Yes.
And the thing is, though, I feel like at that time, there was a lot of opportunity.
People said, can you build this?
And just being able to say, you know, yes, I can do that was a big deal.
Because it was a lot, I think it was a lot harder then.
There wasn't, there was no Heroku.
There was no Amazon Web Services.
Actually, there was one web service, which was S3, which helped us a lot in the early days.
But, you know, you were running your own servers.
You were setting up your own websites.
Doing a lot more, I think, than is strictly necessary nowadays.
Yeah.
I think one of the major, major changes over the last 10 years, maybe five years, is the
amount of capital investment to get the very first thing together, right?
Like, in that first story, you have to buy servers and software and all sorts of stuff.
And now you need to pay $10 a month to some cloud service to try this out, right?
Yeah, which is great.
It allows people to build things so much more quickly now and try out different ideas and
really focus more on the product and the business.
Yeah, that's cool.
It's every day.
Working in tech is just getting cooler, right?
Every day I wake up and think, wow, today's even cooler than it was yesterday.
It's so fun.
Yeah, yeah.
I love to tell the horror story.
When I built my first startup, there was only one Amazon Web Service.
That's right.
It wasn't this huge, overwhelming grid of things.
So what was Pounce?
So it was a social networking website.
That allowed you to send sort of short messages to friends, post them publicly, and send like
one-on-one as well.
So it was kind of a mix between, I would say, Twitter and Tumblr.
You got to attach things to your messages.
So you could send something like an event out to people.
This was kind of pre-Facebook News Feed being a big thing as well.
Actually, I'm not sure it existed then.
It's hard for me to remember what existed and what didn't at the time.
I'm pretty sure Facebook News Feed didn't exist when Pounce was around.
Yeah, it seems like it might not have.
It's hard to imagine a world without a Facebook.
But there was one.
Yeah, pre-Facebook News Feed.
That kind of blows my mind.
That's super crazy.
But yeah, yeah, pre-Facebook News Feed, pre-Facebook News Feed.
That's a pretty good description.
What happened to Pounce?
It's not still around, is it?
No, no, it is not still around.
We ran into some issues with being too, I think, in the press a lot, very compared to Twitter.
How will you survive?
I mean, it created this nice drama for the press to write about.
But it kind of took its toll on the team.
And it was hard.
And then 2009 happened, which here in Silicon Valley, it was really hard to raise money then.
And so we looked at being acquired.
And we were acquired by Six Apart, which is a blogging company.
They have TypePad and MovableType.
In fact, I don't know if they still have TypePad and MovableType because they were later acquired by another company.
But at the time, they had all these blogging products and they acquired Pounce.
And unbeknownst to us, well, I don't know if they had planned to shut it down or not.
But after acquisition, they decided that it was time to shut it down, which was sad.
It would have been nice to keep it.
But these things happen.
And I went on to work on other products at Six Apart.
Yeah, okay.
Was it fun to work there?
Yeah, yeah.
It was pretty nice.
I had a pretty good experience.
I've been pretty lucky in my career to always work with sort of interesting people and fun projects.
And Six Apart was definitely, it was fun.
It was a good time.
Yeah, cool.
So after Pounce, what do you work on next?
I contracted for a little while where I worked on a bunch of startups.
Basically, people I had known who had done their own startups at that point said,
hey, I need an iOS app or I need some landing pages or a login system.
So I got to work on all the fun things that you can just pay a contractor to build for you.
And then I did my second startup after that, which is pretty interesting.
Nice.
What was that?
It was called Convor.
And it was with Eric Florenzano and Eric McGuire.
Eric Florenzano being a fairly prominent member of the Django community.
And we had known each other through Django.
And he approached me and actually was like, I want to do a startup.
And at the time I was contracting.
And I said, oh, I could do another startup.
It's been long enough.
I could do that again.
It's been a year.
I'm fine.
Or I guess it had been two years at that point.
It's been two years.
I'm fine.
I'm going to do another one.
And so we applied to YC and we built a prototype.
And we're accepted to YC.
And then I was like, I guess we have to do it now.
We're doing Y Combinator.
We've got to build an actual startup.
Yeah, that'll put the pressure on.
So you actually went through the whole Y Combinator thing?
Yes, yes, we did.
We applied.
And I was pretty surprised that we got in.
It's an interesting experience.
Yeah, I bet.
What other startups went through the same time as you?
Oh, that's a great question.
It's funny because at the time you don't know who's going to be still around, still successful.
So we did this in winter 11.
YC winter 11.
I would say the best known startup from our batch was potentially, there's a couple.
Pebble was in our group.
Yeah, okay.
Yeah, it was their first watch was, I hate to say that, super ugly.
So it wasn't until they did the Kickstarter and had like a nicer design that I think they really found an audience.
But at the time we were all like, I don't think anyone's going to want to wear that.
It's supposed to look good, you know?
Yeah, like who wants to wear a really ugly watch?
Oh, poor Pebble guys.
But the technology was good and the team was good and they managed to do something pretty awesome.
Yeah, they're still doing cool stuff, so that's good.
Yeah.
Let me think.
Who else was in our batch?
Zero Cater, which is well known around here for catering lunches to tech companies.
They do food delivery.
Who else?
Hello sign.
The faxing and signing of documents.
I don't know if you've used them for anything.
If someone sends you a link to sign some documents.
I see them a lot more doing investing than anything else.
Like, here's our documents.
You can sign them.
And I'm like, oh, hello sign.
Yeah, hey, I know these guys.
I just know somebody.
Yeah, yeah.
So unless you do a lot of documents, signing for taxes or legal purposes, you probably don't see them too often.
Yeah, luckily.
I've more or less avoided that this year.
Yeah.
Being abroad, I would probably have to use something like that, right?
Yeah, yeah.
Yeah, super useful.
Okay, so what was the story of this startup, Convor?
What did you guys do there?
What was the idea?
The concept was, so Eric had maintained a forum, like a forums site with his friends from, I think from college.
And he was really into it.
And he was like, people, we should have this as a product.
And so we built sort of a real time forum.
So it was a mix between chat and forums.
It was like, had topics.
And it had groups, first of all, which was like how you knew who was in your group of people.
And then within that, there were topics.
And within each topic was a conversation, so like a chat.
So it was a little convoluted.
I think one of the problems with it as a product was it was difficult for people to understand.
Like, is it forums?
Is it chat?
Who do I invite to these things?
Like, what kind of groups is this good for?
It was kind of very vague.
It's like, well, anybody could use this.
Yeah, there's a real tension between like creating something new and really different.
Yeah.
But then if it takes you two minutes to tell the story of why it's both different but better, like your people are gone already, right?
Oh, yeah.
Like I just had to explain it to you and it took me a little while.
There's no like one liner to explain what Convor was.
But it was a really great learning experience on the other hand, right?
So experimenting with both forums and chat definitely gave me a lot of – I felt like I gained a lot just learning from the experience.
And then that ended up pivoting.
We wanted to pivot.
Actually, the Eric's wanted to try a totally different product.
So they founded their own company and did YC again.
I don't know why you'd want to go through YC twice.
It's a pretty – it's a great experience but it's also difficult and a lot of work.
So they did YC a second time.
I alone, along with an employee, we had hired someone, just the two of us pivoted and did Grove.io, which is basically – it's basically what Slack is today.
It was IRC for businesses.
We framed it in the context of IRC but it was a website and an IRC server.
But you could just buy it.
Like you could just pay money and have an IRC server for your company.
Yeah, that's cool.
IRC is something that's, I don't know, a little hard to get started in.
It's not entirely obvious when you're new.
So trying to make this more consumer-friendly-ish, that seemed like a good idea, huh?
Yeah, yeah.
And I'm not sure that we took it as far as we could have in terms of being consumer-friendly.
And at the time, HipChat was still – it was a thing, was fairly popular in Campfire.
So it wasn't unheard of to do sort of corporate chat.
But our audience was definitely the more technical side of things.
We had corporate IT departments, corporate sort of a lot of systems, sort of infrastructure teams, that sort of thing were our main consumers of Grove.
And they were happy to pay to have it sort of set up for them and do things like logging.
And we had a bot API, so you could easily write bots pretty quickly.
Yeah.
So that's pretty good.
Yeah, that sounds really fun.
Is it still going?
Yes.
So I ended up sort of – I was going to shut it down because it just was – it kind of wore on me.
Being a solo founder is sad and lonely.
It's already hard enough if you've got someone there to help you, right?
Yes.
I think – I mean, that's probably advice I would give anyone thinking of doing a company is to think about your team and building the people around you and having that support.
And I have great friends.
I just – I didn't work – I think one of the mistakes I made was not to work hard enough to build support for the company in terms of team and the people that were invested and had a lot in the company.
And the people I did work with were fantastic.
I don't want to downplay the team we had.
But I think we could have grown it a lot faster and brought in more people.
So it was definitely a factor of just not feeling enough support.
And the product was actually selling pretty well.
And so when we shut it down, there were all these sad customers.
And RevSys, Revolution Systems out of Kansas, which is Frank and Jacob's company from the Django community as well, came in and said, you know, can we buy it from you?
And I said, okay.
So I think they got it.
They got it probably a pretty good deal on it.
And they maintained it.
And it makes money for them.
So that's pretty cool.
Yeah.
That's really cool that it's part of the Django community still in some sense as well.
Oh, probably more so now than it was then.
It's been worked on by several people in the Django community.
So pretty cool.
How much do you feel like the success of these startups is, how should I put this?
Like, they had a great idea and they just executed it perfectly.
And how much of it is they had a pretty good idea and they kind of did a pretty good job getting it going.
But the timing was perfect.
Like, how much luck and timing do you think play into this?
Yeah.
This episode is brought to you by Hired.
Hired is a two-sided, curated marketplace that connects the world's knowledge workers to the best opportunities.
Each offer you receive has salary and equity presented right up front.
And you can view the offers to accept or reject them before you even talk to the company.
Typically, candidates receive five or more offers within the first week and there are no obligations.
Ever.
Sounds awesome, doesn't it?
Well, did I mention the signing bonus?
Everyone who accepts a job from Hired gets a $1,000 signing bonus.
And as Talk Python listeners, it gets way sweeter.
Use the link Hired.com slash Talk Python to me and Hired will double the signing bonus to $2,000.
Opportunity's knocking.
Visit Hired.com slash Talk Python to me and answer the call.
That's an interesting question because I think neither of those things is the most important thing in the success of a startup.
Right?
So I think having a decent product is the bare minimum.
You have to make something that people actually want to use.
If people can't use it or don't want to use it, that's bad.
Timing is super, super important as well.
You're right about that.
It is really important to come out at the right time, be with the right movement.
I've actually been thinking about doing a new project.
I don't know if it's a startup, but I'm thinking about doing a project in podcasting.
Oh, excellent.
Which podcasting has been around for you.
Right, right.
We're on a podcast now.
I'm talking about podcasting.
Podcasting's been around for a long time, but the technology just hasn't been there.
And I feel just in the past couple of years, there's been some new technological advances that could really change the game for doing like a podcasting network or a podcasting app or things like that.
There's all these, like the technology is just so much better.
So I think the timing is right.
Also, things like serial coming out and being widely listened to has made podcasting a viable sort of medium for stories and content.
I think you're right.
And yeah, obviously that's something near and dear to my heart.
Yeah.
I put a lot of time into it.
But I think I've been really studying that the last few years thinking a lot about how do you make something like this podcast or podcasts in general?
Something that you can actually make a job or a business out of, right?
And then we've had these, like you brought up Serial.
Mm-hmm.
Serial is one of the most popular podcasts ever, and it's definitely going to have some kind of financial impact, even though it was out of like an NPR type place.
Do you listen to Startup from Gimlet Media?
No, but someone just recommended it the other day.
So I need to check it out.
Yeah.
You should definitely check it out.
I was going to ask you about it earlier because you said you went through YC, and they follow a pair of women co-founders that start basically a dating website app through there.
And it's like from the very beginning to the very end, and it's super interesting.
So check it out.
But the reason that it's sort of relevant now is those guys left NPR, and they're like, I sure hope I can eat.
Yeah.
My kids are going to need food.
Let's see if this works.
And after a year, they were doing $2 million in business, like revenue.
Amazing.
And they just got $6 million in additional funding and valued at $25 million.
Wow.
And they've got a couple of podcasts, right?
Yeah.
So I think that kind of story totally works in 2015.
In 2010 or 2012, I think people would have just said, there's no way we're giving you money for ads.
Forget it.
Right.
It's totally this popularity of cereal.
It's totally advances in technology and how we listen to things.
A lot of it, actually, it's funny because I think it rides off another trend that I'm really interested in.
I'm really interested in sort of like non-professional fitness, like consumer everybody fitness, like Fitbit level fitness apps.
Right.
And that's just blown up in the past year or two.
Right.
More people are working out, running.
And running is the thing that's driving the podcasts.
So it's all kind of tied together, right?
So one of the things, and we can segue into investing here.
And one of the things I love doing and have always loved doing since I was a little, little kid is looking at trends and predicting sort of what is hot right now and what is going to be hot.
And I think a lot of the problems with my startups was I was playing around with what's interesting to me, which is pushing the boundaries of where I see things and not really thinking about where people are now.
Right.
So doing something like Slack five years ago was like very much like I wanted to play with that space.
But I don't think people were ready for that in the corporate, like the corporate product space, like the sort of enterprise apps just wasn't there yet.
But people weren't really ready to be buying consumer-like products as businesses.
Does that make sense?
Yeah, absolutely.
You know, I think is things like Campfire were about as far as it went, right?
Like Slack and HipChat and these things and Yammer, all those things have sort of changed the way people communicate within large organizations.
And that's a very different world than the consumers or small business, right?
Those guys, they live a different world than those large enterprises.
Right, right.
Oh, but I never finished my last point was which timing nor product isn't necessarily the only thing.
A lot of it here is support and network marketing and growth.
So you can have the best product in the world, but if no one ever hears about it, you'll probably never get any traction.
And if, sadly, in Silicon Valley, the money issue is a thing, right?
So if you can run it without money, you're doing pretty well.
But if you need to take investment, it's a lot of your network, who you know, who you're friends with, who you've worked with in the past.
So all of that is a factor.
And there's some wonderful mix of that that comes together to create the best startups.
Like the best startups you see now, it's not just because they had a fantastic product.
It's not just because they were in the right place at the right time, right?
Like there's actually apps and startups that I see that are the right product at the right time, but because they don't have the right network, they suffer.
And that kind of, that breaks my heart a lot.
So that's what makes me really sad.
But what can you do?
I think you're right.
There's a lot of things that have to come together.
And let's say there's four.
If you have three of them, even though those all might be personal, it's not enough.
And it's really hard to know, especially if it's the first time you try, what's right.
Yeah.
And that's why I tend to look at team is because the more people you can bring in, the more of those aspects you can capture as well.
So you do some angel investing yourself, right?
I just started, which is funny.
I wanted to talk about it because I've made one angel investment.
So I put Twitter, I put it on my Twitter bio and then I was thinking, I feel like that's a little bit of a lie.
Like I've done one angel investment.
I'm looking at doing a second just now, actually.
I'm in talks to do a second angel investment.
And I put it on my Twitter bio so that I could bring some in.
It was more to get people to come to me and be like, oh, you're angel investing now.
I think it's awesome.
And I think if you've made one angel investment, it can go on your Twitter profile.
I think that counts.
Thank you.
I mean, if it's going to go anywhere, it should go on a Twitter bio, right?
That's right.
It should.
So did you see a lot of companies before you made that investment or how's that?
How does it work?
Yeah.
How's it been going for you?
Yeah.
I think you asked me in, I think the initial thing you sent over for me was like, oh, do you hear pitches?
So I was like, well, not really.
So I've been thinking about doing it for a while.
But you need to, there's some factors that you need to meet some criteria before you become an angel investor for your own safety and for the safety of the companies that you invest in, which is that you need to have a certain net worth or you need to have a certain equity stake in the company already or things like that.
That the official qualified investor from the United States, something like this?
Yes.
What's it called?
Not qualified.
It's, what's the word for it?
I'm just totally forgetting.
Accredited?
I think it's accredited investor.
Accredited investor.
Yes, that's right.
Yes.
Accredited investor.
That's right.
Yes.
You need to be an accredited angel investor.
And I don't say you need to because there's actually some laws now where you can sort of, for crowdfunding and things, to allow for crowdfunding.
And that's super new, right?
Like that just came out like a year and a half ago or something.
Yep.
So you can do small investments, a large batch of small investments.
But I mean, I'm not, I'm not an expert on this, but normally it's that you need to have a million dollars in like assets and net worth, not tied up in a home.
Which is definitely.
That rules a few people out.
Yeah.
Definitely.
Definitely does.
But it's for, it's for the company's sake and for your own.
Because if you put a large chunk of your net worth into a company and the company completely fails, which there is a 99% chance that it will, it's looking out for you, right?
You don't want to lose that much money.
And it's looking out for the company.
You could sue the individual if they had some weird corporate structure.
I'm not sure.
But if you're not sure.
You're not sure.
You would be personally liable for losses.
It's all this legal stuff, basically, to protect yourself and to protect the company.
Yeah.
All the investment regulation and legal corporate structure stuff.
A lot of people get into startups because they're into technology and they want to change the world.
And neither of those really feel like they're really super contributing to that, right?
No.
And the best thing you can always invest in, if you're interested, investing in yourself.
So doing your own startup, investing in your own education, things like that are definitely the best return on your money you can get,
especially if you aren't a billionaire.
That's the sort of stuff.
Like, doing your own startups is really the best investment.
It definitely takes it out of you.
But every time, I think you learn a lot.
Yes.
As long as you don't just quit your job and say, I've got $5,000 a month and a half to do this.
Let's go.
Right?
A little more net than that, maybe.
But it's good.
Yeah.
I mean, the worst that can happen is that you run out of money and you've learned a lot.
And hopefully, I mean, in the past startups, I've gone into credit card debt and things, which isn't fun.
But yeah, people don't talk about that.
They don't talk about, like, sort of how rough it gets sometimes.
Yeah.
I think it gets, I think you can get pretty rough.
So there's a lot of glamour, a lot of glamour to it.
One of the things I think is interesting, I work with a lot of tech companies from a training perspective, sort of throughout the world.
It seems like San Francisco, Silicon Valley, there's some kind of special going on there that seems really hard to replicate in other countries and places.
Why do you think that's the case and why do you think that is?
Continuous delivery isn't just a buzzword.
It's a shift in productivity that will help your whole team become more efficient.
With SnapCI's continuous delivery tool, you can test, debug, and deploy your code quickly and reliably.
Get your product in the hands of your users faster and deploy from just about anywhere at any time.
And did you know that ThoughtWorks literally wrote the book on continuous integration and continuous delivery?
Connect Snap to your GitHub repo and they'll build and run your first pipeline automagically.
Thanks SnapCI for sponsoring this episode by trying them for free at snap.ci slash talkpython.
Oh, it's definitely the case.
It's because people move here to be part of that culture.
So, like, for example, I'm from Minneapolis, right?
I grew up in Minnesota.
I lived there for 24 years.
You'll hear that story everywhere.
Like, where did you grow up?
It's all over the world, basically.
And then people come here because they want to know other people like themselves.
Like, very creative people.
Very tech-minded.
Very nerdy and interested in obscure topics in technology.
Right?
And I think it just happened to be the meeting place for those people.
It could have been any place in the world.
It just so happened that because things sort of started here in the 70s and 80s that it just happened to be San Francisco and Silicon Valley.
San Francisco now more days, which is nice.
Yeah, it's moving back up north to the city, yeah?
Yeah, yeah.
I don't know if that's good or bad.
I think it's probably good for young people and for the economy in San Francisco, bringing some of that here as well.
Yeah, I think it's probably good as well.
And, you know, there's less sprawl.
There's less traffic jams, right?
People aren't commuting as far because you can live more densely in the city.
Most people in San Francisco that I know don't even own a car.
Yeah, for sure.
Yeah, it's wild.
Do you want to switch gears a little bit and talk about what you do at Dropbox?
Sure, sure.
So I'm actually in between roles right now at Dropbox.
I'm switching.
I think I formally switched this week.
Okay, so.
It's pretty cool.
New role.
Okay.
Yeah, so my past role was developer relations.
I was a developer advocate on our API team.
And I basically talked with people about Dropbox APIs.
So promoting the API to kind of the long tail of developers.
So like everyone using it.
So not necessarily our big partnership deals.
But, you know, like for example, you, if you wanted to play with our Dropbox API,
those are the kind of folks we wanted to reach out to.
So it's blogging and speaking and doing hackathons.
And it's a really cool job.
Yeah, this whole developer evangelist role seems like a perfect match for somebody who's
really good with technology, but is really passionate about sharing technology.
Yes, yes.
It is sort of a more generalist job.
You're not heads down in code all day.
You're heads down in code part of the day.
And then part of the day is talking about tech with other people.
Yeah, yeah.
Very cool.
So that was last week.
What's this week?
So I just joined Dropbox Paper.
I don't know if you can talk about it.
It's a new product by Dropbox.
That's awesome.
I have heard of Paper.
Uh-huh.
Yeah, it's super new.
It just launched.
But tell everyone about it.
Yeah, so Dropbox Paper is an online collaborative editor, similar to sort of a mix between Google
Docs and Medium.
Because I say Medium because it looks, it has a very clean, sleek look to it.
But it has the functionality of Google Docs.
So the ability to create a document, share it with someone else, and then work on it together.
And has some really cool features, like the ability to sort of like highlight lines and
then have a whole conversation around it.
Has some fun features like stickers and emoji.
It's just really cool.
And we had been testing it internally at Dropbox for a long time.
So my group, Developer Relations, we have to write a lot of blog posts.
So we had been using it to draft up our blog posts and get feedback from the rest of the
team.
Like, oh, you should change some wording here.
Or, oh, don't forget to mention this.
Or you should link to this doc.
So we've been using it for a long time.
And it got to the point where we like couldn't live without it on our team.
And it was time at Dropbox.
So Dropbox, every 18 months as an engineer, they want you to try something new.
So they have a program called Hack a Sprint.
And you go to another team.
You work on that team for a sprint, which is six weeks long.
So you work on that team for six weeks.
And then you decide either to go back to your former team and be like, oh, it was a good
experience.
I learned a lot.
It was fun.
I added a new feature for whatever team you had joined.
Or you stay on the team.
And I just, I'm on my sixth week now.
And I joined the team yesterday.
So I'm on my final week of my Hack a Sprint.
Oh, that's really cool.
Yeah, that's awesome.
Yeah.
And it's because I love paper.
I wanted to work on it.
So now I do JavaScript all day, which front end JavaScript on the editor itself.
I've been working on integrations.
So every time you paste a link into paper, so say a link to a YouTube video or a photo,
it renders that in line.
And that's the stuff I'm working on.
Nice.
Yeah.
That's pretty cool.
Yeah.
What JavaScript front end frameworks are you using?
Like Angular, JS, or Ember, or anything like this?
Yeah, we're using React.
All right.
Okay.
Which is around Dropbox is super popular.
I am working at a company like Dropbox.
You kind of lose perspective on what's popular within the industry as a whole.
But here, React is super popular for a bunch of our work at Dropbox.
And then TypeScript for static typing of JavaScript.
And I'm sure we use other things, but I'm so new at the company that those are the ones I've touched the most.
And I haven't dug too deep or so new at the product, not at the company.
It feels like kind of like a separate company at Dropbox because it's a whole separate product.
It's not Dropbox.
I mean, it's a different code base than Dropbox.
Yeah.
It's not some REST API to some file system.
No.
It's entirely different, right?
Totally different stack.
I mean, Dropbox is mostly Python.
I heard you had Jessica McCuller on the show.
Yes.
That was great.
Yeah.
She's great.
She's big head honcho here at Dropbox on the Dropbox side of things.
So that's pretty cool.
But yeah, they're all Python.
Yeah.
That side's all Python.
Yeah.
So what's the backend for paper?
JavaScript.
So is it Node?
Is it something like Node?
You know, it's not Node.
And I can't remember off the top of my head what it is.
I think it predates Node.
So Dropbox paper is based off of Hackpad, which was also a YC startup.
They were acquired by Dropbox, and the code base is very similar.
I mean, it's not completely reused, but they took a lot of Hackpad and used it to sort of
bootstrap the development of paper.
That's an interesting comment because you see a lot of these startups, and some of them vanish.
Some of them explode like Airbnb.
But a lot of them get kind of gobbled up.
And I always wonder, like, well, what does that really mean?
Are we going to kind of see this thing live on, or is it just we want people, or what's the story?
So it's cool to hear.
Yeah, there's different categories.
And this is actually something I look at as an angel investor.
It's like, what category do I think this company falls under?
As a startup, you can go public and go big.
So the best result is that your company is huge.
You explode.
You have thousands of employees.
You're the next Google.
You're the next Facebook, right?
You go public.
And that's the exit point for investors most of the time.
I mean, anybody can then buy shares in the company.
There's nothing special about being an investor.
Right.
That's probably the most common outcome for a startup, right?
Yeah.
One in a thousand or something like that?
Yeah, yeah, yeah.
The most common, sadly, is that it fails.
Yeah.
You lose all your money.
You run out of money, the company sets down.
Another scenario is the company keeps running as a small business.
A good example of this would probably be, maybe a big example would be like 37 Signals, right?
I think they're still operating independently and running on their own.
Yeah, those guys have some really interesting thinking around startups and companies and sort of growth rates.
And, yeah, so, like, they're...
Maybe not a best example of this.
But you could have a company that stays private and keeps running.
Maybe Craigslist might be an interesting example of this, right?
Like, they're independent and have been running for goodness knows how long.
I think they're still at, like, 20 employees or something like that.
Right, okay.
Yeah, interesting, right?
That's not super common either.
That's pretty rare.
A lot of times you'll grow and your company will be acquired for the team.
So those are small acquisitions.
Sometimes they'll be acquired for the product.
Maybe they'll be acquired for both.
So I think Hackpad was an example of being acquired for both the team and the product.
For example, Grove was acquired for only the product.
My previous startup, Pounce, was acquired only for the team.
Yeah, so you've been kind of involved in all three.
How interesting.
Yeah, yeah, yeah.
Definitely.
Well, I mean, you see all kinds, right?
So...
And then I'm working at Dropbox, which is likely going to be a big company that goes to public
kind of thing.
So...
Unless...
Unless it's a big acquisition, but that seems less likely.
Yeah, it doesn't seem too likely.
It'd have to be a pretty big acquisition, but I guess it could happen.
Yeah, these things happen.
YouTube is a good example of a huge acquisition by Google.
Billion dollar, I think, something like that acquisition.
I should know this.
I should just...
And that's another interesting Python story as well, right?
Yeah, it's very true.
Very true.
So another thing I saw that you were involved with was the OAuth and O-embed API specifications.
Is that like the OAuth that everybody knows, loves, and sometimes curses out around security?
Oh, yeah.
I was...
Knows and loves is...
Loves is a strong word for OAuth.
Mostly it's knows and struggles through.
Yes.
That's cool.
How'd you get involved with that?
So my first startup, Pounce, we wanted to build an API.
And we wanted to do secure authentication for the API.
And at the time, SSL wasn't super popular.
I'm pretty sure none of Pounce was SSL or over SSL, which is nowadays...
You can be thoroughly horrified by that.
Nowadays, that's pretty bad.
But it wasn't easy to get SSL certifications back then.
Or it wasn't common.
People just didn't do it.
It was expensive.
And if you had to run your own hardware, it used to be computationally expensive.
And it was just...
There's lots of...
A lot of barriers, right?
It's not like today.
Yeah.
It sounds like I'm like this horrible...
My startup didn't have SSL.
Yeah.
So we were looking for a way to sort of authenticate securely for APIs.
And most APIs at the time were done over HTTP basic authentication, which is still used.
And over SSL, that's not too bad.
Basically, just passing the username and password along with every request.
The problem with that is that you're allowing any third-party site to sort of capture the username and password for your users.
Right.
So if I wanted to integrate GitHub with Pounce, I would have had to give GitHub my Pounce password, right?
Yes.
Something like this.
Yes.
Exactly.
And that was bad because it could be used for phishing and getting people's passwords, right?
So there were two problems, SSL and passwords being available to third-party applications or users entering their password into third-party applications.
So those were the problems with HTTP basic.
Flickr at the time had developed a new type of authentication, which they probably just called Flickr auth.
And it was token-based authentication.
And it was very similar to exactly what ended up being the first version of OAuth.
That's cool.
So you got involved to kind of bring it into your startup to try to deal with the APIs and authentication and all that.
Yes.
So it was a small group of people.
And I was asking around, like, what should I do?
And someone's like, oh, you should talk to these guys.
And so I talked to them, and they're like, well, we haven't really built anything yet, but here's our spec.
And the spec was great.
And I got involved because I wrote the first implementation from the spec.
Wow.
Yeah, yeah, the first open-source implementation.
I think people had played around with it on their own sites.
But it was the first one publicly available.
And looking back, and I think Dropbox today still has parts of it in their code base, which is pretty incredible.
Yeah, that's really awesome.
So did you find out, like, okay, the spec is not quite making it because we look at it?
Or was the spec good enough that you could just write?
It was good.
There was nothing wrong with the spec.
It was good.
I mean, I ran into some issues, had to do some of my own, like, signature signing stuff.
There was definitely some back and forth.
Like, this wasn't developed in isolation.
Like, it was 12 or so people working on it together.
So there definitely was a lot of back and forth and collaboration.
That's the other great thing you mentioned before about Silicon Valley and people being here.
It's like, I just, I mean, I went to meetings, like, physical meetings with people at, you know, Super Happy Dev House, which is just, like, an event here that people go and developers go and hang out together.
So we did some of the work at Super Happy Dev House.
We'd go to offices.
We went to the Twitter office.
We'd go to Google or Yahoo or something, and we'd, like, discuss OAuth.
So it was definitely a group effort.
I have to give a lot of credit to Andy Smith, who helped a lot with the first implementations.
He did the first PHP implementation and helped me rewrite my Python one to be not terrible.
So, yeah, it was definitely more of a collaborative effort.
Yeah, how cool.
And then you also mentioned, or you also were involved in Oembed.
And that I actually don't know what Oembed is.
Yeah.
It's funny because that's what I'm doing right now on Dropbox Paper.
So the concept of pasting a link into a service, like, at the time, Pounce, and nowadays Facebook and Twitter, pasting a link into a service and then rendering something pretty from that link.
So if it was, like, a link to YouTube, like, showing the actual video in line, right?
Like, you've seen this happen?
Mm-hmm.
Yeah, okay.
Yeah, yeah, yeah.
Yeah, you've seen if you paste a YouTube link into Facebook or Twitter, it renders a little video, a little video preview that people can watch it right on Facebook or Twitter.
They don't have to, like, go all the way to YouTube to watch it.
Yeah, that's cool.
And, like, Skype has started doing that.
Slack does that, right?
Yeah, yeah.
It's definitely becoming more popular the last few years.
Okay.
Yeah.
I didn't realize there was a specification for this.
That's cool.
Yes.
So there was not.
At the time, actually, this was a really unheard of thing.
People were putting links into Pounce, and I wanted a way to display pretty content.
So I was, like, scraping the HTML of the page to, like, you make, so on the server side, you go out and you make another request to pull in the content of the page and parse it and display whatever seemed interesting from that page.
The problem was that it was really hard to do that at scale because the Internet is so vast, right?
Like, not everything's YouTube.
Like, you can do it for a couple sites pretty easily, right?
You can do YouTube.
You can do Flickr.
You can do, like, nowadays Instagram.
Those are the things you'd probably choose to do right away.
I see.
So this lets any website participate in this, so they're embeddable in this sense, yeah?
Right, right.
So the idea is, so we had developers coming to us, coming to Pounce and saying, hey, will you integrate with our site?
Here's how, here, we've made an API for you, and you can do it this way.
And I was like, well, I'm not going to do this for every, I mean, we did it for a couple sites.
And they were like, I'm not going to do this for every single site that comes to us.
So let's put out a specification.
And if they follow the specification, we'll pull in content from their site.
And so we did O-embed.
It was myself and Richard Crowley, Mike Malone, and Cal Henderson.
The four of us got together.
Richard and Cal were at Flickr at the time, and Mike and I at Pounce.
It was kind of this fun thing, because Flickr was the provider of the content, and we were the consumers of the content.
So it was like a very good back and forth.
Like I said, again, most of the stuff I've worked on is definitely in collaboration with a lot of other really smart people.
Yeah, that's a cool collaboration.
Yeah, yeah.
One of the things that I sort of heard as you were talking about these things, and I thought was a really interesting experience, is you started Pounce, and it's not still running.
But it sounds like a lot of what you're doing are some of the lessons that you've learned at Pounce, right?
And, you know, just sort of the theme of, like, even if you try to start up and it doesn't necessarily make it, you might have gained some really interesting experience and skills that you have no idea where they'll take you.
Yeah, and honestly, I can say that I am not that sad about my startups not making it, because they live on in other projects.
Like, O-Embed lives on.
Slack uses O-Embed, right?
YouTube and Tumblr and all these sites still use O-Embed.
All these sites still use, I mean, OAuth is everywhere, right?
Yeah, that's really awesome.
Yeah.
But you didn't, I'm sure you didn't imagine when you started Pounce, I'm going to do, like, a security API.
And it had no point, right?
Yeah, no, no.
And actually, now I'm actually interested in security because of working on it.
But yeah, I had no idea.
And it's not even just the specifications.
It's, like, some of the design that Daniel Berka did for Pounce is echoed through all these sites like Facebook.
The Facebook news feed looks a lot like Pounce.
Like, visually looks very similar.
And Pounce took a lot of that from Tumblr.
So there's sort of, like, this evolution of products that you can sort of see happening, taking different design ideas, different product ideas, different API ideas, different technical ideas from sites.
And the best ones sort of continue on for many years.
Yeah.
I think that's really, really interesting.
Yeah.
It's super cool.
And it's hard.
I think it's hard because people imagine startups and they imagine this visionary founder and this brilliant idea and things happening very much in a vacuum.
And it very much is not like that.
Products are definitely very influenced by a large number of people working together and sort of pushing things forward.
And like I said, with the podcasting thing, without advances in technology, certain products and ideas just aren't as possible.
And then the technology gets there through other means.
So one of the things I'm looking at for podcasting is doing speech recognition and transcripts.
And the technology wasn't there before.
And now, via Siri and all these, like, mobile devices, you know, sort of speech recognition, right?
So pretty interesting, right?
How those things can sort of feed back into each other.
Yeah.
That's awesome.
Yeah.
Very cool.
So I've learned a lot about the startup world.
So I appreciate you sharing all of your experience in these stories.
And I know one of the things that hits me is that it's not just a technical thing, right?
It's not like you can be successful at a startup if you're really good at, like, programming.
There's all these aspects of it, right?
You got to make sure you bring them in the right mix.
Yeah.
And I think you can definitely be successful as a technical person at a multiple person startup.
But really, it is a group effort, unless you are amazingly.
But I've never even heard of a startup that's been just one person who's fantastically great, right?
Like, that just doesn't exist.
Yeah.
Just from, even if they could do everything, you know, they'll burn out and go crazy, right?
You got to get some help.
Go crazy.
You'll go crazy.
So, I mean, oftentimes you hear about the one main founder, like the Mark Zuckerberg, right?
But there were all these other people as well, early Facebook employees.
All right.
I have two final questions for you before you go that I always ask my guests.
So, if you're going to sit down and write some Python code or maybe even some JavaScript, what editor do you open up?
Atom.
GitHub.
Atom.
Atom, yeah.
Okay.
Yeah.
Atom's pretty awesome.
I like it.
Yeah.
I like the extensibility of it.
Because especially working with things like TypeScript, I'm able to find a syntax highlighter for TypeScript.
And that people can sort of add and build onto it the things that they need for their projects.
Yeah.
Very cool.
And the other one is, of all the PyPI packages out there for Python that you could find, what is one that you maybe think most people don't know about, but they should?
I'm a big fan of Bodo, the library for Amazon Web Services.
I think if you're using anything from Amazon, you should definitely make sure that you check that out.
It makes everything a lot easier.
Yeah.
That's cool.
That's a good one.
I really like Bodo.
And more generally, we were talking about how you used to buy physical servers that had fans and energy went into them and stuff.
And now things like Bodo and the programmability of these infinite data centers at AWS and other places, they really changed the game.
So, yeah.
Good answer.
Yeah.
Definitely a game changer.
I mean, at Pounce, we had the site go down once for about an hour because a power strip failed at our hosting company.
And my sysinmate got on the phone with them.
The guy that was sysinmate for Pounce got on the phone.
And he could hear the fans in the background cooling the servers and said, hey, our servers are out.
And they're like, oh, a power strip busted.
It will get you another one.
And they replaced it.
And the site went back up.
And you just, that kind of stuff, it's so nice not to even have to think about that anymore.
Yeah.
There are some times that things like AWS go down, but it is not common.
Not like if you're running it on the cheap yourself, right?
The development AWS does go down.
It's pretty fun here in San Francisco.
I was at a wedding.
I was at a wedding once when it went down for a friend's wedding.
And half of the room hops on their laptops, you know, logging into their websites, trying to bring things back up.
It was entertaining.
I can't get in.
What's going on?
The management console is down, too.
Oh, no.
Silicon Valley all hopping on their laptops, trying to bring their sites back up.
Yeah.
One thing that does seem to happen is if, like, the Virginia Data Center goes down a lot of AWS.
There's more than one well-known website or company that seems unreachable.
It's pretty amazing how it's kind of all our eggs in one basket, but it's a really good basket.
Yeah.
Cool.
All right.
Any final call to action?
Maybe people should come check out Paper, huh?
Oh, definitely.
Yeah.
Come check out Paper.
It's currently in invite-only beta, but I'll give you a little bit of a pro tip.
If you know someone who has access to Paper, all they need to do is invite you to collaborate on a document, and you'll have access.
And we're also letting in new users every day.
So come check it out.
Is there a website people can go check it out at?
Paper.dropbox.com.
Oh, right on.
So everyone, go check that out.
Leah, this has been a really interesting conversation.
Thanks for sharing your stories with us.
Thanks for having me.
You bet.
See you later.
This has been another episode of Talk Python to Me.
Today's guest was Leah Culver, and this episode has been sponsored by Hired and SnapCI.
Thank you guys for supporting the show.
Hired wants to help you find your next big thing.
Visit Hired.com slash Talk Python to Me to get five or more offers with salary and equity presented right up front and a special listener signing bonus at $2,000.
SnapCI is modern, continuous integration and delivery.
Build, test, and deploy your code directly from GitHub, all in your browser with debugging, Docker, and parallelism included.
Try them for free at snap.ci slash Talk Python.
You can find the links from this episode at talkpython.fm/episodes slash show slash 42.
Be sure to subscribe to the show.
Open your favorite podcatcher and search for Python.
We should be right at the top.
You can also find the iTunes and direct RSS feeds in the footer of the website.
Our theme music is Developers, Developers, Developers by Corey Smith, who goes by Smix.
You'll find the whole song on talkpython.fm.
This is your host, Michael Kennedy.
Thanks for listening.
Smix, take us out of here.
.
First of all.
you
Don't put it.