frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: PyTogether, open-source lightweight real-time Python IDE for teachers

https://pytogether.org/
3•JawadR•11h ago
Google Docs for Python basically. For the past 4 months, I’ve been working on a full-stack project I’m really proud of called PyTogether; a real-time collaborative Python IDE designed with beginners in mind (think Google Docs, but for Python). It’s meant for pair programming, tutoring, or just learning Python together. It’s completely free. No subscriptions, no ads, nothing. Just create an account, make a group, and start a project. Has proper code-linting, live drawings for note-taking or teaching, voice chat, an extremely intuitive UI, autosaving, and live cursors. There are no limitations at the moment (except for code size to prevent malicious payloads).

Why build this when Replit or VS Code Live Share already exist?

Because my goal was simplicity (and education). I wanted something lightweight for beginners who just want to write and share simple Python scripts (alone or with others), without downloads, paywalls, or extra noise. There’s also no AI/copilot built in, something many teachers and learners actually prefer. Also its free lol

Tech stack (frontend): React + TailwindCSS CodeMirror for linting Y.js for real-time syncing and live cursors Skulpt to execute Python in the browser (for safety - I initially wanted Docker containers, but that would eat too much memory at scale. Skulpt has a limited library, so unfortunately imports like pygame wont work). I don’t enjoy frontend or UI design much, so I leaned on AI for some design help, but all the logic/code is mine. Deployed via Vercel.

Tech stack (backend): Django (channels, auth, celery/redis support made it a great fit) PostgreSQL via Supabase JWT + OAuth authentication Redis for channel layers + caching Fully Dockerized + deployed on a VPS (8GB RAM, $7/mo deal)

Data models: Users <-> Groups -> Projects -> Code Users can join many groups Groups can have multiple projects Each project belongs to one group and has one code file (kept simple for beginners, though I may add a file system later).

There were a lot of issues I came across when building this project, especially related to the backend. My biggest issue was figuring out how to create a reliable and smart autosave system. I couldn't just make it save on every user keystroke because for obvious reasons, that would overwhelm the database especially at scale. So I came up with a solution that I am really proud of; I used Redis to cache active projects, then used Celery to loop through these active projects every minute and then persist the code to the db. I did this by tracking a user count for each project everytime someone joins or leaves, and if the user count drops to 0 for a project, remove it from Redis (save the code too). Redis is extremely fast, so saving the code on every keystroke is not a problem at all. I am essentially hitting 4 birds with one stone with this because I am reusing Redis, which I've already integrated into my channel layers, to track active projects, and to also cache the code so when a new user enters the project, instead of hitting the db for the code, it'll get it from Redis. I even get to use Redis as my message broker for Celery (didn't use RabbitMQ because I wanted to conserve storage instead of dockerizing an entirely new service). This would also work really well at scale since Celery would offload the task of autosaving a lot of code away from the backend. The code also saves when someone leaves the project. Another issue I came across later is if people try sending a huge load of text, so I just capped the limit to 1 MB (will tinker with this).

Deployment on a VPS was another beast. I spent ~8 hours wrangling Nginx, Certbot, Docker, and GitHub Actions to get everything up and running. It was frustrating, but I learned a lot.

If you’re curious or if you wanna see the work yourself, the source code is here. Feel free to contribute: https://github.com/SJRiz/pytogether.

I’m still learning, so any feedback would be amazing (and contributions)!

Show HN: a Rust ray tracer that runs on any GPU – even in the browser

https://github.com/tchauffi/rust-rasterizer
6•tchauffi•48m ago•0 comments

Show HN: An agent for every website, for agentic visitors

https://web.ai/
2•kjok•45m ago•1 comments

Show HN: Centia.io – Open PostgreSQL/PostGIS back end for developers

https://centia.io/
16•mhoegh•1w ago•4 comments

Show HN: I built an AI that generates full-stack apps in 30 seconds

7•TulioKBR•2h ago•10 comments

