PERSONAL

Cacao Research Building Beautiful Python UIs, One Mini‑App at a Time

July 19, 2025
2 min read

What Is Cacao Research?

Cacao Research is the brand‑new GitHub org behind the Cacao framework — a reactive Python toolkit that lets you build real‑time web apps with a decorator‑based API, JSON‑driven UIs, and WebSocket updates.

But Cacao Research isn’t just one repo; it’s a growing family of mini‑apps that show what the framework can do and save you hours of boilerplate.

ProjectTL;DRPyPI
cacaoThe core framework. Think “Python first” alternative to Streamlit/Dash with component state baked in.pip install cacao
cacao‑json‑viewerDrop preview_json(data) in any script and pop open a desktop JSON/tree viewer.pip install cacao-json-viewer
cacao‑pandas‑uiOne‑liner preview(df) gives you a sortable, filterable DataFrame table UI.pip install cacao-pandas-ui

Why We Built It

  1. Less Front‑End Overhead Most Python devs don’t want to deep‑dive into React, Tailwind, and build chains every time they need a quick UI. Cacao wraps that complexity in simple decorators.
  2. True Reusability Every UI element is a pure‑Python component that you can package, publish, and reuse across projects.
  3. Rapid Prototyping Internal dashboards, data explorers, research tools — build them in hours, not weeks.

Key Cacao Research Highlights

Real‑Time by Default

WebSocket‑powered state sync keeps every client in lockstep without extra code.

Component‑First Design

Define a UI component once, import it anywhere. Goodbye copy‑paste UI spaghetti.

🔌 Mini‑App Ecosystem

Our small packages (JSON Viewer, Pandas UI, more coming) are blueprints you can fork or extend.


Get Started in 30 Seconds

pip install cacao
pip install cacao-json-viewer  # optional mini‑app
from cacao import component, run_app
from cacao_json_viewer import preview_json

@component
def Hello(name="Cacao"):
    return {"type": "h1", "props": {"content": f"Hello, {name}! 👋"}}

run_app(Hello)

That’s it — your browser pops open a live app.


How to Contribute

  • Star & watch the repos you like.
  • Open issues for bugs, ideas, or feature requests.
  • Send pull requests — small docs tweaks to full components are welcome.
  • Chat with us in GitHub Discussions; we’re a friendly bunch.

Resources

About Juan Denis

Full-stack problem solver focused on scalable architecture and product velocity.

Related Articles

Topics Covered

Previous TucanAPI: From Side Project to Full Platform Here’s Why We Built It