frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: I built a space travel calculator using Vanilla JavaScript

https://cosmic-odometer.vercel.app/
37•captainnemo729•2h ago•22 comments

Show HN: Coi – A language that compiles to WASM, beats React/Vue

70•io_eric•3d ago•27 comments

Show HN: Giving Claude Code "hands" to deliver local files (P2P, No Cloud)

https://github.com/nuwainfo/ffl-mcp
2•bear330•37m ago•1 comments

Show HN: Whosthere: A LAN discovery tool with a modern TUI, written in Go

https://github.com/ramonvermeulen/whosthere
253•rvermeulen98•1d ago•85 comments

Show HN: Jar.tools – online Jar file opener

https://jar.tools/
3•Igor_Wiwi•2h ago•1 comments

Show HN: Zsweep – Play Minesweeper using only Vim motions

https://zsweep.com
76•oug-t•5d ago•32 comments

Show HN: isometric.nyc – giant isometric pixel art map of NYC

https://cannoneyed.com/isometric-nyc/
1282•cannoneyed•1d ago•232 comments

Show HN: A self-hosted collaborative viewer for pathology slides (Rust, WebGL2)

https://github.com/PABannier/PathCollab
3•el_pa_b•3h ago•0 comments

Show HN: Text-to-video model from scratch (2 brothers, 2 years, 2B params)

https://huggingface.co/collections/Linum-AI/linum-v2-2b-text-to-video
149•schopra909•1d ago•24 comments

Show HN: New 3D Mapping website - Create heli orbits and "playable" map tours.

https://www.easy3dmaps.com/gallery
29•dobodob•19h ago•15 comments

Show HN: S2-lite, an open source Stream Store

https://github.com/s2-streamstore/s2
74•shikhar•2d ago•18 comments

Show HN: BrowserOS – "Claude Cowork" in the browser

https://github.com/browseros-ai/BrowserOS
83•felarof•1d ago•34 comments

Show HN: I've been using AI to analyze every supplement on the market

https://pillser.com/
85•lilouartz•1d ago•46 comments

Show HN: Open-source Figma design to code

https://github.com/vibeflowing-inc/vibe_figma
5•alepeak•6h ago•0 comments

Show HN: Interactive physics simulations I built while teaching my daughter

https://www.projectlumen.app/
84•anticlickwise•5d ago•21 comments

Show HN: ZTerm, a GPU-accelerated terminal emulator built with Rust and GPUI

https://github.com/zerx-lab/zTerm
2•zero-lab•7h ago•1 comments

Show HN: Teemux – Zero-config log multiplexer with built-in MCP server

https://teemux.com/
10•gajus•20h ago•7 comments

Show HN: Sweep, Open-weights 1.5B model for next-edit autocomplete

https://huggingface.co/sweepai/sweep-next-edit-1.5B
526•williamzeng0•2d ago•150 comments

Show HN: Txt2plotter – True centerline vectors from Flux.2 for pen plotters

https://github.com/malvarezcastillo/txt2plotter
33•tsanummy•4d ago•8 comments

Show HN: Synesthesia, make noise music with a colorpicker

https://visualnoise.ca
37•tevans3•2d ago•13 comments

Show HN: Rails UI

https://railsui.com/
204•justalever•2d ago•110 comments

Show HN: Mastra 1.0, open-source JavaScript agent framework from the Gatsby devs

https://github.com/mastra-ai/mastra
213•calcsam•3d ago•69 comments

Show HN: Flux, A Python-like language in Rust to solve ML orchestration overhead

https://github.com/cmc-labo/flux
5•hpscript•10h ago•3 comments

Show HN: Obsidian Workflows with Gemini: Inbox Processing and Task Review

https://gist.github.com/juanpabloaj/59bc13fbed8a0f8e87791a3fb0360c19
14•juanpabloaj•18h ago•4 comments

Show HN: First Claude Code client for Ollama local models

https://github.com/21st-dev/1code
44•SerafimKorablev•1d ago•23 comments

Show HN: ChartGPU – WebGPU-powered charting library (1M points at 60fps)

https://github.com/ChartGPU/ChartGPU
664•huntergemmer•2d ago•211 comments

Show HN: Bible translated using LLMs from source Greek and Hebrew

https://biblexica.com
52•epsteingpt•1d ago•66 comments

Show HN: 83 browser-use trajectories, visualized

https://trails-red.vercel.app/viewer
7•wayy•16h ago•1 comments

Show HN: yolo-cage – AI coding agents that can't exfiltrate secrets

https://github.com/borenstein/yolo-cage
59•borenstein•2d ago•74 comments

Show HN: CLI for working with Apple Core ML models

https://github.com/schappim/coreml-cli
47•schappim•1d ago•5 comments
Open in hackernews

