9 ms·
Show HN: I've been making JavaScript sandbox alone for 6 years
Hi HN!
Thanks for your attention to my post.
It was a big challenge to run most of Node.js packages in browser, fast moreover. Virtual File system, resolve import/export. I got cold many times, depressions, burned out, yet still alive and finished it.
Many guys helped me with an advice. Many users give a lot of positive feedback.
There are 200,000 monthly unique users.
I work full time now because of the freemium business model. To be honest - I am happy after many years of hard work.
- synergy20 4y agohow is this different from other online editors,e.g.codepen etc
- ianberdin 4y agoThanks for the question. First of all it isn't a Pen :) Codepen is a community first while having a pretty limited and slow editor without NPM modules, multiple files, rich console, etc.
- synergy20 4y agoso the key here is that you put node.js inside a browser, that anyone can use your platform directly to work in a nodejs system for frontend without local npm installation and node_modules/ hassles?
- sgammon 4y agoI love this. Could it be embedded for use in other software? Curious as we might have a use case if so.
- joshuajomiller 4y agoHow do you stay motivated to continue working on this alone for such a long time?
- TAForObvReasons 4y agoYou charge money and it becomes your livelihood. No obvious pricing page, but uBlock Origin detects Stripe scripts
- ianberdin 4y agoRight, it is not fully free. And it makes sense, right?
- joshxyz 4y agocourses here have pro tier https://playcode.io/learn/basic-javascript https://playcode.io/learn/basic-javascript to OP: the contact links on the page are not working, i wonder how much team pricing is ty
- ianberdin 4y agoThanks for the question. It is the biggest problem ever. I wanted to stop a million times. A super hard problem to solve and super taugh to get motivation to move forward. There are few quotes which helps me in bad days: "I choose whether I will succeed or not.»
- endorphine 4y agoCare to share other similar quotes? I've been working on a passion project for a few months and I definitely have my downs in terms of motivation.
- fbarred 4y agoResubmit with "Show HN" in the title? Then it will be visible in https://news.ycombinator.com/shownew https://news.ycombinator.com/shownew and https://news.ycombinator.co.m/show https://news.ycombinator.co.m/show
- adave 4y agoGreat achievement just for delivering something after 6 years!!!
- ianberdin 4y agoIs it? Thanks. My friend's product has 10M views/month and 100K MRR. :) Photopea
- pbhjpbhj 4y agoIdeas from a non-programmer: Perhaps you can cross-seed somehow, would it be possibly to use your sandbox to procedurally generate imagery in Photopea, for example? Can you pair Photopea up with something like processing.org's p5.js (I think that's what they call it) so people can do image processing use JS and outputting into Photopea? Also, fwiw, I've read--and consider it useful to reflect on--the idea that one should avoid comparison with others and seek first to compare yourself with yourself: have you improved, are you nearer your goals, have you increase your fulfilment ...
- ianberdin 4y agoYou are absolutely right, thanks. It is better to compare to myself in the past. I just forwarded your suggestion to him.
- kerryoco 4y agodo you guys have a discord I can join
- shmde 4y agoI actually used this as an online editor for my Javascript interview. I love the interface and the pure dark mode throughout the UI.
- ianberdin 4y agoWow really? Thank you. I had a pretty “dark” year when: I was unable to finish 3rd release with real-time collaboration, nested project folders, flexible permissions, workspaces, offline cache and many more as Notion has. And it was too much for myself. Just unable to merge it to production because of many changes. So that is sad. I wish to move some of this features to production. It will be nice to use in coding bootcamps, schools, finding interview, etc.
- deleted 4y ago[deleted]
- mrtksn 4y agoOne reason for the love part of my love-hate relationship with JS is its low barrier to get from 0 to productive thanks to tools like this(and the console in the browser dev tools). JS actually has a lot of buffer until you hit the bloat.
- ianberdin 4y agoAbsolutely. I was Golang/Python dev before. Node.js is so nice and simple compared. Love it.
- tentacleuno 4y agoIf I were to offer some feedback, the English on the homepage needs some tightening up. There's some bad grammar in there. That would definitely make it look a bit more professional :-)
- ianberdin 4y agoIt would be awesome if you can help. Do you use telegram? @ ruslan_ianberdin
- Zanni 4y agoNot OP, but here's a couple of quick fixes for you (honestly, your English is pretty good): "Play with any of 2 millions of NPM packages ..." -> "Play with any of 2 million NPM packages ..." "PlayCode is fastest coding experience ever." -> "PlayCode is the fastest coding experience ever." "It helps to avoid looking for a documentation ..." -> "It helps avoid looking for documentation ..."
- deleted 4y ago[deleted]
- foxbee 4y agoI really like the videos on the landing page. Straight to the point.
- ianberdin 4y agoThanks. Made them recently.
- pyrossh 4y agoReally love the interface. Very simple and easy to use. The themes are good as well.
- ianberdin 4y agoThank you! Really pleasant to hear that.
- dannersy 4y agoDoes anyone have experience with the courses? I'm trying to recommend material for learning to a friend and this looks like a great way to learn and see if there is interest without bogging someone down with environment configuration. I'd love to hear people's experiences.
- lagrange77 4y agoImpressive work! > I work full time now because of the freemium business model. Not sure, if i understand correctly. You're working fulltime on this project, because the freemium model earns enough to make you a living?
- ianberdin 4y agoExactly, I wish it is completely free, Ad free for years. However, full-time job takes energy and time from me and playcode also. So I had to figure out a way to make money to invest my time in PlayCode and its users.
- listenallyall 4y ago> So I had to figure out a way to make money to invest my time in PlayCode and its users. This is quite an impressive project, to which you've dedicated 6 years of hard work. If you really have users at Google, Microsoft, Amazon, etc., I would just ask them for money. These companies have tons of it and they certainly aren't giving their primary products away for free (don't be distracted by side projects like VSCode or GMail). Inform them that you'll be charging $39/month starting September 1. > I wish it is completely free, Ad free I get it, you have benefited from the open-source community and probably use a lot of free tools yourself, and you want to contribute or "give back." But your time, effort, intelligence and persistence are all valuable, don't dismiss that and don't assume you owe anybody stuff for free, especially trillion-dollar corporations.
- roetlich 4y agoThis is actually incredible! The live view updates so fast. There more I look at this the more amazed I am. There's even a feature to publish the page with a custom domain? And there's versioning included. Great job!
- ianberdin 4y agoYup, you can publish a blog, a personal page, an app, a Single page application with custom domain and HTTPS :) it will be production ready with CDN. Thank you for your feedback!
- murdho 4y agoThis is very impressive! I also admire that you stayed working on it for 6 years! Here's a quote I stumbled upon just earlier today: "Genius is eternal patience". I think it applies here too. Would be great to read a blog post about your journey with ups and downs. Do you plan to write something like that at some point?
- ianberdin 4y agoThank you, honestly I do not even know where to start, a lot of ups and downs. Yet, I am just in a middle of a way. If not a begining. I will try to write something, I promise.
- ChrisMarshallNY 4y agoGreat job! I can sort of relate. I worked on an infrastructure system, almost entirely alone, for ten years, before it was finally taken over by a capable team, and I was able to step away, and it took on a life of its own. It is now a worldwide standard, used daily, by thousands. I say “sort of,” because it was never something I planned to make money on. It filled a need. Also, and it’s a long story, I had to weather a fairly hefty level of abuse during that time. The demographics of the target user base were … challenging. It’s all good, now. One thing all that time brought me, was a really high-Quality product. Lots of time to squash bugs, and iterate the UX.
- ianberdin 4y agoInsane. I wish you tell more, please! About the abuse: wooah, playcode had and has many abusers, carders , phishing pages. Playcode was banned for many times by hosting providers. A lot of reports from google, Microsoft, etc. It is so incredible meet a man who run product also. Can we connect? Telegram @ ruslan_ianberdin
- ChrisMarshallNY 4y agoI don't do Telegram (nothing against it, but I don't really need it). You have options to get in touch w/me from my HN ID. Happy to chat!
- metadat 4y agoHey Chris, I tried emailing you @ Gmail before but never got a reply. Wrong address?
- ChrisMarshallNY 4y agoI replied. I just sent a second reply. It will come from a mac.com address.
- ChrisMarshallNY 4y agoOh. I just realized that I sent a follow up to the other chap. Go to my Web site, and use the form. I did try sending to what I think is your gmail address (I had to guess). I don't have a gmail address. I did, but Google decided to lock it, and I couldn't get it unlocked, so it's basically just dead space.
- larodi 4y agoSoftware development is a lone business…
- ianberdin 4y agoYeah, it is. My friend is a computer and psychologist.
- deanc 4y agoIf I can offer one minor criticism when i see every major tech company listed as your users, I instantly get a sense of a distrust as people do this to inflate the legitimacy and popularity of their service. Why should we trust the statement that all these companies are using your product? I think it’s disingenuous to suggest that a lone employee uses it or even a collection without an actual commitment from those companies. Imagine if every company that ever had traffic from a Google IP put this on their homepage. I could add it to my blog.
- ianberdin 4y agoYep, I understand your feelings. I have Developers from these companies. Not a company itself, I am pretty bad at B2B sales.
- scrollaway 4y agoThose company-legitimacy boxes are useful for b2b sales when you're trying to sell a product that the companies in question actually pay for. This doesn't seem to be what you're trying to do so IMO I agree with the GP and you're better off removing it. Look at the ReactJS homepage (https://reactjs.org/ https://reactjs.org/), it's the same as yours minus b2b fluff, and heaven knows they could list some companies in there :)
- randomdigitz 4y agoWho’s to say that person is right? If anything test it. That person may have a personal and incorrect feeling about the logos. They may be worse at b2b sales than you.
- lupire 4y ago
- enduroman 4y agoMake sure you are authorized to use their logos. I know Intel would request removal from sites like this when I worked there.
- Wowfunhappy 4y agoI can't tell from the landing page, what are the limitations of the free version / what do you get for subscribing? I always want to know this before I invest my time in anything.
- tyingq 4y agoThere wasn't a link to this page I could find, but Google found this: https://playcode.io/pricing https://playcode.io/pricing If that's current, the free plan is limited to 8 lines of code. That kind of pushes the definition of "freemium".
- pkrotich 4y agoI wish you had a blog detailing your journey! Perhaps I missed it - but would love to learn more about what got you into the project and how you kept going!
- saasxyz 4y agowow this is bult by a single man? I am an avid user of this site. I thought it is a VC backed product or something. Neat work. Thanks for building this. It used to be free without any time limitation. But now it only allows 30 minutes of free usage per day. Is this model actually working?
- inflam52 4y agoNice work! I wish I would have come across this sooner or I might not have started building https://webden.dev https://webden.dev for the past year haha. PLAYCODE is definitely more robust as far as features (courses, virtual file system, pro version, users, node.js, transpiled projects, etc) but it's cool to see your big focus on speed. The rest of the ecosystem felt so heavy and bloated when I originally started looking. Also, thanks for sharing your story! Very inspiring!
- virgil_disgr4ce 4y agoAny chance you've open-sourced any of this? I've been looking for a way to run Node.js packages in-browser!
- jawns 4y ago@ianberdin, there's a link to "Sign up." But it doesn't give a good indication of what signing up does. Does it give me access to additional features? Does it sign me up for marketing emails? Normally at the sign-up stage, users are presented with a Terms of Service link or something else that gives further details, but it looks like you only present this information after the user has entered their info. Would you consider adding something like this up-front so I know what I'm actually signing up for BEFORE I enter my info?
- LionTamer 4y agohttps://playcode.io/pricing https://playcode.io/pricing might help?
- bogwog 4y agoThe free tier on that page says you get "8 lines of code". Is that a typo? Does the app really not let you write more than 8 lines of code? Of what use is that to anyone?
- plugin-baby 4y agoYou can do a lot with 8 lines.
- ndom91 4y agoGreat project! Love the focus on speed as well compared to other web IDE competitors out there. However, that carefree plan 8 lines of code thing seems ridiculous, no? Most of the templates are already longer than 8 lines.. I think if you just removed many of the other "nice-to-have" features like publishing, npm packages, etc. but made it unlimited lines of code / time per day, the free plan would be much more compelling! Also i agree with the other commentors that the logos on the homepage are a bit off-putting. I'd prefix it with "Used by engineers at...", as others have suggested as well. All in all great job though!
- ianberdin 4y agoThanks for the honest feedback. That is valuable. I agree, this limitation 8 lines and 20 minutes if over, sounds strange. One user from Google suggested me to make just 30 min daily or feature limited. Both of them makes 3 times smaller conversion. Still the same choice: let it be maximum Freemium or focus on paid users who really value the product because I need to work full-time on playcode? A thin line. I do not know. Maybe it is better to take seed round. If anyone has better answer, I wish you tell me.
- robocat 4y agoThe best talk ever on self-funding (bootstrapping): https://youtu.be/otbnC2zE2rw https://youtu.be/otbnC2zE2rw - some of what he says should be immediately relevant to you. > Maybe it is better to take seed round I would be very cautious about that: 1. search likely to be distracting , 2. do you want to be your own boss, or not? 3. generally investors want you to become a gigadollar business which I would guess is not your goal. Elsewhere you wrote: “I am pretty bad at B2B sales” Perhaps join up with someone who complements your skills that you like working with? Not easy, but I think easier and more flexible than taking money.
- cebert 4y agoI’m amazed that you were single-handedly able to build such a complex utility working solo in your free-time. I’m impressed with all the features you’ve added and that the pro version only costs $4.99/mo. I hope you took notes about the progression of the project, as it would be an interesting story to tell one day on a blog or as a presentation.
- ianberdin 4y agoThank you for your kind. It is hard to forget problems, so I remember anyway :) As I said above: where to start a blog? What kind of subjects interesting for HN?
- cebert 4y agoI wonder how you were able to manage your time and break down and implement such a significant project.
- ianberdin 4y agoOne word: sacrifice. Friends, sport, tv, family sometimes, good mood, work, money, everything except product. I am focused on 9 hours sleep and work. Unfortunately that is truth.
- heddycrow 4y agoOP, I've been working on a very similar thing for some years now, too. I could write a book about this at this point, but I will avoid gushing here. Please let me share some pain. Many developers/companies make this thing and none of them really know how to (or can) share. I'm happy to share my list. The end result, as I see it, is a fragmented mess of either partially completed or fully completed and walled (and/or poorly modularized) software. Take for example VS Code's tree view. Can a developer with a need for an explorer view just use VS Code's tree module? Not hardly. Go reinvent. Contrast that with CodeMirror. If you look, you will see CodeMirror everywhere. This software truly empowers devs and it has resulted in pure awesomeness. There's no shame in not open sourcing what you've created, I'm assuming you haven't. And I can't say anything about how you have modularized your components. But it pains me that the next dev who gets an idea like yours will either give up or spend 6 years struggling to create the same thing (except the CodeMirror part). Worse, Microsoft can afford to struggle and or throw people/money at this. They can pay people to work full time. They can give away their editor(and more) for free. That's a win from user's POV. Are you aware that VS Code runs on GitHub and does the majority of this kind of thing? I think they could completely shut down all sandboxes or similar kinds of software from a financial perspective. I said I wouldn't write a book. Anyways, I strongly appreciate what you have done. It looks great. I wish we lived in a world where we could work on the same team building this kind of thing. My best wishes to you on getting paid to do it full time.
- ianberdin 4y agoFor sure. There are a lot of things to do: - files tree, - windows manager (it looks simple to implement, yet 2000 lines of code), - tabs, - better syntax highlighter, - code bundler (3-4 years to research), - transpilers, - preview (service worker serve it with bidirectional request between bundler worker and service worker and another window preview also), - console (it is pretty hard to describe every data type and make client-server between iframe and console to show nested structures dynamically) And more... Yeah, I do not think I can share source code. Thanks for your message.
- heddycrow 4y ago
- apineda 4y agoHey I just recently used this to play with a package (`deep-diff`). Thanks for making this!
- ianberdin 4y agoSo I strongly suggest https://www.npmjs.com/package/@n1ru4l/json-patch-plus/v/0.1.2 https://www.npmjs.com/package/@n1ru4l/json-patch-plus/v/0.1.... then. If you need diff and patch.
- didgetmaster 4y agoNice project. I can relate in that I have my own personal hobby project that I have been working on for years and I would like to get many more users trying it out. Mine is a new kind of data management system that can manage unstructured, structured, and semi-structured data. Think of it as a file system, database, and NoSql system all rolled into one. It is currently in open beta at https://didgets.com/ https://didgets.com/ You say you have 'finished it'. Software is never finished, but if you have checked off all the feature items from your design, then close enough for now. With my project, the TODO list is still extremely long. It can do many things already, but I seem to put two more items on the list every time I cross one off. It seems that every solo, multi-year project goes through the phases you describe (burn out, depression, questioning your sanity, etc.) and mine is no exception. It still feels very self-fulfilling every time I get a major piece working or I blow away the alternative in a speed test.
- juancampa 4y agoVery interesting. I saw the demo of the photos and it makes me wonder how you use didgets on your personal life and how it's a better UX than the alternatives. More programmable at the very least, I'm assuming.
- didgetmaster 4y agoI use the database features for analyzing data sets I download from the Internet. I use the file system features for organizing my photos. I can tag each photo with a set of meta-data tags. Then if I want to find every photo that I took at night in 2020 on vacation; I can search for photos with those tags. It also takes a SHA1 of the data stream and attaches it automatically to the photo. That way I can find all the photos that are duplicates, even if they were renamed and put in different folders.
- XCSme 4y ago> I work full time now because of the freemium business model Could you describe the model? I can't see any pricing on your site.