We used sail7 for our sailboat, and this was already open-sourced. https://xflr5.tech/sail7/sail7.html