27 May 2025 ============ Last friday i finished my little project at work and i really like what became of it: The goal was to build a system in which our salespeople could view, insert and modify their customers, take orders and view their old orders. It should also work offline and sync automagically with our ERP system. Well, normally i have a solid dislike for the modern Web, Javascripy and Webapps, but with this project and the "target demographic" it was the only possible way to go. I settled for a combination of CouchDB, PouchDB and AlpineJS as the framework for the application. I really started to like AlpineJS during the project: It is small, it is simple and one can indeed still understand WHAT it does and HOW it does what it does. CouchDB and PouchDB are making the synchronisation of data between the clients and the server really easy and enabling this "offline first" of this website: You open it in your browser and no matter the internet connection you can simply work with the local copy of the db(-s). In the end the whole thing has (everything included) just a bit under 500 KB (of course not counting the content of the databases)... not too bad i would say. After that, getting the data into our ERP just was a bit scripting to generate an XML file out of every order stored in the CoucDB which can then be imported by the system. Since monday the system is used by a selected group of our salespersons to find any bugs left, but so far everyone seems to be rather happy.