HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
foam-foundation
foam3
JavaScript2022–2025
foam-foundation / foam3

foam3

FOAM: Feature-Oriented Active Modeller, Version 3

4Distinct people
5Mentions
0Explicit recommenders
50GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

FOAM: Feature-Oriented Active Modeller, Version 3

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year5 dated mentions

Observed mentions: 2022-08-17 15:18:12 UTC to 2025-05-26 05:14:01 UTC.

01232022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC303
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101

What Hacker News says

5 sources
Thanks for > Any thoughts you can share? A while back I wrote a blog post that mentioned this: https://news.ycombinator.com/item?id=32495133 People posted links to bunch of interesting projects in the comments, probably the closest to this specific issue was FOAM: https://github.com/kgrgreer/foam3 Looked interesting but I had bunch of questions on whether it's practical enough to be useful. It comes to the problem from the modeling angle, and I get a bit too much OOP/UML vibes from it for my taste. --- The way I've tackled this in my projects is basically moving them closer to HATEOS, avoid using the "business terms" in UI code, do most of the logic on the backend, and let the API and frontend code "speak the UI langauge." Basically how HTMX works conceptually, but not all the way to HTML partials. Server driven UI is also a close concep
Read the rest
t. This way you cut down a lot of pointless data shuffling between DB, JSON API, Frontend data layer and UI. The code resembles just a translation layer between domain concepts (users, invoices, ...) and UI concepts (headings, list items, carousels, buttons, actions). It's not ideal though, there's still a lot to figure out in this model.
In Vibe Coding Is Metaprogramming
I wrote a BASIC to JS compiler/transpiler that includes all of the programs from "BASIC Computer Games" as examples. You can try it out in your browser at: https://codepen.io/kgr/full/yLQyLjR Just select the game you want to to run from the top-left list box, then press the "Compile" button and you'll see the translated JS source in the right text-area. Then press the "Run" button to run it. The source code for the compiler is available at: https://github.com/kgrgreer/foam3/tree/429f2fd2b4cef0e37996a...
In “BASIC Computer Games” code in modern languages
Sort of related but an interesting idea is take it one step further with the Feature Oriented Active Modeler (FOAM) [1,2] paradigm and use code to model your whole system, which generates diagrams model, and runnable code in whatever language needed. The project is still young and it may not be practical today with the available tooling but it seems like a cool idea and project. It is influenced by the unix principle of “coding the perimeter not the area” which is essentially factoring your dev tasks into building NxM capabilities, but instead of building NxM things individually build N+M tools that can be composed into NxM capabilities [2]. So with FOAM the idea is if we want to maintain a model of our software, and build it as well, what if we can use one composable tool to generate both, rather than model everything and code it separat
Read the rest
In Architecture diagrams should be code
I think FOAM does most of what the author is asking for. A quick explanation is provided in this video: https://www.youtube.com/watch?v=S4LbUv5FsGQ And more details can be found at: https://github.com/kgrgreer/foam3#videos FOAM is a modelling framework that generates cross-language boilerplate for you, but it takes a much broader view of what constitutes boilerplate than most systems. Typically, it can generate between 95-98% of a working cross-language cross-tier system. FOAM helps you create features for modelled data. Features include things like a Java/Javascript/Swift classes to hold your modelled data, code to marshall to/from JSON/XML/CSV/etc., various GUI Views, and support for storing your data in various databases or file formats. However, FOAM models are themselves modelled, meaning they're afforded all of the above benefits as
Read the rest
well. This lets you apply the MVC technique of having multiple views work against the same underlying data-model concurrently (say a grid and a pie-chart in a spreadsheet), so that you can choose the best view or views for your current need. When treated this way, your code is no longer text (but it can be, if that's one of your views), and you can easily view and store it in many different ways and more easily programmatically manipulate it.
In Programming breakthroughs we need

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.