Fed up with copying and pasting information between different sources (spreadsheets, word processor documents, PDFs), and loathe to put on the straitjacket of an ERP, I created the following web apps and APIs that we use daily:

1) Product data management system that generates 7-digit product codes based on the product category hierarchy and in a way that minimizes the probability of typos leading to picking the wrong product items, plus bundling of items. Data managed in NocoDB and exported into CSV and ODS.

2) Product information view and search system using FastAPI and HTMX (for live search), with an async file watcher that triggers a re-loading of the data in the CSV from (1) whenever it's written anew, and provides simple views, tables, and GET endpoints for querying, as well as a parameter "xml=True" to make the data loadable using LibreOffice's FILTERXML(WEBSERVICE(...)) functions. Also, it calculates bundle prices, displays stock quantities from (3), and fetches relevant invoice lines from (4).

3) Inventory view and search system in the same vein as (2), but the data store is an ODS spreadsheet we edit by hand whenever stock quantities change (up or down, either way). Also provides GET endpoints, just like (2)

4) Invoice view and search system in the same vein as (3), in that the data store is an ODS spreadsheet in which we store invoice and invoice position information (together with pivot-table sheets). Again, it also provides GET endpoints.

5) Company information system that polls the EU VIES database and my country's SOAP API for company information, stores it together with the NACE codes as JSON in an SQLite database, plus provides fields such as notes, customer number, etc., all editable using HTMX. Also provides GET endpoints and the ability to filter the set of companies by criteria such as NACE code, location, company age, etc.

6) Quotation generation tool that provides a GET endpoint and uses (1) and (5) to generate print-to-PDF-ready quotations styled with Bootstrap5, plus generate a downloadable ODT file (using relatorio), and in any case generates/embeds a QR code with an order-tracking URL on the bottom-right corner of every page of the quotation, whether printed or ODT-ed.

7) Order status tracking/display frontend in FastAPI that uses the ULID-based URL of quotations generated with (6) and pulls order status data from a Django backend (I used Django-admin to save time on building web UI). Example: https://track.tectra.gr/01H0-WAR-Y2W

8) (WIP) Automatic pricing recommendation API that uses information from some of the above to generate quotation price recommendation based on historical price levels per customer and segment, customer engagement patterns from invoices, etc.

Other than that:

9) A python script that takes my photos from 2001, and uses darknet-yolov3 to generate a list of detected objects, the HERE Maps Reverse Geolocation API to link the GPS coordinates to landmarks, and then writes that information to the photo's database on Emby using Emby's API (which makes all my photos searchable at a good-enough state).

10) (WIP) Currently developing a Phoenix LiveView web app that downloads Linux kernel ChangeLogs, parses them into commits, extracts structured information and will eventually make them searchable by keyword, contributor, etc. Mainly a learning opportunity, but I'll eventually self-host it publicly. https://github.com/waseigo/Changelogrex

11) A Go program that runs a NextJS app and responds to Gitlab's push-event webhook requests with a rebuild and restart of the web app https://github.com/waseigo/webhook-gitlab-nextjs-runner