The Stack Overflow Podcast

A serial entrepreneur finally embraces open source

Episode Summary

Serial entrepreneur Arpit Mohan, cofounder and CTO of Appsmith, tells Ben and Cassidy about his path to building Appsmith, an open-source project that makes it easy for engineers to build, ship, and maintain internal tools. They cover the “stigma” of low-code and no-code tools, why Appsmith is investing more time and effort in design, and why open-source advocates are excited for Hacktoberfest. Also: Another computing career launched by Tamagotchi.

Episode Notes

Appsmith is an open-source, low-code platform for building and maintaining internal tools like custom dashboards, admin panels, and, of course, CRUD apps.

Watch Arpin’s talk on how a low-cost, low-tech solution can simplify online payments.

Arpit isn’t the first engineer we’ve talked to whose career was sparked by the digital pets of the 90s. Listen to Episode #431: Words of wisdom for self-taught developers.

It’s time to get excited about Hacktoberfest, an annual DigitalOcean event that encourages people to contribute to open-source projects throughout the month of October.

Connect with Arpit on LinkedIn or Twitter.

Last but not least, today’s Lifeboat badge goes to user Belzebub for their answer to the question Custom alert dialog with rounded corners and a transparent background.

Episode Transcription

[intro music plays]

Ben Popper Are you interested in accelerating the digital transformation in your company? You can learn from the RPA Summer School 2022. Go check out community.uipath.com/rpasummerschool to learn how to cut off repetitive tasks through simple UiPath automations and see which basic processes can be automated in your daily work.  

BP Hello, everybody. Welcome back to the Stack Overflow Podcast, a place to talk all things software and technology. I am Ben Popper, Director of Content here at Stack Overflow, joined as I often am by my wonderful collaborator, Cassidy Williams. Hi, Cassidy. 

Cassidy Williams Hello! 

BP So who are we having on the show today and what are we going to talk about? Pretend I know nothing.

CW I'm going to pretend you know nothing. I'm very excited to introduce our guest, Arpit Mohan. He is over at Appsmith, which is an open source low code platform for building internal tools, and really interesting tools from spreadsheets and various data sources. 

BP Very cool. Arpit, welcome to the show.

Arpit Mohan Hey, Ben. Hey, Cassidy. Thank you so much for having me on today. 

CW Yeah, we're so excited to have you. 

BP So the first thing we usually ask folks is just to tell us a little bit about yourself. How'd you get into the world of software and technology, and what led you to create this organization you're at now?

AM So I've been fascinated with technology for the longest time. My dad, he was a ‘real engineer’. He roamed around with tools, he was a mechanical engineer. And since then I've always wanted to be one. And as a kid, I would literally take apart every device in the house. Right from the early ‘90’s, there was this virtual pet called Tamagotchis, to video recorders, to televisions. And the Tamagotchi, I still distinctly remember the first time I took it out. I don't know what that eight year old in me was expecting. I maybe expected this dinosaur to jump out at me. And I saw a little green chip and I was very underwhelmed at that point that this entire world that I had dedicated a year to was this little green chip. And the more I took apart devices, I saw this recurrence of the green chip everywhere– the microcontroller. I think since then a lot of my journey has been defined by building worlds by building things on top of this green chip, because it's literally a window into a whole new possibility. And going from there as a kid to building humanoid robots when I was in university, so we built India's first humanoid that I think did the only two things which are worthwhile in life. It danced and it played football. 

CW That's what matters. 

AM That's what matters, yeah. So we did that in university but professionally I started off my journey with a low code company. Back then the word didn't exist, but it was a low code company called KONY Labs, which allowed users to build mobile apps really quickly. And post that, the last decade has largely been dedicated to starting up multiple times. So people end up at times calling me a serial entrepreneur which I think is an insult because if the first one had worked out I wouldn't be doing the third one. So building multiple startups across different industries, the first one was Gharpay which was a very early business. It was a cash and delivery company based in India. This is pre-credit cards, pre-mobile phones’ proliferation in the country. So we literally picked up cash at your doorstep and deposited it in the bank for you. So it was a very early business. Very, very straightforward, operationally heavy company. 

