
History++ - A Better Way to Do Versioning
Every edit leaves a trail. How Replit turns its multiplayer editing log into file history you can browse without making a commit.
Technical insights from the people building Replit.

Every edit leaves a trail. How Replit turns its multiplayer editing log into file history you can browse without making a commit.

Is that high-score submission really from your game? Repl Identity gives programs a signed identity so your API can check who’s calling.

Good projects shouldn’t disappear in a busy feed. How we built a community feed to help people follow friends and discover new work.

GitHub imports were stuck on an older setup while the rest of Replit moved to Nix. Fixing that made imports faster and simpler.
Inspect a page and debug JavaScript without leaving Replit, even on mobile. The permissions, security, and timing challenges behind our built-in DevTools.

Dragging and resizing panes sounds simple until the data structure gets in the way. What our workspace layout taught us about UI abstractions.

Moving compute closer to users started with separating the control and data planes. Inside the infrastructure refactor that made global routing possible.

Connect root domains, link multiple addresses, and troubleshoot DNS more easily. A closer look at the changes to custom domains on Replit.
Moving fast left some rough edges in the editor. Here’s where we’re focusing on fixes, performance, and the feedback that shapes both.

How the Dirty Pipe Linux vulnerability affected Replit, what we did to address it, and why we found no evidence of successful exploitation.

Why we moved from Monaco to CodeMirror 6, what the new architecture makes possible, and what it took to switch editors.

One package system for every new project: how moving to Nix brought faster Python startups, newer runtimes, and more control over your environment.

What it took to bring persistent files in hosted apps to everyone: a gradual rollout, better monitoring, and a few infrastructure optimizations.

Reinstalling packages at every startup made Python projects painfully slow. How a new template cut that wait and made room for larger dependencies.

What do the CPU, memory, and storage meters actually tell you? A guide to reading resource usage and understanding why a project slows down.

Rebuilding the mobile web IDE meant changing how it worked, not just how it looked. Why that matters for people who code on phones.

Moving a live website means more than moving servers. How we brought Replit’s databases, caches, and frontend from Heroku to Google Cloud.

Seven avatar components were a sign we needed a design system. The CSS tradeoffs and API decisions behind building RUI.

Add your own tools, configure how code runs, and share the setup as a template. A look at making Replit more customizable.

We compare and contrast the top code editors that you use in your browser.

Nix and Docker both tackle the works-on-my-machine problem, but in different ways. A practical comparison of their approaches to reproducible environments.

Build your own corner of the social web with Mastodon. This walkthrough covers the databases, server configuration, and installation on Replit.

Hosted apps need to save files even when the editor is closed. How file persistence opened up uploads, SQLite databases, and more.

What if running code didn’t mean waiting for packages to install? Why we’re backing Nix, and putting $25,000 behind it.

Write and test Ethereum smart contracts in your browser. A tour of Replit’s Solidity template and the engineering behind it.
No matching posts.