-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
Following https://snikket.org/service/quickstart will get you a self-hosted XMPP running in minutes, with all modern messaging features you'd expect to be working out of the box.
On iOS it works with Siskin, Monal and ChatSecure, but you're right that there are some rough edges on that platform. We're working on polishing off those edges for a Snikket iOS client (based on Siskin).
Android is working well, and the plan is to work on a web client after iOS is released. In the meantime, https://conversejs.org/ or another generic XMPP web client can be used to log into a Snikket server.