Hello everyone!
I’m currently building an MVP using Grist as both the database and the user interface. However, I’m running into several UI/UX issues with the custom widget feature:
-
Users can’t smoothly navigate between different Grist pages with a button click because the Grist API doesn’t provide a method for page navigation.
-
The Grist interface (navigation bar, filter button, widget title, etc.) is confusing for users who are not familiar with Grist.
-
The size limitations (width and height) of the custom widget window are frustrating for users.
For these reasons, we’re considering moving away from the Grist interface.
I see two possible options:
Option A: Use a single Grist page with one full-screen custom widget (?style=singlePage) that contains the entire frontend.
Option B: Build a fully custom web application (frontend + backend) and use Grist only as the database via the REST API.
I’m looking for feedback from people who have tried this approach. Have you experimented with this kind of application architecture? What worked well, and what challenges did you encounter?
Hello @Clemence_Fernandez,
No feedback sorry, but I found the topic quite interesting. And I’m thinking myself to use grist as DB backend + GUI for backoffice on a web / mobile game a treasure hunter based on QrCode, so more an Option B use-case. Actually only thinking.
Could share some screenshot about the “several UI/UX issues with the custom widget”
in your plan grist will be safe-hosted or SaaS version at getgrsit.com?
Thanks for sharing. 
Hello! That’s okay.
I’m currently working on a self-hosted version of Grist (used by the French government).
The main UI/UX issues we’ve encountered are:
-
Grist has a steep learning curve for end users, even though it’s relatively easy to understand from a technical perspective.
-
Interactions don’t match the expectations of a typical business application, so users often find the interface unintuitive.
-
Using custom widgets creates visual inconsistencies between the DSFR design system (the French government’s design system) and Grist’s native UI.
-
Navigation between Grist pages always requires a full page reload, making it impossible to provide a seamless application experience.
-
Building polished interfaces with separate custom widgets is difficult. For example, dropdowns or selectors can overflow their containers.
-
Users are confused by Grist-specific UI elements such as filters, titles, and other controls that don’t actually have any effect in our use case.
I can tell you more about our experience if you want. Contact me at clemence.fernandez@beta.gouv.fr or in LinkedIn https://www.linkedin.com/in/clemencefernandez/