Mon, Nov 4, 2024How we name things
What’s in a name? Well, a lot, but first and foremost: stress. Whether we’re naming our babies, pets, companies, or features, we tend to worry a lot about finding the perfect name. We know intuitively that a name will shape how something is perceived and even influence its direction going forward. And yet, this stress isn’t equally distributed. In business, people tend to think a lot about the names of the companies they’re building but leave each product and feature name up to whoever thinks of the best-sounding name first.
Fri, Oct 11, 2024Shell2: 200× faster, persisted, multiplayer-native Shells
What even is a terminal? Back when computers were still in their infancy, the “computer” usually was a big cabinet in the middle of a room. They typically exposed some internals via a front panel with lots of knobs and ports. Users would connect a terminal device (sometimes called a teletype or a TTY) to this front panel in order to input text and print the corresponding output. In the 1970s when microcomputers like the Apple I started becoming more mainstream, displays and keyboards started to be integrated into the computers themselves. The rise of the graphical user interface meant that the displays and keyboards weren’t just used for the terminals themselves but for various other graphical programs too. At some point, smart computer people thought “wait a minute, we can make a graphical program that just emulates what a terminal would have done anyways!” and thus the terminal emulator was born. In these emulators, the wires of the traditional TTY are replaced with pairs of file descriptors (an abstraction for a stream of bytes) known as the PTY (short for pseudo-TTY). Importantly for Replit, the PTY doesn’t use a serial port to connect the TTY to the computer which means we can operate a PTY remotely over a network!
Tue, Oct 8, 2024From localhost to live
If you have a body, you are an athlete. Bill Bowerman, Co-founder, Nike The title "programmer" was always reserved for those who code. So it make sense that shipping software is synonymous with, well... writing code. But is the hardest part about shipping really learning to code? I wish. The hardest part(s) are everything that lives between localhost and live. Today, we're seeing a new class of builders—the AI native developer. These users have some technical prowess and build through clever use of the latest tools. But the problem was never just writing code. Despite lower friction to code, roadblocks still exist. Where, you ask?
Mon, Sep 16, 2024Introducing Replit Agent
Last week, we launched Replit Agent, our AI system that can create and deploy applications. Now, with only a few sentences and a few minutes, you can take an application from idea to deployment. You can think about the Agent like a pair programmer. It configures your development environment, installs dependencies, and executes code. From your laptop or the Replit mobile app, the Agent is changing how our users build software. If you'd like to learn more, we've compiled some of our favorite examples, tutorials, and articles on the agent so far.
Mon, Aug 26, 2024Introducing Deployment Rollbacks
Deployment rollbacks are a new feature that allow you to quickly and confidently version your deployments. Rollbacks allow you to restore a previous successful deployment in one click: fix a broken build or a typo in seconds. A quick tour Let’s explore the new additions to the deployment experience. Rollback activation
Tue, Aug 20, 2024Rebranding Replit: Inspiration to Action
At Replit, AI isn’t merely a footnote to our work. Our mission is to democratize software development, and AI is a step change in our ability to do so. The scale of this change was so significant—both for our company and the industry at large—that we realized we had to explore and refine the Replit brand. We had a lot to say in a market that was becoming increasingly noisy. But we had a problem: The previous design didn’t quite capture the history of our industry or our company, and our brand needed to demonstrate both to communicate a compelling perspective. As we refined, we worked from two parallel histories: The history of Replit and the progress we’ve made helping software creators go from idea to software, and the history of computer science and the progress the entire industry has made, ranging from the earliest mainframes to the most powerful LLMs. We planted our starting point years before Replit was founded As we’ve built Replit, from its earliest versions to our current AI features, we benefited from the work of people before us. There’s a confidence and humility to knowing this, that we’re proud of our work and grateful for the work that made it possible, that we wanted to translate into our brand.
Wed, Aug 14, 2024How Replit makes sense of code at scale
Data privacy and data security is one of the most stringent constraints in the design of our information architecture. As already mentioned in past blog posts, we only use public Repls for analytics and AI training: any user code that's not public — including all enterprise accounts — is not reviewed. And even for public Repls, when training and running analyses, all user code is anonymized, and all PII removed. For any company making creative tools, being able to tell what its most engaged users are building on the platform is critical. When the bound of what’s possible to create is effectively limitless, like with code, sophisticated data is needed to answer this deceivingly simple question. For this reason, at Replit we built an infrastructure that leverages some of the richest coding data in the industry. Replit data is unique. We store over 300 million software repositories, in the same ballpark of the world’s largest coding hosts like GitHub and Bitbucket. We have a deeply granular understanding of the timeline of each project, thanks to a protocol called Operational Transformation (OT), and to the execution data logged when developers run their programs. The timeline is also enriched with error stack traces and LSP diagnostic logs, so we have debugging trajectories. On top of all that, we also have data describing the developing environment of each project and deployment data of their production systems. It’s the world’s most complete representation of how software is made, at a massive scale, and constitutes a core strategic advantage. Knowing what our users are interested in creating allows us to offer them focused tools that make their lives easier. We can streamline certain frameworks or apps. Knowing, for instance, that many of our users are comfortable with relational databases persuaded us to improve our Postgres offering; knowing that a significant portion of our most advanced users are building API wrappers pushed us to develop Replit ModelFarm. We can also discover untapped potential in certain external integrations with third-party tools, like with LLM providers. It informs our growth and sales strategy while supporting our anti-abuse efforts. And, of course, it allows us to train powerful AI models. Ultimately, this data provides us with a strong feedback loop to better serve our customers and help them write and deploy software as fast as possible. While all this is true, it’s also not an easy feat. Several challenges come with making the best use of this dataset, and all stem from the astronomical magnitude of the data. We store on Google Cloud Storage several petabytes of code alone, and our users edit on average 70 million files each day, writing to disk more than 1PiB of data each month. This doesn’t even consider OT data, and execution logs, both in the same ballpark for space taken and update frequency. Going from this gargantuan amount of raw programming files to answering the question “What is being built?”, all while being mindful of user privacy, is, well, hard.
Fri, Jul 19, 2024Introducing Replit Projects
We’re excited to announce Projects for Replit, a new way to collaborate with your team. This feature is in beta now, available to all Replit Teams customers. Projects let you maintain multiple versions of your team’s codebase and easily merge your changes together when you’re ready. Anyone on your team can “fork” (create a new copy of the code), make changes, preview what changed, and then merge those changes back into the main version with a few clicks. If you weren’t using Replit, it might take a new teammate hours to set up their local development environment, make their changes correctly, and get their code reviewed and merged. Why use Projects? As a team writing software, collaboration is important. Realtime coding or pair programming is useful, but sometimes you need your own space to work. If your whole team was working on their ideas in a realtime session at the same time, one person writing some invalid code would stop everyone else from being able to test their own code. And sometimes, you might want to test out an idea without knowing for sure if it’s the right approach, and be ready to scrap it if it doesn't work out.
Tue, Jul 16, 2024Introducing Replit Teams
In today's fast-paced work environment, using real-time collaboration tools like Google Docs and Figma comes naturally to most of us. As a result, we've come to expect a lot more from our tools. Yet, when it comes to building software, we often find ourselves stuck with tools built for a different era — tools that cause our teams to feel siloed, inefficient, and less collaborative overall. In decades past, the software development lifecycle looked like a rigid industrial process: product managers would hand off documents to designers, and designers would hand off mock-ups to engineers. Today, however, the process is much more fluid and cross-functional. Engineers contribute to design, product managers prototype, and designers code. Still, engineering tools have remained inaccessible to everyone except engineers, preventing meaningful contributions from other roles, and slowing everyone down. This led us to wonder: What would it look like to design software collaboration tools that truly meet the changing needs of 21st-century teams? Introducing Replit Teams Go from idea to software faster than ever before. Today, we’re announcing that Replit Teams is generally available and here to set a new standard for building software.
Mon, Jul 15, 2024SkillsEngine: Accelerating product & design with Replit Teams
Replit Teams transformed the SkillsEngine Product and Design team from a traditional no-code department to a prolific team that writes, shares, and ships code. In the process, the team unblocked engineering bottlenecks, improved prototype fidelity, shipped faster, and saved thousands of dollars and resources. "I have tried every no-code tool and AI app. I have been coding for nearly 15 years now. Nothing has sparked the creative code output that Replit has for me. I have coded more in the past 12 months than the previous 10 years because it makes it so easy to get started and just try stuff. We can just focus on building ideas.” - Max Miner, Executive Director of Product and Design SkillsEngine overview SkillsEngine develops data services and tools for employers, educators, and workforce interests. Employers use SkillsEngine data to confidently assess their workforce capabilities and hiring needs. Educators use features like skill-based job profiles to plan curricula that meet current job market needs. Challenges
Mon, Jul 1, 2024Improved Dependency Management
We recently revamped the dependency management experience in your Replit workspace. You can now use and configure multiple languages in one Repl. We’ve consolidated language support, packages, and system dependencies into one new Dependencies pane for beginners and experienced developers alike! System Dependencies and Modules At Replit, we want to make it as easy as possible to spin up a project in the language of your choice without spending too much time on configuration. But, sometimes you have more specific requirements! That’s where System Modules and Dependencies come into play, under the “System” tab. We support most programming languages by bundling language servers, formatters and packagers via System Modules. For example, for Python there’s the Python Tools module, for Node.js there’s the Node.js Tools module, and so forth. If you use a template or import a project via GitHub, we do our best to automatically install the modules you need. If you want to use additional languages, you can simply add Modules that suit your needs. Under the hood, system modules are powered by Nix.
Thu, Jun 6, 2024Announcing Replit Guides
Today, we are launching our first version of Replit Guides. Guides provide end-to-end content for learning new skills and building new applications. We are launching with an initial set of guides in partnership with some of the best in tech. Check out Replit Guides. Why Are We Launching Guides? Empower the next billion software creators. That’s the Replit mission. We continue to build an end-to-end development platform that allows people of all backgrounds, demographics, and skill levels to go from idea to software, fast. Platform updates and advances in our AI features are making Replit more powerful, while simultaneously lowering the barrier to entry.
Tue, May 21, 2024Using Replit to get our grandfather the daily baseball scores
A few weeks ago, I was having dinner with my in-laws, when my grandfather-in-law came marching over. I knew something was wrong. Mind you, he is not a complainer. He has a remarkable story. Born in Milwaukee. Military veteran. Worked in a meat-packing plant. Got into law school. Moved to California to teach at Stanford and practice law. Needless to say, when he has a problem, we listen. “I have a real conundrum. The SF Chronicle stopped including the baseball scores in the daily paper.”
Thu, May 2, 2024Introducing Object Storage
We’re excited to announce Replit Object Storage, a fast and durable way to persist files and other unstructured data. Object Storage ensures your data is resilient against data loss and usable across the Replit workspace and Deployments. It handles any number of processes reading and writing simultaneously, enabling your application to seamlessly add compute power and scale to handle extra requests. Our goal with Object Storage was to deliver a solution that enables you to start reading and writing files from your application as quickly as possible. We’ve designed the system to require minimal configuration and work out-of-the-box in both the workspace and Deployments. Object Storage excels at storing large amounts of unstructured data (think lots of files with varying shapes and sizes). It’s ideal for: Storing media assets such as images Persisting files uploaded by users such as PDF documents Flexible data storage that doesn’t require configuring a database such as CSV and JSON files
Fri, Apr 5, 2024Advanced port configuration
We recently spent a few months making ports easier to work with on Replit, so you can develop more complex apps predictably. What are ports? When a computer receives a TCP/UDP request, ports define which program that request should route to. (If you need a more basic explanation of TCP ports, start here). On a normal computer, you only have one layer of ports: your programs define a port that they listen to, and when traffic hits that port on your computer from the internet, it gets routed to the appropriate process. Some protocols have defined standard ports — for example, Simple Mail Transfer Protocol Secure (SMTPS), the email protocol, generally listens on port 587, and most web servers listen on either port 80 (HTTP, unencrypted) or port 443 (HTTPS, encrypted). You can think of ports like mailboxes. Imagine those big mailrooms in skyscrapers that ensure the mail lands in the right mailbox — the mail is the data being sent and received, and the mailboxes are the ports.

