27
30 Comments

I built a browser-based editor for Python, HTML, Javascript, CSS, SQL & Lua (and it actually works)

I got tired of setting up local environments just to test a quick script or a SQL query.

So I built Pterocos (https://pterocos.eu.org). It’s a free online editor that supports:

  • Python

  • SQL (SQLite & DuckDB)

  • Lua

  • HTML/CSS/JS

It runs entirely in the browser—no installation, no "works on my machine" excuses.

The tech challenge: Getting DuckDB and Python to play nicely in the browser was harder than I thought, but I finally cracked it.

I’d love your feedback on:

  1. The landing page copy

  2. What’s the one feature you’d need to switch from Replit/CodePen?

Check it out here: Pterocos.eu.org


posted toAvatar for product Pterocos
Pterocos
  1. 2

    On the "what makes me switch" question: nobody switches tools on a feature comparison, they switch in the 10 seconds they actually have the problem and your tool is the fastest path through it. So don't try to match Replit feature for feature, you will lose that race. Pick the one job you're clearly fastest at (running a quick SQL query in-browser with zero setup is the strongest candidate) and own that moment completely. The no-signup shareable links are also a distribution channel hiding in plain sight: if those pages get indexed, every shared snippet becomes a doorway back to the editor. That is a big part of how CodePen grew.

    1. 1

      Thanks for your advice!

  2. 1

    You asked about the landing page copy, so I looked at it from a slightly different angle first: whether people even get to read it.

    I ran a Lighthouse speed test, and it couldn't give a score at all. It failed with an error called NO_FCP. In plain words, the page never drew anything on screen during the test, it timed out. So before anyone reads your copy, a lot of them are staring at a blank screen.

    The good news is your server is fast (46ms), and your SEO and accessibility scores are high. So this isn't a hosting problem. It's the browser having too much to do at once.

    And here's the irony. The thing you're proud of is part of the cause. Getting DuckDB and Python to run in the browser is genuinely hard, and you cracked it. But right now all of it loads the moment the page opens, before a single pixel is drawn. That's the Monaco editor, DuckDB (WASM), Cloudflare Turnstile, and two big scripts written straight into the page (about 77KB and 56KB). The site also runs on WordPress, which adds more weight like the emoji loader, feeds, oembed and xmlrpc. On a normal laptop that's a few seconds of blank screen, and that's likely costing you visitors before they read a word.

    So my real feedback on the copy is this: protect the copy by making sure it shows up instantly. A few steps, roughly in order:

    1. Show a simple page first. Load basic HTML and CSS with your headline and copy right away, then start the editor after. Don't make "people can read the page" wait for "editor is ready."

    2. Load the heavy parts only when needed. DuckDB, Python, Monaco and Lua don't need to load until someone opens or runs code. Load them on click, on demand, as needed.

    3. Move the two big inline scripts into separate files and add defer, so they stop blocking the page from drawing.

    4. Drop the WordPress extras you don't use. The emoji script, feeds, oembed and xmlrpc are just dead weight for a tool like this.

    Do 1 and 3 and your copy shows up fast, and the speed test will start giving a real score. After that the wording itself is worth a second pass. Glad to look at the actual copy once it loads quickly.

  3. 1

    Great website. The AI builder functionlaity is fine. and the layout looks great. keep going

  4. 1

    Interesting. The hard part here usually isn’t the editor — it’s reliability + performance when things get slightly complex.
    What’s your strategy for keeping execution fast and consistent across all these runtimes in-browser?

    1. 1

      Thanks it's keeping everything clean

  5. 1

    The "everything runs client-side" part is your real moat — I'd lean into it harder than the feature list. Two concrete ideas: (1) Make the landing page itself a live editor with a pre-filled snippet that runs in one click. For a zero-setup tool, letting people RUN something before reading anything beats any copy you could write. (2) Turn "no signup" into a privacy angle, not just convenience — "your code never leaves your browser" is a real reason data/SQL folks would trust it over a cloud IDE. Pair that with a shareable URL that encodes the project state (so sharing still needs no account) and you've answered the Replit/CodePen switch question at the same time. Getting Pyodide + DuckDB to cooperate is the hard part and you nailed it — nice work.

  6. 1

    yooo! this looks super cool! I just launched Crato (project-first social network for founders) and i'd love to have you over to post your project!

    1. 1

      Thanks and Yeah i'll if you tell me more details

  7. 1

    Hi, congrats on launch. I really liked the idea and instantly decided to give it a try - setting up proper python version or nvm/node is a known pain. I have no idea how you've managed to run python and duckdb in browser. Do you use WASM for it? The editor is fine and works smoothly, only thing i didn't like too much was UI for the 'Projects' part. It felt like it was a little rushed and inconsistent with the editor. Otherwise great job!

  8. 1

    I like the page. The product is really impressive, I have been looking at DuckDB and never thought it could be used in that way. What would be your sales pitch for this product?

    1. 1

      Thanks and as for your question i didn't decide yet

  9. 1

    This is pretty impressive, especially getting Python and DuckDB running smoothly in the browser. The biggest thing that stands out is that you're solving a real annoyance sometimes you just want to test an idea without spending 10 minutes setting up an environment.

    A couple of thoughts:

    • The landing page could lead more strongly with the core value proposition: "Run Python, SQL, Lua, and web code instantly in your browser."

    • I'd add a few example use cases (quick data analysis, SQL testing, coding interviews, learning to code) so visitors immediately understand when they'd use it.

    • To make me switch from Replit or CodePen for quick experiments, I'd want shareable links/projects and the ability to save snippets without creating an account.

    Overall, the fact that everything runs locally in the browser is a strong differentiator. Nice work and good luck with the launch!

    1. 1

      Thanks for your feedback!

  10. 1

    This is super clean! As a fellow frontend developer working with Tailwind and JS utilities right now, I love seeing lightweight browser tools. The UI layout looks great. How long did it take you to handle the syntax highlighting?

    1. 1

      Thanks for your feedback and i dont the time honestly i spent

  11. 1

    Running DuckDB and Python entirely in-browser is seriously impressive—I’m assuming you used WebAssembly / Pyodide for this? That’s a notoriously tricky integration to get right.

    Regarding your question on what would make me switch from Replit:
    Replit has gotten incredibly bloated and aggressive with its paywalls lately. If Pterocos can stay ultra-lightweight, super fast, and offers a simple, one-click shareable link with the code state saved, it would easily become my default scratchpad for testing quick Python/SQL snippets.

    Keep the UI minimal and fast. Great build, man!

  12. 1

    Spent more time fighting environments than writing code more times than I’d like to admit 😅

    The idea of opening a tab and just running a quick Python script or SQL query is surprisingly appealing. Will check it out.

    1. 1

      Looks interesting!

  13. 1

    this is pretty useful tbh. i’ve definitely had those moments where i just wanted to test a quick sql query or a tiny python snippet and somehow ended up fighting with setup instead , the sqlite + duckdb support is probably the most interesting part to me, feels like it could be useful for more than just basic code snippets . who are you mainly building this for right now like beginners, devs who need a quick scratchpad, or data people? feels like the landing page might hit harder if it focused on one of those use cases first

    1. 1

      Thanks for your feedback! and we'll improve the landing page by the time!

  14. 1

    its a good projects i have checked it out good work

  15. 1

    This looks amazing! Getting DuckDB and Python to run smoothly entirely in the browser is no small feat—congrats on cracking that tech challenge.

    To answer your question about switching from Replit/CodePen: the number one feature that would make me use Pterocos regularly for quick scripts is the ability to easily import common third-party packages (like requests or pandas for Python) right inside the browser environment without complex configurations. Love the frictionless, no-signup approach!