Mon, Oct 3, 2022Replit's New Logomark
You may have noticed that Replit's logo looks a little different than it did last week. In summary: we're using what we call the "prompt" we already use elsewhere as our primary symbol. The prompt gives you an empty canvas, full of possibility, for you to start creating. We want Replit to be the same for your software creation journey! Let's dive in and learn why. We've had our old logo for a long time. The symbol (loopy, or hurricane, or ripple, or whatever else you call it) has served us well, but for a few reasons we wanted to simplify how Replit is represented:
Wed, Sep 28, 2022Fluid layout customization with Splits
A few weeks ago we released Tabs, which allowed people to open up different files and tools you want, side by side. But the Workspace’s overall layout was still pretty static: you can only open things side by side, with no way to remove panes or quickly rearrange what you're focused on. That's changing today! With splits, you can completely customize the layout of the Replit Workspace. This might not seem like a big deal, but it unlocks a lot of new possibilities for templates and makes Replit more accessible for both novices and experts. How it works When you drag and drop a tab or pane over another pane, you have five primary hit areas: The header of every pane, and the top, right, bottom, and left "quadrants" of the pane. Our drag and drop logic actually uses conical sections to make dragging more ergonomic.
Fri, Sep 23, 2022Worldwide Repls, part 2: Load balancing for fun (although not quite profit)
In our previous blog post about Worldwide Repls, we talked about how we revamped part of our infrastructure to build a new abstraction that allowed us to build other components on top of it: the control plane. In this entry, we'll talk about the very first thing we built on top: a load balancer. The need for an alternative load balancer All of our infrastructure currently runs in Google Cloud Platform, and it comes with several options for very robust load-balancing across services in the form of the Google Cloud Load Balancer (a.k.a. GCLB). Since it's very easy to get started, that's what we used for several years. It has all sorts of very neat features like SSL termination, geographical routing to minimize latency, integrates with their autoscaling solution to let us grow and shrink the size of our fleet to reflect the number of concurrent users, and is even optimized to support a request load that is not quite homogeneous: a few requests that are 10,000x more expensive than others is totally supported. So far everything looks great on paper. Why did we need an alternative load balancer? When we originally announced that we were going to support non-US compute regions, we discovered that there was a small disconnect between how the GCLB operates and how we would like it to operate: back then, when a user made a request to start or connect to a container, the container would be created geographically near where the user made the request if possible, and would fall back to where we had capacity. This unfortunately meant that there were several cases where a user in India would start a container, it was created in the US, and all network packets would still need to perform one earth-sized roundtrip. To make things worse, this also happened to some folks in the US, so we had to revert that change. By this point in time it was clear that we had to create an intermediate layer that could allow us to make decisions as to where the containers were created, since we had all the information about the Repl upfront, but GCLB alone was not able to use this information. A bit later, our team of SREs found something even more disturbing: the distribution of load across our fleet was all over the place!
Tue, Sep 20, 2022Productizing Large Language Models
Large Language Models (LLMs) are known for their near-magical ability to learn from very few examples -- as little as zero -- to create language wonders. LLMs can chat, write poetry, write code, and even do basic arithmetic. However, the same properties that make LLMs magical also make them challenging from an engineering perspective. At Replit we have deployed transformer-based language models of all sizes: ~100m parameter models for search and spam, 1-10B models for a code autocomplete product we call GhostWriter, and 100B+ models for features that require a higher reasoning ability. In this post we'll talk about what we've learned about building and hosting large language models. Nonsense Any sufficiently advanced bullshit is indistinguishable from intelligence, or so the LLM thought. LLMs are super suggestible -- in fact, the primary way to interact with LLMs is via "prompting." Basically, you give the LLM a string of text and it generates a response, mostly in text form although some models can also generate audio or even images. The problem is, you can prompt the LLM with nonsense and it will generate nonsense. Garbage in, garbage out. Also, LLMs tend to get stuck in loops, repeating the same thing over and over again, since they have a limited attention span when dealing with some novel scenarios that were not present during training.
Mon, Sep 19, 2022Replit 100 Days of Code
We're excited to announce that today we are launching Replit's 100 Days of Code!! In just 15 minutes a day, you will build real world projects every day, totaling up to - you guessed it - 100 projects! In this course you will learn from Replit's own master teacher, David Morgan! He makes each day engaging and, honestly, hilarious! You'll be coding alongside like minded people, who may be starting their own coding journey just like you. You will develop a daily habit, shake off any fear of coding, forge new friendships, play your own multiplayer games with each other, and just have fun with Replit's vibrant community. Come join us to start building websites, use AI to create games, generate apps, learn automation, data science and much more! Oh and don't forget to invite your friends with this link join.replit.com/python.
Wed, Sep 14, 2022History++ - A Better Way to Do Versioning
Have you ever had to start over on a piece of code because you overwrote something by accident? Made an edit, replaced it, and then wished you could go back? Programmers have tools like git and the undo/redo stack to help them deal with challenges like this. Replit, of course, supports these things. But, we think there's a better way. Over the last week, we rolled out the new history UI to general availability. Here's what it looks like: The Basics
Sun, Sep 11, 2022Replit’s Commitment to Trust, Safety, and Integrity
When you sit down to a nice meal at a restaurant with family or friends, safety shouldn’t have to be your first concern. You should be able to trust that the food was prepared safely, that your chair isn’t going to fall apart when you sit on it, and that if other diners start to cause a scene, they will be asked to leave. Our Trust & Safety team at Replit has a very similar job, quietly working to keep Replit a safe and welcoming community so that your coding and creativity can thrive. Although most of the time this work is invisible to you, in this blog post we’ll give you a peek behind the scenes of Trust & Safety at Replit, as well as providing you with some tips to make your own Replit experience safe and comfortable. (Helmet optional.) How moderation works on Replit Supporting our users’ freedom of expression and creativity is baked deep into the DNA of Replit. You don’t need to ask for our permission to create and share your work, you can just do it. After all, we can’t ask you to trust us if we don’t show trust in you first. So, nothing that you do on Replit requires pre-approval by a moderator.
Wed, Sep 7, 2022Ghostwriter AI & Complete Code Beta
Update: Ghostwriter is out now! In 2018 when we announced Multiplayer Mode, we said it's the most significant evolution of Replit to date. For the first time, you could share a URL with a friend, student, or coworker and get a shared text editor and runtime — no setup required. Replit Multiplayer is changing how an entire generation of programmers learn how to code and make software. Today, we're announcing Ghostwriter, which infuses state-of-the-art intelligence into nearly all IDE features. Ghostwriter sports an ML-powered pair programmer that completes your code in realtime, tools to generate, transform, and explain code, and an in-editor search utility that lets you find and import open-source code without leaving your editor (think Stackoverflow in your editor).
Thu, Sep 1, 2022My internship experience at Replit.
Hey, it’s your friendly community intern, Lily! It’s been 8 months since I became an intern at Replit, and this blog post concludes my awesome journey. How did it all start? I have been active in the Replit community for over 2 years where I used to primarily be a front-end developer and designer. I have participated in countless hackathons and community events, posted my design projects in the community, and much more. This made me kinda famous in the community! Here is the post I wrote earlier on how I got into the Replit community. Back in 2020, after 4 months of being active, one of my friends (who was also a Replit team member back then) suggested that I apply for a design role. I, of course, really wanted to work at Replit, but I wasn't sure if I was ready. It took me more than a year to gather enough confidence to finally apply for the design role in November 2021! I also knew that Replit had eyes on me for a long time because of my contributions to the community and my performance in the hackathons. After a couple of weeks, I got an email from Barron Webster (Design Lead at Replit) telling me that they hadn’t forgotten about my application. However, they had never had a Design Intern before, and they were currently working on finding the right way of bringing me in. I was told they would connect with me again at the start of 2022! In January, I got a message from Lena Vu (Community Lead) with an offer to join the Community Team at Replit. We discussed the possibilities for both Design and Community roles. I could start as a Community Intern right away, but for design, I would need to wait for the summer. I didn’t really want to wait that long, and also wanted to try something new, so, I chose to join Replit as a Community Intern, and started in January 2022! What happened during my internship?
Mon, Aug 29, 2022Welcoming Heroku Users to Replit
Last week, Heroku announced they are discontinuing their free hosting plan. We get it. Offering free hosting and compute is extremely challenging, but there are many creators globally that are unable to pay for resources. As a result, many Heroku users are moving over to Replit, and we're excited! At Replit, we believe anyone should be able to create software, and we will continue to create pathways for users to host their projects without swiping a credit card. Not only that, but we are taking it to new levels. Today, we host 1M concurrent containers and serve 10b+/month in dynamic content from apps deployed on Replit. At this scale, we are one of the largest compute providers in the world. But we're only getting started. In the coming months, we're going to radically change our hosting offering. Earlier this year, we set super ambitious goals: 10x performance and reliability 3x the nines of availability
Sun, Aug 14, 2022Ethical hacking on Replit
We’re proud to say that Replit was built by and for hackers. A hacker, as defined in an early Internet glossary, is “A person who delights in having an intimate understanding of the internal workings of a system, computers and computer networks in particular.” It’s this sense of curiosity and delight that motivates our community to grow and share their skills, and to show off their creations in our Community. The media often misuses the word “hacker” to refer only to malicious cybercriminals. While that’s not what it means, there are some “black hat” hackers who seek to spoil the experience of others. This is true on Replit and other places - such hackers use platforms to distribute spam or malware, attack third-party services, or steal resources. That’s not part of our ethos of hacking, and those activities are prohibited by our Terms of Service. With that said, the line between ethical hacking and abuse isn’t always obvious, particularly to young hackers who are just starting out. In particular, many of our users begin their programming journey on Discord, where Replit has a large community. Hacking on bots to interact with Discord’s service is a great way to learn, but some of these bots have malicious functions that aren’t allowed to be hosted on Replit. To make things a bit clearer, here are some examples of the most common violating repls that we come across on a daily basis, with explanations of why we don’t allow them. Nuke and raid bots. Bots designed to disrupt Discord servers are one of the most common violating repls that we see. Because these are used to attack third-party services, we do not allow them. Snipers and grabbers. Scripts that steal credentials or tokens from other users are not allowed. A common example of this that we see are Discord Nitro snipers or generators. There’s no such thing as “free Nitro”... even if they claim to “generate” Nitro, these scripts are actually attempting to find and steal tokens that other users have already purchased. Other examples that fall into this category include token grabbers and IP loggers. These are commonly combined with “free Nitro” or “free Robux” scams, that are designed to fool users into giving up their login tokens or IP addresses by clicking on a malicious link or scanning a malicious QR code.
Wed, Aug 10, 2022A Tale of Two Tabs
Today we're launching a long-awaited feature in the Workspace: Tabs! Yes, you can finally: Open two files side by side Open as many shells as you'd like Remove tools you don't need to use
Thu, Aug 4, 2022My Experience as a Replit Design Intern
Hi! Hi! My name is Clément, aka Bookie0, and I'm a 15 year old high school student from New York City. This summer, I had the awesome experience of being one of Replit's first Design interns! In this blog post, I'm going to talk about what I did and accomplished as well as what I've learnt during my internship. What I accomplished As an intern, you might think that my role was to just sit around all the time and observe the team do stuff – that was part of what I did, but most of the time I was actually actively working on real-world problems. So, what did I do exactly? As a designer, part of my role was to design Replit's interface: this means choosing where elements (like text, buttons, icons) are placed, the layout of a page, what colors to use, and much more.
Tue, Aug 2, 2022Zero-Click Auth For Your Apps
Picture this: you've built an arcade game on Replit. Gamers playing your game will head to the repl's cover page and click "Run". They love your game, and they send you feature requests and ideas in the comments. Now, you want to keep track of high scores and add other social features to your game. This used to be a show-stopper: there was no way to verify the API requests coming in, so your high-score feature was either easy to spoof, or simply didn't get off the ground. We're rolling out Repl Identity to solve this. Cover Page Runs When you click "Run" on a repl's cover page, we create what we call a "guest fork" in the background. For all intents and purposes, this is just like you clicked "Fork" on the repl - but it's ephemeral and gets cleaned up when you're finished running that repl. These stateless guest forks make the cover page experience work, but a side effect is that they don't have secrets and they don't share certain resources (like the Repl Database). That's good for you: a user running a guest fork can't get a shell and view all of your secrets! However, this functionality makes it hard to figure out how to authenticate a cover page run to any of your other repls that do have the secrets. An isolated Repl DB means no data sharing. No secrets means no access to APIs or authentication keys. That's made it significantly harder to build multiplayer, social, or just user-oriented experiences in applications running in the cover page, because they are so isolated. That's what Repl Identity is for.
Sun, Jul 31, 2022Template Jam 2022 — Phase 2 Winners
We are now finished calculating the winners for the second phase of the contest using a super-secret formula that measures community reception! You can check out all the phase 1 winners here, which were hand-selected by a group of judges. Phase 2 Winners—$5000 We are proud to announce the following templates as winners of the second phase of Template Jam 2022, as decided by the community! Note: we made a couple corrections as we found out a couple of the templates did not run

