I started much the same way. I'm a lapsed software developer who had started in ancient languages like COBOL with fixed data storage so although I knew C as well I was essentially treating GD script as extended basic.
Thanks for your post. The more I think about this the more I see this as a portrait extension plus a custom slave finder, two good ideas in one.