BP That sounds dangerous. Did you have armored cars? I mean, how much cash are we talking? That sounds like a dangerous business to be in, picking up cash and putting it somewhere else.

AM Yeah. There's a whole lot of things that we did with technology where we didn't need to do armored cars. Everybody literally roamed around on motorcycles. And there were strict limits on if you have more than $500 on you at any given point of time, you have to deposit it in the bank. So even if you get robbed, your liability is maybe $500. And at that point we were doing about a million dollars in cash per month, we were just transiting through us. So that went well for a while so that company got acquired and we moved on to doing multiple things across AI NLP. I think we finally settled on a mobile game which ended up going viral coincidentally. Post YCombinator we did a mobile game. So we had a million downloads on the Play Store and had 120,000 daily users and all of this happened within a span of I think four or five months. And we were four engineers; two backend, two mobile engineers, and we were just trying to keep the lights on.

BP What was the game called?

AM The game was called Mobshow. It was a quiz game much like HQ Trivia, if you remember HQ Trivia. So it was very much like that. So while we were kind of scaling the mobile game, we were getting about 3,000 support emails a day telling us various things and we had one support engineer at that point. So just keeping the lights on on the product, trying to do something over there and then trying to answer 3,000 emails we realized that, “Oh, we have to build a lot of tools. We have to build a lot of stuff just to keep things going.” This was 2018 and that's when we turned around and said that there has to be a better way to build admin panels, internal tools, et cetera. Why do I have to drop into React? Why do I have to drop into pure Django admin and move my stack and et cetera? That's where the idea of Appsmith came about. So we literally shut down the mobile game and said, “Hey, I think there's a much bigger business, a much more interesting business for developers,” and that's why [we made] Appsmith. And the last three years with Appsmith we've been building an open source project, because I'm a distributed systems person. I've spent my life trying to work on web scale systems. For the life of me I do not enjoy CSS, I don't enjoy designing stuff. That’s my Achilles heel. So with Appsmith we open sourced it because we believe there are a lot of engineers, a lot of growing product teams out there that require these admin tools, dashboards, et cetera, to be built inside their company for their own use cases, and they either do not have the skillset or the interest or the bandwidth to do so. So it's just making it easier and that's also why we open sourced it for everybody to use. And today I think Appsmith is a decently successful or averagely successful open source project. 

CW It's an awesome project, too. I've only played around with it a little bit but the fact that you can still write JavaScript but it's still technically a low code tool, like I can do as much dragging and dropping as I want and play with spreadsheets and stuff. It's pretty nice for building those quick front ends for various things. 

AM Yeah. Within Appsmith we explicitly said that we were going to allow that wherever you can write English, you can write JavaScript. And that was a very explicit decision that we took because we realized that to build anything moderately complex, you require code, you require logic, and what better language to do it in than JavaScript– the world’s most popular prolific language out there. 

CW For better or for worse 

BP We had a post recently up on the Stack Overflow Blog about low code/no code and to what degree it would replace higher level languages or might allow folks who are sort of non-developers to take the role of developers. And I think within the low code/no code ecosystem there's a lot of traction, there's a lot of people who are sort of citizen developers coming on from marketing or sales or other areas of the company who can now build their own workflows, their own little custom tools which is great, and maybe as you point out Arpit, developers who want to build custom tooling for themselves, and this is kind of the answer as opposed to always having to reinvent the wheel. But I also feel like there's a bit of a stigma associated with low code/no code where many developers say, “This is not for me. You're not really a developer if you're doing this, and this can't solve serious problems.” So what is your thought on that? Where is the inflection point between where these tools are useful and where you need to get back to being maybe a more seasoned or more schooled programmer? And in the future, how do you see them impacting the software development ecosystem overall?

AM Let me begin by saying that the idea of low code/no code, et cetera, is not new. I literally started my career one and a half decades ago with a low code company, it’s just that at that time it was called rapid application development or business application development, et cetera. The oldest low code company is a company called Pegasystems. They were founded in 1983, 1984, I think. So this is not a new concept, it's just that every decade this word gets reinvented with more modern tools, modern technologies, and that is where Appsmith is at. 

CW I'd even argue that Excel spreadsheets are basically low code tools, and they can do a lot. 

