JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdn.rawgit.com/WebReflection/introspected/master/introspected.js"></script>
<script src="https://unpkg.com/hyperhtml@latest/min.js"></script>

JavaScript

const renderer = hyperHTML.bind(document.body)
const store = Introspected.observe({
  greeting: 'hello there',
  deep: {
    message: 'loading...'
  }
}, render)

function render(root) {
	renderer`
   <div>
      <h1>${ root.greeting }</h1>
      <p>${ root.deep.message }</p>
   </div>
  `
}

setInterval(() => {
	store.deep.message = new Date().toString()
}, 1000)

setTimeout(() => {
  store.greeting = 'goodbye'
}, 1300)