Hacker News new | ask | show | jobs
by nikhilmat 2432 days ago
Hey there, I'm Nikhil - CTO and cofounder here at Mutiny.

Within the Mutiny product, you can use our website editor to select and update any element of your page without requiring any code changes. The changes you make are compiled into a unique JavaScript file that is distributed globally through our CDN, this ensures Mutiny loads from the location closest to the visitor, making it performant and reliable. Once the incoming visitor loads the website in the browser, the Mutiny JavaScript classifies them based on their information and updates the relevant HTML elements to reflect the personalization (for example, you may change your hero CTA to "Get a Demo" for enterprise companies).

We have worked with customers running client-side, single page applications (using React, Vue.js, Angular, and more) from day 1 and have built our software to handle these environments. We hook into the browser's paint lifecycle using APIs like `requestAnimationFrame` (https://developer.mozilla.org/en-US/docs/Web/API/window/requ...) to avoid seeing a flash of the original content when personalization is rendered. We subscribe to DOM manipulations using `MutationObserver`s (https://developer.mozilla.org/en-US/docs/Web/API/MutationObs...), allowing us to render correctly in a dynamic JavaScript environment.

I took a look at your website and tried it out in our editor - all the personalized changes render well!

2 comments

Is it able to do something "dumber", like just adding a class to the <body> element to then modify what shows up with just CSS? (Tried finding documentation on your site, but seems like it's not a thing).
Yes! Using the editor, you can apply class changes to whatever elements you like (including the <body>). We also expose a JavaScript SDK, so you can further integrate personalization into your application, enabling Mutiny to handle segmentation while you orchestrate any functionality/display changes.
Great, thank you very much. I'll give mutiny a try soon!