Show HN: Coi – A language that compiles to WASM, beats React/Vue

69•io_eric•3d ago
I usually build web games in C++, but using Emscripten always felt like overkill for what I was doing. I don't need full POSIX emulation or a massive standard library just to render some stuff to a canvas and handle basic UI.

The main thing I wanted to solve was the JS/WASM interop bottleneck. Instead of using the standard glue code for every call, I moved everything to a Shared Memory architecture using Command and Event buffers.

The way it works is that I batch all the instructions in WASM and then just send a single "flush" signal to JS. The JS side then reads everything directly out of Shared Memory in one go. It’s way more efficient, I ran a benchmark rendering 10k rectangles on a canvas and the difference was huge: Emscripten hit around 40 FPS, while my setup hit 100 FPS.

But writing DOM logic in C++ is painful, so I built Coi. It’s a component-based language that statically analyzes changes at compile-time to enable O(1) reactivity. Unlike traditional frameworks, there is no Virtual DOM overhead; the compiler maps state changes directly to specific handles in the command buffer.

I recently benchmarked this against React and Vue on a 1,000-row table: Coi came out on top for row creation, row updating and element swapping because it avoids the "diffing" step entirely and minimizes bridge crossings. Its bundle size was also the smallest of the three.

One of the coolest things about the architecture is how the standard library works. If I want to support a new browser API (like Web Audio or a new Canvas feature), I just add the definition to my WebCC schema file. When I recompile the Coi compiler, the language automatically gains a new standard library function to access that API. There is zero manual wrapping involved.

I'm really proud of how it's coming along. It combines the performance of a custom WASM stack with a syntax that actually feels good to write (for me atleast :P). Plus, since the intermediate step is C++, I’m looking into making it work on the server side too, which would allow for sharing components across the whole stack.

Example (Coi Code):

component Counter(string label, mut int& value) {

    def add(int i) : void {
        value += i;
    }

    style {
        .counter {
            display: flex;
            gap: 12px;
            align-items: center;
        }
        button {
            padding: 8px 16px;
            cursor: pointer;
        }
    }

    view {
        <div class="counter">
            <span>{label}: {value}</span>
            <button onclick={add(1)}>+</button>
            <button onclick={add(-1)}>-</button>
        </div>
    }
}

component App { mut int score = 0;

    style {
        .app {
            padding: 24px;
            font-family: system-ui;
        }
        h1 {
            color: #1a73e8;
        }
        .win {
            color: #34a853;
            font-weight: bold;
        }
    }

    view {
        <div class="app">
            <h1>Score: {score}</h1>
            <Counter label="Player" &value={score} />
            <if score >= 10>
                <p class="win">You win!</p>
            </if>
        </div>
    }
}

app { root = App; title = "My Counter App"; description = "A simple counter built with Coi"; lang = "en"; }

Live Demo: https://io-eric.github.io/coi

Coi (The Language): https://github.com/io-eric/coi

WebCC: https://github.com/io-eric/webcc

I'd love to hear what you think. It's still far from finished, but as a side project I'm really excited about :)

Comments

hans2002•3d ago
Binary size alone got me interested. What's missing before 1.0?
merqurio•2h ago
Nice work ! Thanks for shating

It reminds me of https://leptos.dev/ in Rust, although the implementation might be very different

zedai00•2h ago
would love to try it soon!
orphea•2h ago
Did you compare with Svelte?
k__•1h ago
Came to ask this.

React and Vue aren't exactly known for their performance and Svelte does compile time optimizations.

embedding-shape•1h ago
Heh, not an argument against you or any point you made, today you are right. But when React first made an appearance, basically the two big selling points was 1) use same state in multiple places and 2) better performance.

Fun how with time, the core purpose of a library ever so slightly change :)

k__•1h ago
I mean, that was a decade ago and back in the day the only reasonable contenders were Angular and maaaaybe ExtJS.
embedding-shape•22m ago
Backbone.js, Knockout.js, Ember, Dojo, Prototype, YUI all were reasonable alternatives at the time. Although all with their own warts and highlights, as is tradition.
mirekrusin•29m ago
It appears in comparison chart on the linked page.
rthrfrd•1h ago
Sounds interesting!

But do you think it would be possible to achieve similar results without a new language, but with a declarative API in one of your existing languages (say, C++) instead?

If possible, that would remove a big adoption barrier, and avoid inevitably reinventing many language features.

io_eric•46m ago
A C++ library could wrap DOM APIs (WebCC already does this), but achieving a fine-grained reactive model purely in library code involves major trade-offs

A dedicated compiler allows us to trace dependencies between state variables and DOM nodes at compile-time, generating direct imperative update code. To achieve similar ergonomics in a C++ library, you'd effectively have to rely on runtime tracking (like a distinct Signal graph or VDOM), which adds overhead.

