Feasibility of creating an offline desktop data application (with data contained in CSVs files)

Hi there,

I am a WeWeb’s customer for more than a year and have developed a data application where data currently sits in Xano. The application is basically an interface to navigate a database of companies, with company profiles, a datagrid with the list of all companies (with filtering capabilities) and some dashboards providing insights about specific groups of companies within the database.

Some of my customers do not like the idea of hosting their data online and have asked me whether it would be possible for me to send them a ZIP file with the application (in HTML files, also containing the data that’s relevant to them - maybe in CSV files?).

How should I think about enabling such a use case?

In terms of additional requirements:
A) My customers cannot install apps in their computer due to security concerns. I have therefore rejected the option of packaging the web app with Electron + VueJS, as even portable exe files with signed certificates will be problematic for them to execute in their machines.
B) The desktop data web app should work 100% offline, ideally including the option for the user to dynamically filter the datagrid while dynamically updating dashboard charts
C) The data in the web app is owned by my customers (they pay us to consolidate and curate the data for them) but the desktop web app (HTML files, design, etc.) is owned by our company. What are ways to protect our IP for the web app in this case (considering we can’t package the web app in an Electron wrapper)?

Thanks everyone!

It is doable, you’d need to basically use the self hosting feature to get the data and simply use Chrome to save it as a PWA on the Desktop (I’ve done this one) no need to install anything, it already exists, and it behaves like a desktop app. As for the CSV as data storage, I think with a lot of data it will be super slow because CSVs aren’t a DB. What you could do instead is having your client spin up their own SQL DB on their intranet/localhost and connect to that. If you want to get a better more in depth idea, I consult this kind of stuff on my 1:1 meetings more in dept.

1 Like