Alternatives
Products that do what SuperUtilsPlus – A Modern Alternative to Lodash does
Hey HN! After years of wrestling with Lodash's quirks and bundle size issues, I decided to build something better. SuperUtilsPlus is my attempt at creating the utility library I wish existed. What makes it different? TypeScript-first approach: Unlike Lodash's retrofitted types, I built this from the ground up with TypeScript. The type inference actually works the way you'd expect it to. Sensible defaults: Some of Lodash's decisions always bugged me. Like isObject([]) returning true - arrays aren't objects in my mental model. Or isNumber(NaN) being true when NaN literally stands for "Not a…
- 1RA
2022 · github.com
- 2AJ
I've been building a web UI library for a side project of mine. I thought it might be useful to others, so I'm releasing it as open source. To put it simply, I realized that most of my pain points with React come from its declarative model ui=f(state). So I'm trying something that I'm calling "imperative JSX." Instead of treating JSX as the source of truth for your UI, it essentially becomes a query interface for DOM manipulation. I first had the idea for it a few months ago, and only began writing it in earnest last week, so it's extremely early and nowhere near production-ready. Still, I'd…
2024 · npmjs.com
- 3CA
We've been building Crust (https://crustjs.com/), a TypeScript-first, Bun-native CLI framework with zero dependencies. It's been powering our core product internally for a while, and we're now open-sourcing it. The problem we kept running into: existing CLI frameworks in the JS ecosystem are either minimal arg parsers where you wire everything yourself, or heavyweight frameworks with large dependency trees and Node-era assumptions. We wanted something in between. What Crust does differently: - Full type inference from definitions — args and flags are inferred automatically. No…
Mar 2026 · github.com
- 4AA
Yes, another reactive UI framework for JavaScript. Bear with me, please... :-) I 'invented' the concept for this back in 2011, and it was used (as a proprietary lib) in various startups. Even though many similar open source libs have been released since, and boy have I tried a lot of them, none have been able to capture the elegance and DX of what we had back then. I might be biased though. :-) So I started creating a cleaned-up, modern, TypeScript, open source implementation for the concept about five years ago. After many iterations, working on the project on and off, I'm finally happy…
2025 · aberdeenjs.org
- 5SJ
Hi HN! I created this lib in the need of a simple and tiny framework to easily do AJAX-style navigation / replacement of fragments in the page, in a web application. For people who don't want to use client-side-rendering and complex frameworks à la React, there are nowadays a few "HTML-over-the-wire" libraries, like HTMX, Unpoly or this super-tiny one Swap.js :) One other key thing is that no external tool is needed: no bundler, no webpack, no TypeScript compiler, no minification needed. Just write HTML, JS (+ your preferred server-side language: PHP, Python, etc.) and it works. The…
2023 · github.com
- 6LA
Initially I started building this for my own projects. The main goal was to define a unified "blueprint" allowing me to develop multi-platform apps using the same code, without code generation. I wanted to be able to develop the same functionality on web, desktop, cli, server, mobile, whatever... I've been able to achieve this by relying on TypeScript, a 4-layer architecture (UseCase => App => Product => Target) and dependency injection. This mechanism allows me to use whatever tech stack I want, provided the good adapters are developed. For instance, I have pre-built ones : node express…
2025 · github.com
- 7FF
I have spent several years working on search engines in the backend and have now utilized that experience to develop a fuzzy search library for the frontend. It's fast, accurate and can be used for all languages. It should be easy to integrate into your Javascript / Typescript projects. If you test it and find any edge cases that did not work for you please let me know. The implementation is based on 3-grams by the book, augmented with a novel trick of sorting the characters within the 3-grams for enhanced accuracy. For a detailed explanation you may refer to my related blog post at…
2024 · github.com
- 8EA
eno [1] - A modern plaintext language w/ libraries [2] for JavaScript, Python, Ruby & soon more! We migrated a big relational research database to a file-based solution - requirements were: - Super fast and easy editability for users - Highest performance for parsing/validating >10K documents on every user change. Our trials with YAML/TOML showed us that we wanted something both faster [3][4] and easier [4], something tailored for file-based content management ... and after months of research & development it's now publicly available (under MIT license) for everyone! Last but…
2018
- 9IM
Hi! I made a React compatibility library for a Virtual DOM library (https://github.com/aidenybai/million). The idea is to have much faster rendering (a compiler optimizes virtual DOM beforehand) while ensuring the same developer experience React provides. This is very, VERY early stage, so be prepared for weird bugs / plugin incompatibility / etc. If you have any suggestions, I'd be more than happy if you replied in a comment with it! You can spin up the demo here >> https://stackblitz.com/github/aidenybai/million-react-compat
2022
- 10AL
2022 · github.com
- 11EM
Hi HN! I thought you might enjoy this even if you don't know much about Elixir. `es6_maps` is a small library that introduces a "shorthand" map creation syntax, similar to shorthand object construction in JavaScript/TypeScript. For those unfamiliar with Elixir, the most interesting aspect might be how it achieves this. `es6_maps` takes advantage of BEAM (Erlang's VM) hot-reload capabilities to amend the Elixir compiler bytecode at runtime, adding functions that expand the shorthand syntax for further compilation. I think it's a nice showcase of the power you can wield (with care) when…
2024 · github.com
- 12HS
Author here. This is an attempt to simplify frontend development: 1. Standards first: User interfaces should be assembled with HTML, styled with CSS, and enhanced with JavaScript. 2. Less abstractions: UI composition should be easy and require as few idioms and abstractions as possible, both on client and server. 3. Design Systems: Design should be a separate subsystem, easily accessible for developers who care about and understand design. 4. Scalability: Complex UIs should retain simplicity as the application grows. Eager to hear your thoughts!
2025 · nuejs.org
- 13AT
2022 · github.com
- 14BI
For the last month or so I've been working on bewCloud, and today I'm making its source code public and open! Right now, the Dashboard (URLs + freeform notes), News (RSS/Atom/JSON feeds), and Contacts (CardDav) are working. If you have any suggestions, comments, or recommendations, I'd love to hear it. Thank you for your attention and kindness. I really appreciate it!
2024 · bewcloud.com
- 15IB
Hey everyone! Some time ago I was analyzing why React apps are so hard to optimize, and came to a conclusion that the lack of atomic updates is the culprit. I made an experimental library which basically updates everything in place directly in HTML. At some point I became aware that Solidjs exists, which is a very similar idea, but at the end of the day I realized my approach to API is quite different and warrants the existence of my library (my state primitive allows selector subscriptions, array iterators return a state primitive with the element, allowing to never re-render the whole…
2024 · github.com
- 16AT
Hello all To preface this is just something I've been making as a learning exercise, so all feedback is appreciated. This is a tool that converts JSON schemas into TypeScript utility classes for use in Deno. Automatic Type Generation: Typescript interfaces for the compressed and uncompressed versions of your data. Compression & Decompression: Compress and decompress your data. Validation: Built-in data validation using Ajv ensures your data adheres to the schema. Reusability: Once generated, the utility classes can be used in other Deno projects. It currently only supports a subset of JSON…
2023 · github.com
- 17TS
Next.js has APIs to read and update search params (the /?foo=bar part of the URL), but they lack type-safety for consistent keys and proper parsing/serializing of JS data types. I found myself repeatedly building the same custom hook to get a React.useState-like approach. In 2021, I published it to NPM and then forgot about it. Since then, the `nuqs` package has gained popularity and is now used by companies like Vercel, Auth.js, Gitbook, and Midday.ai, with 200K weekly downloads. It's been fun building this as a side project and automating as much as possible to ensure a…
2024 · nuqs.47ng.com
- 18AJ
with affinity you can make multiple apps (components eventually) and store (ala redux) - while a store can be shared through apps. This started as a case study and as a small reusable code for creating self contained dom elements with functionality - during the time of development, ideas and inspiration came from angular, react and vuejs. suggestions and feedback is mostly welcomed. The interesting challenges were finding ways for these topics: 1. create a component lib using dom and js only, without any 3rd party . 2. producing semantic html in dom . 3. allow template micro syntax (using…
2018
- 19TO
Apr 2026 · thales.me
- 20AP
2022 · github.com
- 21IR
I built Morph, an experimental fullstack HTML-first library for Deno, Node, and Bun. Everything returns HTML, not JSON. No React, no Vite — just plain HTML with server-side rendering. No build steps, no preprocessors, no complex configs — everything runs from a single file. Perfect for Telegram Web Apps, internal tools, simple admin panels, dashboards, or anywhere a full-blown SPA feels like overkill. Important: I built this entirely for myself — to solve my own problems. I hate complex frontend. I hate writing it. And I don’t want to waste time on it. But maybe it’ll help you too.
2025 · github.com
- 22RR
I wanted a safer alternative to RegExp for TypeScript that uses a linear-time engine, so I built Regolith. Why: Many CVEs happen because TypeScript libraries are vulnerable to Regular Expression Denial of Service attacks. I learned about this problem while doing undergraduate research and found that languages like Rust have built-in protection but languages like JavaScript, TypeScript, and Python do not. This library attempts to mitigate these vulnerabilities for TypeScript and JavaScript. How: Regolith uses Rust's Regex library under the hood to prevent ReDoS attacks. The Rust Regex library…
2025 · github.com
- 23AS
Took a stab at building my own string diffing JS package. I built an interactive demo for TypeIt’s website (https://typeitjs.com/build-your-own) a while back. The approach I took to handle user input necessitated a way to calculate the difference between the versions of a user’s text input. I searched around for a package to help me out and found a couple of good ones (like fast-diff), but I either didn’t really like their API or didn’t want to take on a huge new dependency. Instead, I thought I’d give it a shot myself (famous last words). I dove into it having no real formal…
2022
- 24AR
Hey HN, I wanted to share a UI toolkit project I’ve been working on recently, born out of how difficult I found it to build a great UX on top of LLMs, and keep application state in sync. I’ve built: - A React/JS front-end library for conversational interfaces, which makes it super easy to bootstrap AI assistants and ChatGPT style UX: https://github.com/nlkitai/nlux - A set of adapters that simplify integration with AI backends such as LangServe and HuggingFace The library is highly configurable, easy to theme, supports markdown streaming (that was tough to get…
2024 · github.com
Ranked by how close each launch is in meaning, then by votes. Refine with a description →