arendtio•1h ago
From a syntax perspective, I prefer the component syntax in Vue / Riot, which is HTML-like. That way, the general structure is clear, and you have to learn only the additional directives. As a bonus, syntax highlighting in most editors just works without an additional plugin.
cap11235•1h ago
https://www.gnu.org/software/stow/manual/stow.html If what you want is an orchestrated symlink farm, here's your dude.
gdotdesign•51m ago
It's nice to see that we are converging on the same syntax I came up for Mint (https://mint-lang.com) 8 years ago (feels strange to write it down). I saw Ripple some time ago its syntax has the same structure more or less (component, style, render, state, etc...)
written-beyond•17m ago
:O this is so cool how did I never run into it! The most different SPA framework I had seen so far was ELM.
gethly•41m ago
tl;dr wasm does not have access to dom, so i see no point in reading this.
iamsaitam•40m ago
This looks very interesting! Do you have any tips/pointers on how one could use Coi to generate a component and then integrate it into an existing project which uses a traditional Javascript framework?
frankhsu•38m ago
Gotta say the Shared Memory approach is genius. Finally someone's cutting down the clunky back-and-forth.
zigzag312•37m ago
Well, you claim to combine server interesting features. Type safety, small binary size, high performance, predictable performance (no GC). So, I'm interested how this will turn out.

For web small binary size is really important. Frameworks like Flutter, Blazor WASM produce big binaries which limits their usability on the web.

JS/TS complicates runtime type safety, and it's performance makes it not suitable for everything (multithreading, control over memory management, GC etc.)

I wonder how much/if no GC hurts productivity.

It looks like Coi has potential to be used for web, server and cross-platform desktop.

Since the intermediate step is C++ I have a question what this means for hot-reload (does that make it impossible to implement)?

written-beyond•33m ago
I think this genuinely might be the first time I'm seeing a language rework for UI's that actually makes sense and incorporates all that we've learned in the modern age about UI code.

What I am wondering is how language interop will work? The only way I see this growing is either you can easily import js libraries or you get a $100,000 dono and let Claude or any other LLM run for a few days converting the top 200 most used react packages to Coi and letting it maintain them for a few months until Coi's own community starts settling in.

I would love to use this for non web use cases though, to this date UI outside of the browser(native, not counting electron) is still doggy doo doo when compared to the JS ecosystem.

kccqzy•32m ago
> It’s a component-based language that statically analyzes changes at compile-time to enable O(1) reactivity. Unlike traditional frameworks, there is no Virtual DOM overhead

This itself is quite cool. I know of a project in ClojureScript that also avoids virtual DOM and analyzes changes at compile-time by using sophisticated macros in that language. No doubt with your own language it can be made even more powerful. How do you feel about creating yet another language? I suppose you think the performance benefits are worthwhile to have a new language?

bookofsleepyjoe•31m ago
Awwww.. another language.
skybrian•28m ago
This looks quite promising. How long does it take to compile?
progx•26m ago
I don't like this html-syntax, cause you use a separate syntax-methods for existing js-functions wrapped as html-tags:

  <if text.isEmpty()>
    <div class="preview-text empty">Start typing...</div>
  <else>
    <div class="preview-text">{text}</div>
  </else>
  </if>
As a JS/TS dev it feel unnatural to write language operations as html-tags. That is what i did not like in svelte too.

Here something that looks little more like PHP-Style, better separation, but too much to type:

  <?coi
  if (empty($text)) {
  ?>
    <div class="preview-text empty">Start typing...</div>
  <?coi
  } else {
  ?>
    <div class="preview-text">${text}</div>
  <?coi
  }
  ?>

Shorter with a $-func for wrapping html-content

  if (empty($text)) {
    $(<div class="preview-text empty">Start typing...</div>)
  } else {
    $(<div class="preview-text">${text}</div>)
  }
I don't know, has somebody a better idea?
gdotdesign•17m ago
It's perfectly fine to allow if in tags (the compiler can figure it out). In Mint you can do that no problem: https://mint-lang.com/sandbox/6lnZHiG8LVRJqA

    component Main {
      fun render : Html {
        <div>
          if true {
            <div>"Hello World!"</div>
          } else {
            <div>"False"</div>
          }
        </div>
      }
    }
publicdebates•10m ago
> It’s way more efficient, I ran a benchmark rendering 10k rectangles on a canvas and the difference was huge: Emscripten hit around 40 FPS, while my setup hit 100 FPS.

Just curious, what would the FPS be using native plain pure JavaScript for the same exact test?

amelius•6m ago
So the style and view parts work like f-strings in Python?

That's something I could live with.