Long ago, as the silicon on the planet was still cooling, a friend of mine did exactly this. And single handedly.

What he essentially did was he cracked open “Inside Mac” and ported it to a C library that ran on the PC.

He did the bulk of it too. Memory manager, Resource manager, QuickDraw, Window manager, Event manager, Font manager.

They changed it up, they didn’t copy the window gadgets and such, scrollbars worked (and looked) different.

But the task was to port a native Macintosh application to the PC, pre-Windows, and keep it portable. It was not a one way trip. The company maintained both versions.

Got the bulk of it done in less than a year. Obviously this was early Macintosh. B&W, bitmap fonts (though the application generated PostScript for printing).

Yup, they don’t call them The Old Days for nothing.

Everything that was simple 20 years ago is now 100x more complicated. Part of the reasons made programming interesting for me long time ago was that fact that one person could tackle a rather complex job all by himself.

You could write a GUI, a game, a text processor, a compiler and even an OS as a one person team. Now you can't and some of the most complicate aspects of software engineering is how to interface your work with the work of others, how to understand what others have done, to have a high level global view of the whole software application and tools your company works on while having a very low level view of the part of the software you are working on.

There are people still doing this. Example: Serenity OS

https://github.com/SerenityOS/serenity