Discover and explore top open-source AI tools and projects—updated daily.
spencerc99Collaborative, interactive HTML elements for real-time web experiences
Top 93.2% on SourcePulse
Playhtml is a lightweight (~300KB), library-agnostic JavaScript library that enables the creation of interactive and collaborative HTML elements with persistent state. It targets developers seeking to easily add shared, dynamic functionality to web pages, offering a fast and expressive way to build real-time collaborative experiences without complex framework integrations.
How It Works
The library leverages a single data- attribute to imbue HTML elements with collaborative capabilities. It supports scoped reactive data per element, page-level shared data channels, and per-user presence. Playhtml offers flexible synchronization and persistence options, ranging from local storage to real-time syncing. Its can-play system allows developers to define custom interactive behaviors using standard HTML, CSS, and JavaScript, making it highly extensible.
Quick Start & Requirements
unpkg.com/playhtml) for vanilla HTML/JS, or use the @playhtml/react package for React-based frameworks.playhtml.fun/experiments/one/. A prompting guide for AI assistants is in docs/llm-prompting-guide.md.Highlighted Details
can-play): Enables building unique interactive elements with HTML, CSS, and JS.createPageData() facilitates collaborative state management independent of DOM elements.Maintenance & Community
The project is in beta and active development. A Discord community is available for support and showcasing projects. Contributions are welcomed, and sponsorship/donations are encouraged to support ongoing maintenance and hosting costs.
Licensing & Compatibility
The specific open-source license is not detailed in the provided README. Compatibility is high due to its library-agnostic design.
Limitations & Caveats
The library is currently in beta. The can-mirror capability is experimental. Data is stored on a public Partykit instance without encryption, posing a security concern for sensitive data. Certain functionalities like can-move have display limitations, and specific array mutation operations are unsupported. Advanced features like value permissioning and robust data persistence options are planned for future releases.
1 day ago
Inactive
MCP-UI-Org
alibaba
browser-use