is creating Statecharts Description Language
Select a membership level
Buy me a ☕
per month
Thanks so much! 🙏

I will try to keep my caffeine under control 😁

Keep it up!!
per month
If you ever read my blog post, use my project and enjoy it, or just find that it has potential, this is the best way to come and say "nice work!"
Video Tutorials
Limited (3 of 3 remaining)
per month
You are trying to support me for producing better content (in Video format) as a supplement for my project. (I'm in progress on defining a better workflow for producing a better content)




per month

About DrSensor


Scdlang is a description language for describing Statecharts that later can be used to generate code or just transpile it into another format. Although the syntax itself inspired from text-based drawing (e.g mermaid or graphviz), this project is more focus on how to describe Statecharts universally that can be used in another language/platform rather than drawing a Statecharts diagram. You can find more on  Scdlang repo on Github (also checkout the release page for the complete changelog)


Statecharts (or State Machine in general) has a lot of benefit ranging from modeling User Experience (UX) to NPC behavior. While it has a lot of benefits, each implementation is different and the only single-source-of-truth is the diagram itself. A visual diagram is great but it's time consuming when you want to refactor it (one of many reasons why visual programming not popular). As far as I know, there is 3 way to implement Statecharts model in the programming language:

Each implementation has its pros and cons which suitable depend on the context. For example:

Hopefully (in the future), Scdlang can be used as a single source of truth to model a state machine regardless of the interpreter, platform, or programming language you use.

I occasionally make or contribute to others open source project and write some blog. You can find more on what I'm working on in my GitHub profile.
0 of 500 patrons
I'll invite some competent developers/editors to help me maintain the project
1 of 1

Recent posts by DrSensor