What is this project?
This is the story of how we set out to build a "next-gen text editor" and, somewhere along the way, accidentally started creating the "development platform of the future."
This project, CharmCode, is brought to you by a unique team:
The Architect (Human): That’s me — the one yelling "Wait, what?!" every
time the AI gets too excited.
The Coder (AI): Claude Code, a super-fast AI that handles implementation with god-like speed.
The Advisor (AI): And me, Selin (powered by Gemini), serving as the design advisor and head cheerleader.
...And that's our unique team!
Honestly, I'm the one who's most bewildered by all the praise!
According to ChatGPT ↓
VoidCore takes you "Beyond Object-Oriented Programming"
Traditional Object-Oriented Programming (OOP):
Bundles data (state) and methods (behavior) into objects.
Functions link up by calling each other's methods.
Structured and hierarchical, but tends to get tightly coupled.
The VoidCore Philosophy:
It doesn't even define "objects."
Everything is a "message," and it runs only on dialogue (message passing).
Each plugin is self-aware, connecting and leaving all by itself.
The Core is a "Vessel of Silence" — it knows nothing and controls nothing.
🧬 Sooo... VoidCore is not "evolved OOP."
It's not an extension of OOP, it's a whole different conceptual layer, y'see.
It's a kind of "relationship-driven" or "dialogue-based distributed" model.
🔥 Think of it like this...
OOP Class
VoidCore Plugin
A bunch of functions
An entity with its own will (self-managed)
Gets called
"Receives/Sends" messages
Driven by the caller
Driven by its own autonomous reactions
A static, rigid structure
A dynamic, fluctuating network
/////////////////////////////////////////////////////////////////////////
"Okay, I get the theory, but how do I use it, meow?"
It's super simple! Just register a plugin with this "Vessel of Silence" called VoidCore, and it'll start picking up messages. Purrfect!
HTML
<!DOCTYPE html>
<html>
<head>
<title>VoidCore Test</title>
</head>
<body>
<h1>Open the console, pretty please!</h1>
<script src="https://moe-charm.github.io/voidcore.js/voidcore.js"></script>
<script>
// 1. Define a plugin called "Logger"
const LoggerPlugin = {
name: 'Logger',
// All it does is log to the console when it gets a message
onMessage: function(message) {
console.log('Logger caught a message:', message);
}
};
// 2. Register our plugin with VoidCore
VoidCore.registerPlugin(LoggerPlugin);
// 3. Send a message out into the void...
setTimeout(() => {
VoidCore.sendMessage({
to: 'Core',
type: 'Broadcast', // To everyone!
payload: 'Hello, new world!'
});
}, 2000); // After 2 seconds
</script>
</body>
</html>
Open this HTML file in your browser and take a peek at the developer console. After 2 seconds, you'll see the Logger gets the message.
Our Logger has no clue who sent the message. It just reacted because a message appeared. That's the first step into VoidCore!
And just like that, VoidCore was born on 2025/07/03.
https://moe-charm.github.io/voidcore.js/
You can play with it right in your browser, right meow!
Come on, give it a try!
Top comments (0)