Show HN: Serie – A rich Git commit graph in your terminal

https://github.com/lusingander/serie
4•lusingander•5h ago•0 comments

Show HN: Safebox: Open-source framework for managing self-hosted apps (Beta)

2•drebora•4h ago•0 comments

Show HN: Anki-LLM – Bulk process and generate Anki flashcards with LLMs

https://github.com/raine/anki-llm
52•rane•1d ago•21 comments

Show HN: Strange Attractors

https://blog.shashanktomar.com/posts/strange-attractors
779•shashanktomar•2d ago•75 comments

Show HN: Why write code if the LLM can just do the thing? (web app experiment)

https://github.com/samrolken/nokode
427•samrolken•1d ago•309 comments

Show HN: Give your coding agents the ability to message each other

https://github.com/Dicklesworthstone/mcp_agent_mail
11•eigenvalue•16h ago•1 comments

Show HN: Pipelex – Declarative language for repeatable AI workflows

https://github.com/Pipelex/pipelex
120•lchoquel•5d ago•26 comments

Show HN: DeepFake – Free AI Face Swap Online

https://deepfakefusion.com
3•epistemovault•10h ago•3 comments

Show HN: PyTogether, open-source lightweight real-time Python IDE for teachers

https://pytogether.org/
3•JawadR•11h ago•0 comments

Show HN: goilerplate – A SaaS boilerplate for Go and templ and Htmx

https://goilerplate.com/
3•axadrn•4h ago•0 comments

Show HN: In a single HTML file, an app to encourage my children to invest

https://roberdam.com/en/dinversiones.html
247•roberdam•4d ago•434 comments

Show HN: Duper – The Format That's Super

https://duper.dev.br/
30•epiceric•1d ago•14 comments

Show HN: I built a Raspberry Pi webcam to train my dog (using Claude)

https://github.com/harshibar/yogi-cam
5•hyerramreddy•14h ago•0 comments

Show HN: A simple drag and drop tool to document and label fuse boxes

https://github.com/alexadam/fuse-box-labels
25•eg312•3d ago•6 comments

Show HN: Quibbler – A critic for your coding agent that learns what you want

https://github.com/fulcrumresearch/quibbler
114•etherio•3d ago•27 comments

Show HN: GT: experimental multiplexed distributed tensor framework

https://github.com/bwasti/gt
3•brrrrrm•15h ago•0 comments

Show HN: Giving AI to your favorite whiteboard, Excalidraw

https://www.opencanvas.studio
5•winzamark12•16h ago•0 comments

Show HN: Learn German with Games

https://www.learngermanwithgames.com/
125•predictand•5d ago•106 comments

Show HN: KeyLeak Detector – Scan websites for exposed API keys and secrets

https://github.com/Amal-David/keyleak-detector
26•amaldavid•1d ago•7 comments

Show HN: Chatolia – create, train and deploy your own AI agents

https://www.chatolia.com
4•blurayfin•17h ago•1 comments

Show HN: Run a GitHub Actions step in a gVisor sandbox

https://github.com/geomys/sandboxed-step
85•FiloSottile•1w ago•3 comments

Show HN: UnisonDB – Log-native KV database that replicates like a message bus

https://unisondb.io
16•ankuranand•1d ago•0 comments

Show HN: I built a smart blocker after destroying my dopamine baseline

https://chromewebstore.google.com/detail/memento-mori/fhpkanfhfplcfpmklplbbenimajbahim
17•Rahul07oii•20h ago•6 comments

Show HN: Front End Fuzzy and Substring and Prefix Search

https://github.com/m31coding/fuzzy-search
56•kmschaal•5d ago•4 comments

Show HN: Auto-Adjust Keyboard and LCD Brightness via Ambient Light Sensor[Linux]

https://github.com/donjajo/als-led-backlight
3•donjajo•1d ago•0 comments

Show HN: I made a heatmap diff viewer for code reviews

https://0github.com
263•lawrencechen•4d ago•68 comments