Settings

Theme

Show HN: CodeMic

codemic.io

52 points by seansh 2 months ago · 29 comments · 1 min read

Reader

With CodeMic you can record and share coding sessions directly inside your editor.

Think Asciinema, but for full coding sessions with audio, video, and images.

While replaying a session, you can pause at any point, explore the code in your own editor, modify it, and even run it. This makes following tutorials and understanding real codebases much more practical than watching a video.

Local first, and open source.

p.s. I’ve been working on this for a little over two years and would love to hear your thoughts.

Bishonen88 2 months ago

I know I've seen something like this on hackernews before. SaaS for taking over the IDE at any point of a recording, just without the video.

EDIT: https://news.ycombinator.com/item?id=28207662

Seems this but with a slightly different spin?

EDIT2: Gave it a go. Works as intended, so good job on that. The video being a video, makes it a bit awkward though - if I stop the recording and edit some part, I'd want to see the changes live, but for that I guess I'd have to start the server myself? And when I hit play, my changes got deleted anyway (?).

As for the usefulness aspect, personally I am not sure that this has a benefit over e.g. watching youtube tutorials/following books. I watched one of the videos and I'd have to concentrate on the video, the text and audio at the same time, and it wouldn't be me typing the code anyway, so I'm not sure how much I'd remember of it. I'd have to stop, open a new project and try to rewrite it myself to memorize the concepts deeper. But that's just my personal take - might be that there's a big userbase for such interactive learning!

  • seanshOP 2 months ago

    > As for the usefulness aspect, personally I am not sure that this has a benefit over e.g. watching youtube tutorials/following books.

    I do like YouTube video tutorials, but only as long as they're short. Watching Handmade Hero (by Casey Muratori) for example was a little frustrating: the videos are long, the codebase is large, things are moving fast, and I'd get lost.

    I often wished I could pause the video to look up the definition of a function, or get an overview of when each file/line was edited and jump straight to that point.

    Books/blogs are ok for explaining large codebases that already exist, but not for following a project as the code constantly changes. The book Crafting Interpreters did a really good job there, but that's really rare and hard to do.

    I think CodeMic could be useful for this kind of long-form tutorials.

  • seanshOP 2 months ago

    I think you mean Scrimba. Yes, it's similar in the sense that in both tools, when you're playing back a recording, you're not looking at the code as a video. But instead the code is there as text. You can pause the recording, look at the files in the project, scroll up and down the editor etc.

    The difference is that CodeMic records and replays inside your editor, not on the web. Currently, only VSCode is supported, but the output is independent of VSCode, making it easy to bring it to other editors and even the web.

    Another difference is that CodeMic is not focused on web development or any particular stack. It's more general.

small_model 2 months ago

Coding session these days is someone typing into Claude Code and waiting. I think this would have been a decent idea a few years ago. Humans typing code into an editor is going to be as rare as debugging assembly.

  • newswasboring 2 months ago

    This has huge potential as an education tool. People still have to learn how to code. A person who doesn't cannot achieve shippable products even with Claude code.

    • ljm 2 months ago

      There are a lot of situations at work where posting a confluence page or a markdown doc on slack doesn't really get any traction, but a mob session does as you can step through things.

      Something like this might be a good middle ground (can't interrupt with questions, but can still step through changes). That said, I usually write a script and spin up Loom as the 5 minute limit forces me to keep it tight.

    • small_model 2 months ago

      I disagree, and even more so in the future. Programming languages will become a relic of the past. I think LLMs will just create binary from spec/tests/

      • newswasboring 2 months ago

        Why do you think this? I don't see a pathway for a language model to create binaries directly. Is someone working on this?

        • small_model 2 months ago

          I mean the code would be intermediate and not really kept around. Code could be any language llm would choose best depending on requirements.

          • f311a 2 months ago

            You are living in a fantasy. We are nowhere near this, and engineers who understand fundamentals very well are the ones in demand.

            • small_model 2 months ago

              We will see, I still think we will need engineers who understand fundamentals, and yes we need to teach new devs these like we teach them how assembly, computer architecture works, even though we likely don't build our own compilers or hardware. But as time goes on there is less need to know about the lower levels.

          • newswasboring 2 months ago

            This is a trap. If you don't have control over your code you dont have control over the product. Someone, somewhere in the stack needs to understand how everything works.

  • seanshOP 2 months ago

    I made CodeMic for those who love to write code by hand and understand code written by hand. It's my little sanctuary from AI.

    You may very well be right about the future. I won't argue. I just love the art of programming :)

Imustaskforhelp 2 months ago

Kudos for actually making it open source.

https://github.com/computing-den/CodeMic

Wishing you luck for this project!

eddyg 2 months ago

Somewhat related (and seems like a lot of folks don't know about) is VS Code's "Code Tour" feature: https://github.com/microsoft/codetour

The best part is the ability to easily edit, delete, and re-order "tour points".

Tours can either be checked into the repo or exported to a "tour file" to allows anyone to replay the same tour (without having to clone any code to do it!)

exceptione 2 months ago

Interesting concept, had never seen something like this. Demo video was short and to the point, well done!

yurii_l 2 months ago

Already waiting on twitch ASMR coders that will use your tool =)

catchmeifyoucan 2 months ago

This looks great! I'm trying to open a video to test it out. My VSCode seems to open, but the session doesn't launch. Am I missing something?

cgonzar3 2 months ago

Looks like a great idea, specially for learning

mikemarsh 2 months ago

> A sanctuary from AI and vibe coding, focused on human engineering

Big fan of this project for this reason alone. I hope over the next few years we'll see this more and more not just as an implementation detail, but a public branding sentiment that like-minded coders, consumers or even (if we're living in fantasy-land) business clients can rally behind.

  • seanshOP 2 months ago

    Thank you. I’d love to spend some time studying the codebases of projects I admire like sqlite, luajit, or whatever Fabrice Bellard has a hand in, and try to find something interesting about them to share with everyone through CodeMic. There's so much to learn from human engineers of that caliber.

    • mikemarsh 2 months ago

      That's a great idea; a good chunk of interesting software design discussion has been crowded out by "here's how to better beg the machine to do the right thing", rather than discussing amongst ourselves what the "right thing" even is in various circumstances.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection