Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: AI-powered infinite drawboard in Python (github.com/carefree0910)
3 points by carefree0910 on May 14, 2023 | hide | past | favorite | 1 comment
I released 'AI magics meet Infinite draw board' 6 months ago and received plenty of 'open source the webui codes' requests, so here comes my new project, which aims to build performant, infinite drawboard based web apps in pure Python. If you are familiar with Gradio/Streamlit, this project is kind of infinite-drawboard-powered version of them.

I'll leave a brief design philosophy as a comment later, and I hope that I can hear from you, any advice or suggestions will be really appreciated!




(The descriptions below are partially copied from the 'design philosophy' wiki page of my GitHub project)

`carefree-drawboard` made assumptions that:

* It is a painful process to spend time thinking and designing the layout of various UIs.

* Most user interactions can be abstracted into "send something to server" & "receive something to server".

* A completely decoupled system is what we dreamed of, because it can be easily customized, extended and maintained.

* An infinite drawboard is capable of building (almost) all the desired applications.

So, we derived the following design principles:

* Everything is a plugin on an infinite drawboard.

* Plugin Styles should be fully declarative and should contain a smart layout system (which should also be declarative).

* Plugin Logics should only have access to the data from:

> Itself (e.g., some input fields declared by the Styles).

> The selecting Node(s).

Under these principles, no matter what programming languages (even JSON, if your plugins contain no logics) you are using, you can easily extend the functionality of `carefree-drawboard` by writing plugins.

And since:

* We love Python.

So (currently) we provide a python binding, the `cfdraw` package, for you to write plugins (both styles and logics) using Python. However, theoretically speaking, any backend programming languages are able to write plugins that work with `carefree-drawboard`. I've already wrote a brief introduction in the wiki page about this topic, if you are really interested, please check it out and send feedbacks to me!




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: