frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Kumi – a portable, declarative, functional core for business logic

https://kumi-play-web.fly.dev/?example=monte-carlo-simulation
4•goldenCeasar•15h ago
Hi HN, I'm the author of Kumi, a declarative, statically-typed, array-oriented, compiled DSL for building calculation systems (think spreadsheets). It is implemented entirely in Ruby (3.1+) and statically checks everything, targets an array-first IR, and compiles down to Ruby/JS. I have been working on it for the past few months and I am curious what you think.

The linked demo covers finance scenarios, tax calculators, Conway's Game of Life (array ops), and a quick Monte Carlo walkthrough so you can see the zero-runtime codegen in practice. (The GOL rendering lives in the supporting React app; Kumi handles the grid math.)

The Original Problem:

The original idea for Kumi came from a complex IAM problem I faced at a previous job. Provisioning a single employee meant applying dozens of interdependent rules (based on role, location, etc.) for every target system. The problem was deeper: even the data abstractions were rule-based. For instance, 'roles' for one system might just be a specific interpretation of Active Directory groups and are mapped to another system by some function over its attributes.

This logic was also highly volatile; writing the rules down became a discovery process, and admins needed to change them live. This was all on top of the underlying challenge of synchronizing data between systems. My solution back then was to handle some of this logic in a component called "Blueprints" that interpreted declarative rules and exposed this logic to other workflows.

The Evolution:

That "Blueprints" component stuck in my mind. About a year later, I decided to tackle the problem more fundamentally with Kumi. My first attempts were brittle—first runtime lambdas, then a series of interpreters. I knew what an AST was, but had to discover concepts like compilers, IRs, and formal type/shape representation. Each iteration revealed deeper problems.

The core issue was my AST representation wasn't expressive enough, forcing me into unverifiable 'runtime magic'. I realized the solution was to iteratively build a more expressive intermediate representation (IR). This wasn't a single step: I spent two months building and throwing away ~5 different IRs, tens of thousands of lines of code. That painful process is what forced me to learn what it truly meant to compile, represent complex shapes, normalize the dataflow, and verify logic. This journey is what led to static type-checking as a necessary outcome, not just an initial goal.

This was coupled with the core challenge: business logic is often about complex, nested, and ragged data (arrays, order items, etc.). If the DSL couldn't natively handle loops over this data, it was pointless. This required an IR expressive enough for optimizations like inlining and loop fusion, which are notoriously hard to reason about with vectorized data.

You can try a web-based demo here: https://kumi-play-web.fly.dev/?example=monte-carlo-simulatio...

And the repo is here: https://github.com/amuta/kumi

Show HN: qqqa – a fast, stateless LLM-powered assistant for your shell

https://github.com/matisojka/qqqa
2•iagooar•8m ago•1 comments

Show HN: Flutter_compositions: Vue-inspired reactive building blocks for Flutter

https://github.com/yoyo930021/flutter_compositions
19•yoyo930021•4h ago•7 comments

Show HN: fx - A (micro)blogging server that you can self-host

https://github.com/rikhuijzer/fx
2•huijzer•49m ago•0 comments

Show HN: I made a MVP development agency and want your feedback on the site

https://mintmvp.com/
2•alwassikhan•3h ago•0 comments

Show HN: Standards compliant SAX-style XML parser for JavaScript

https://github.com/federicocarboni/saxe
2•federicocarboni•3h ago•0 comments

Show HN: Data Formulator 0.5 – Vibe with your data (Microsoft Research)

https://data-formulator.ai/
3•chenglong-hn•3h ago•0 comments

Show HN: The Legal Embedding Benchmark (MLEB)

https://huggingface.co/blog/isaacus/introducing-mleb
10•ubutler•1w ago•0 comments

Show HN: A CSS-Only Terrain Generator

https://terra.layoutit.com
357•rofko•1d ago•82 comments

Show HN: SSH terminal multiplayer written in Golang

https://github.com/MShel/sshOuroboros
2•mishk0sh•8h ago•0 comments

Show HN: A living wall of life goals and deathbed regrets

https://beforewedie.org
14•jamespetercook•19h ago•9 comments

Show HN: Dynamic Code Execution with MCP: A More Efficient Approach

https://github.com/pranftw/aiter-app
2•pranftw•9h ago•0 comments

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

https://github.com/tchauffi/rust-rasterizer
93•tchauffi•2d ago•29 comments

Show HN: Kumi – a portable, declarative, functional core for business logic

https://kumi-play-web.fly.dev/?example=monte-carlo-simulation
4•goldenCeasar•15h ago•0 comments

Show HN: sudocode – manage specs, tasks, and context-as-code for coding agents

https://github.com/sudocode-ai/sudocode
15•alexsngai•16h ago•5 comments

Show HN: Zee – AI that interviews everyone so you only meet the best

https://www.zeeda.com/
4•davecarruthers•16h ago•4 comments

Show HN: Tamagotchi P1 for FPGAs

https://github.com/agg23/fpga-tamagotchi
68•agg23•1w ago•11 comments

Show HN: SixSevenStudio – open-source Video Editor For Sora

https://github.com/palmier-io/sixsevenstudio
2•hchtin•17h ago•0 comments

Show HN: MyTimers.app offline-first PWA with no build step and zero dependencies

https://mytimers.app/
46•y3k•2d ago•28 comments

Show HN: Strange Attractors

https://blog.shashanktomar.com/posts/strange-attractors
792•shashanktomar•5d ago•77 comments

Show HN: Cj–tiny no-deps JIT in C for x86-64 and ARM64

https://github.com/hellerve-pl-experiments/cj
3•hellerve•18h ago•0 comments

Show HN: Dev Cockpit (OSS) – TUI System Monitor for Apple Silicon

https://devcockpit.app
3•caioricciuti•19h ago•1 comments

Show HN: JermCAD – A YAML-powered, vibe-coded, browser-based CAD software

https://github.com/jeremyaboyd/jerm-cad
3•jermaustin1•20h ago•0 comments

Show HN: I was in a boring meeting so I made an encyclopedia

https://encyclopedai.stavros.io
4•stavros•20h ago•9 comments

Show HN: Wosp – advanced full-text search on the command line

https://github.com/atrettel/wosp
6•atrettel•20h ago•0 comments

Show HN: FinBodhi – Local-first, double-entry app/PWA for your financial journey

https://finbodhi.com/
40•ciju•2d ago•21 comments

Show HN: DMARC report parser as a single Go binary (SQLite, no Elasticsearch)

https://github.com/meysam81/parse-dmarc
2•meysamazad•21h ago•0 comments

Show HN: Free Quantum-Resistant Timestamping API (Dual-Signature and Bitcoin)

5•sasasavic•1d ago•1 comments

Show HN: I built a local-first daily planner for iOS

https://apps.apple.com/ca/app/to-do-list-planner-zesfy/id6479947874
86•zesfy•1d ago•77 comments

Show HN: Pipelex – Declarative language for repeatable AI workflows

https://github.com/Pipelex/pipelex
122•lchoquel•1w ago•27 comments

Show HN: I got fired so I built a bank statement converter

https://aussiebankstatements.com
15•matherslabs•1d ago•3 comments