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 to Icon for 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

    One chilly Friday morning, I found myself scrolling through TikTok when I stumbled upon a broker that seemed too good to be true. The scammers claimed they were offering pool investments for Bitcoin investors, allowing individuals to choose from various packages to invest. They provided videos of real trades and impressive profit-and-loss (PNL) screenshots, showcasing their success and enticing me to join in. Their polished presentations and persuasive tactics made it easy to believe that I was on the brink of significant earnings. Eager to replicate their success, I invested $96,300, convinced that I was making a smart financial decision; it didn’t take long for the reality to set in. I tried to reach the broker for updates, but communication slowed down. My messages went unanswered, and the once vibrant community I had joined became eerily silent. It soon dawned on me that I was dealing with a fake broker. The scammers vanished, taking my funds with them, leaving me feeling anxious, helpless, and utterly betrayed. I reached out to friends for advice. One of them recommended TechY Force Cyber Retrieval, a team specializing in recovering lost funds from scams. Skeptical but hopeful, I decided to give TechY Force Cyber Retrieval a try. That turned out to be the best decision I could have made. Their team acted swiftly, thoroughly investigating my situation. TechY Force Cyber Retrieval was professional, empathetic, and dedicated to helping me recover my money. Throughout the process, TechY Force Cyber Retrieval kept me informed, providing updates and reassurance when I needed it most. They meticulously analyzed the details of my case and employed effective strategies to track down my lost funds. TechY Force Cyber Retrieval not only helped me recover my lost $96,300 but also the promised profits that had initially lured me in. I was absolutely thrilled and incredibly relieved to see my funds returned. This taught me a valuable lesson about the importance of being cautious in the world of online bitcoin trading. I realized that while scams can happen to anyone, there is hope for recovery with the right support. If you’ve ever been scammed or are struggling to withdraw your investments from a broker, I highly recommend TechY Force Cyber Retrieval. They are experts in fund recovery and can assist you in regaining what you've lost. Their approach and dedication to client success are truly unparalleled. Don’t let a scam define your financial future; seek help from TechY Force Cyber Retrieval and take action. You deserve to reclaim your hard-earned money.

    WhatsApp +.1.5.6.1.7.2.6.3.6.9.7

    Telegram +.1.5.6.1.7.2.6.3.6.9.7

  4. 1

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

  5. 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

  6. 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.

  7. 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

  8. 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!

  9. 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

  10. 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!

  11. 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

  12. 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!

  13. 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!

  14. 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!

  15. 1

    its a good projects i have checked it out good work

  16. 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!