AM Yeah, exactly. 

BP Right. PowerPoint, we're all coding in PowerPoint. But I take your point, some of it's even language. If you say ‘rapid application development’ or ‘business application development’ it's like, “Okay, this is a kind of thing we want to do that's less sophisticated.” When you say ‘no code’ ‘low code’ it almost implies in some way that in the future we're not going to need folks who really know how to work with code, most of us will just be pulling the building blocks together. So in some ways to your point, old idea, but there is something about the way it's talked about now that I think gets under the skin of some software developers. 

AM I think that notion is very far-fetched. In order to build anything moderately complex you need some code. So that is why Appsmith for example sits very squarely in the low code category. We don't try to do anything no code. So if you are a citizen developer, you're a marketing person who's done an MBA, never coded a day in your life, that's okay but Appsmith is not a tool for you and you'll probably get by by Excel sheets, maybe some tools on top of Excel. Great, but at no point will you be able to build a customer support dashboard that integrates with your Salesforce and your Freshdesk or Zendesk and your custom DB, and then pull it all together in one dashboard. So those are tools that are really hard to build without knowing some level of code. Now with every generation of platforms that get built, at one point C or C++ was low code for machine, then Java was low code for C++. The iPhone is low code for the DSLR. So at some point when this new technology or these new platforms come in, there will always be people who are purists if you will, who believe that DSLRs are the true way of taking photos and a digital camera or an iPhone is not, but there is a long journey that happens of education, of people who learn the new technology, who learn the new platform, who understand, and they're then able to draw parallels and create a lot more worlds. So in our case with Appsmith I think there's absolutely zero danger of low code tools taking away our jobs. If anything, I think as developers we'll get a lot more productive because we get to focus on the revenue generating aspects of our business rather than focusing purely on an admin panel for your marketing team or your growth team or whatever.

CW Or the connection of data sources and the intricacies of those APIs. I think with all these low code tools it makes building more accessible. And some people who don't consider themselves developers suddenly can build really complex things without having to be too deep in the weeds of coding. And I think that's a really powerful thing to be able to give people and enable people to do because eventually they might want to go somewhere more complex and build something more complex, but they high-level know how it might work because they've used a tool like this.

AM Yeah, absolutely. Because with the iPhone, the number of digital photos that got taken in this world increased many, many, manyfold. And it introduced the concept of filters and focus and aperture, et cetera, to a lot of Instagram stars, if you will. So similarly with low code as well, it's going to happen where because you can now build a lot of things really quickly, you get to the acceptance point really quickly, and then you're able to build some fantastic stuff that you probably did not think 5 years ago, 10 years ago, was possible in this period of time. You just get to that point, that wow moment, very, very quickly. And that opens up whole new possibilities.

CW I have a fun story. One of my old coworkers does not consider herself a developer. She does not like coding, she's just like, “Ah, coding is not for me. It'll never be for me.” But she's very into spreadsheets and tracking different things that she does in spreadsheets. And she figured out a way to connect her spreadsheets to a low code tool that allowed her to make iPhone apps to continue to track some of her own personal data, recipes, and tarot card readings and all kinds of stuff, weather tracking stuff around her house. And she kept making them more and more complex to the point where she was writing scripts but I don't think she realized she was writing scripts. And the more she played with it and the more she was showing me, I was just like, “This is a very complex app that you've built,” and she's like, “Oh, I didn't build it. I just kind of stitched things together.” I'm like, “No, no. I could not build this and I'm a developer. You did a great job.” And it's that kind of thing where these tools enable you to build really powerful things whether you realize you’re coding or not. 

BP Yeah, that's great, and at the end you kind of ask, “Did I build this? How did I get here?” Yeah. So Arpit, what are some of the things you're excited about that maybe you have on the roadmap? You mentioned that any place you can write in English, you can write JavaScript. Are there ideas you have that would enable Appsmith to work with new technologies or frameworks? Are there things that, since it's open source, a lot of people are asking for that you think will be important to bring to the platform? 

