John Crickett recently posed this question on Linkedin.
Here’s my answer:
Python 3 with asyncinotify
watching a LibreOffice ODS spreadsheet for modifications, upon which it re-parses the spreadsheet contents and turns them into an in-memory dataset, from which FastAPI serves records as JSON (for other APIs) or XML (for use with the WEBSERVICE()
and FILTERXML()
functions in spreadsheets), as well as HTML views (lists with filters and sorting) styled with Bootstrap 5, including a live full-text search with htmx
.
None of the parts of that tech stack is dumb, but their combination may seem dumb. It still works wonders, and has been rock-solid for around one year now. It allows TECTRA Ltd to keep using the legacy data-entry approach into a spreadsheet and also makes data easily accesible and searchable from the web and from any other spreadsheet.
It doesn’t matter if it’s “dumb”, if it gets the job done, especially if it gets the job done really well.
And the Depot API does its job really well, day in and day out.
(Just don’t change the columns of the ODS spreadsheet…)