AM Oh yeah. There's a very, very long list of things that people ask for and I think that's awesome. That's the charm of being an open source project. I love that aspect of open source worlds. Down the road we have quite a few things up our sleeve. The first is improving the debugging and the ability to write code and that experience. So today we have an editor that we ship with along with the Appsmith ID overall. So it has ES6 support, you can write async/await, you can use promises, et cetera. So the code writing part is there. I think the part where I think we need to improve on and we are working very hard on is the debugging capabilities where you can add debug points and do basically whatever you can do in VS Code or WebStorm you can do within the Appsmith world as well. So that's one thing I'm super excited about. Apart from that, there are a lot of future integrations that we're looking at. So we have about 17 or 18 database integrations that we already have so we are kind of expanding that list so that more users in different sorts of environments are able to kind of consume their data and use Appsmith for that. And the last is the app building capability around mobile responsiveness, the ease with which you can rearrange or generate beautiful apps if you will. Today the default application that you create on Appsmith, if I was being very, very honest, it looks okay. It doesn't look like the greatest thing. 

CW It works.

AM It works, it looks okay. But I think in order to get more people excited about the product and the output of Appsmith we're investing a lot in our design capabilities so that the first app or the default app that you create absolutely blows your mind. So those are some of the things that we are super excited about. And hopefully in the next few months we should have a bunch of them already in the hands of users. 

BP Very cool. 

CW That is so fun. And if people want to contribute, do you have certain ways that they should? Do you want them to follow certain contributing guidelines? Is it kind of, “Pick a feature and go,” “Pick an issue and go?” What's your typical process around that?

AM So a typical process if you're new to the Appsmith codebase or the repository, we have a list of good first issues, so you can come to our repository and filter by good first issues. We have a contribution guideline as well where we've explained different parts of the codebase. So if you're contributing on the client side or with React, where you should find some stuff. If you're contributing on the server side with Java, where you can find some of the files that will probably be more relevant for you. So we have a contribution guideline as well. A great way to contribute is to find a good first issue or find an issue that is up your alley. Most importantly, talk to us before you actually pick it up because a lot of times it happens where you might just be going on a different track that we don't want anybody to make an effort and put in their time for us to then not accept that pull request for whatever reason. So please claim that issue, just comment saying, “Hey, I want to do this.” We'd love to kind of help you contribute as well, a lot of our team is out there to help. So claim the issue, talk to us at least once before you actually do something, and then just create a pull request and from there on the robots take over once the pull request comes up.

BP Very cool. We've mentioned that before, so good first issue is a good place to start if you're listening and that's solid advice for everybody. I hope some folks who are listening end up contributing to your project. 

CW And Hacktoberfest is coming up so it'll be a good time to contribute too. 

BP Hacktoberfest is coming up. Get your PRs in.

AM Oh yeah. Hacktoberfest is the biggest celebration of open source. Super excited about Hacktoberfest. I mean that's literally why I got into open source and I'm really glad that this is a chance for us to kind of give back to the community that's helped us get here.

[music plays]

BP All right, everybody. It is that time of the show. I want to shout out the winner of a lifeboat badge: somebody who came on Stack Overflow and saved a question from the dustbin of history and helped to spread some knowledge around the community. Thank you to Belzebub, awarded August 30th. They answered the question, “How can I design a custom alert dialog with rounded corners and a transparent dismiss button?” This was asked five years ago and 15,000 people have gone on to make some great rounded corners. All right, I am Ben Popper. I am the Director of Content here at Stack Overflow. You can always find me on Twitter @BenPopper. Email us with questions and suggestions, podcast@stackoverflow.com. And if you're listening to the show and you like it, you should probably leave us a rating and a review because it really helps.

CW I'm Cassidy Williams. I'm newly the CTO at Contenda. You can find me @Cassidoo on most things. 

BP Yay! Congratulations! 

CW Yeah! Thanks. 

AM And I'm Arpit Mohan. On most places I'm @MohanArpit. You can find me on Twitter most of the time, and otherwise you can shoot me an email at arpit@appsmith.com. That's largely where. 

BP All right, everybody. Thanks for listening. Go out and make some apps. Use low code, no code, lots of code, heavy code, whatever kind of code you like. Get ready for Hacktober, make some contributions to open source. Thanks for listening and we will talk to you soon. 

CW Bye! 

AM Bye! Thank you so much.

[outro music plays]