First off, I haven't done software development in a number of years, so I'm rusty. I did Delphi for years, and a touch of C#. But I'd say I'm much more proficient in Delphi, or at least I was. So, if I take on this project, I think I'd use Delphi.
10 years or more ago, there was a bit of a fad of using a Windows computer as a car stereo. Called a CarPC or Carputer. With cars these days now being more integrated and Double-DIN going the way of the Dodo, the CarPC fad is mostly dead. But I'm still somewhat interested in pursuing. There were a number of "front-ends" that were sold or given away. Basically, a user interface designed to launch a handful of applications such as a media player, map software, etc. It would use large buttons designed to be easy to use on a dash mounted touch-screen similar to a commercial car stereo. The thing is, almost all of these products are dead. Some of them you can still download off of SourceForge or something similar. But the ones I tried just don't seem to work on a modern OS. Or were just too buggy all along. I might try fighting a bit more with some of them. But maybe a fresh program might work better.
As far as building the computer itself for a CarPC, that actually is still quite doable. Micro-ITX motherboards are plentiful. And you can get computer power supplies designed to be powered by a car battery and a small enclosure for mounting in some hide-away location in the car. There are not a lot of double-din sized touchscreens that are available, but there are some. I've seen some with only 800x600 resolution. Windows 10 minimum resolution according to spec is 800x600. Windows 11 official spec says minimum resolution is 1280x720, although I found that I can set my Windows 11 computer to 800x600 and it seems to basically work.
I know I could build a basic app that has large buttons and you click on them and it would launch another program. But some of the more fancy features, I'm not that sure how to do. For example, if I did build such a program, I'd want it to adapt to screen resolution cleanly, so that it could be used at 800x600 or anything else and still look about the same. Not sure how best to do that.
I'm thinking I'd like it to at least act like it replaces the Windows Shell. Meaning that if you close the foreground program, my program would come back into the foreground automatically. My program should be the primary way to run and access programs. Though I suppose it would be difficult to actually replace the Windows shell. It would probably be best if it just sort-of acted like it does. Still, I was wondering if anyone has tried to build a light-weight GUI shell in Delphi?
If there happens to be some components or tool-kits that might do a lot of the heavy-lifting, that would be cool. Basically, I would need to make the screen auto-size or at least be able to handle different resolutions gracefully. Automatic bring to the foreground when apps it launches closes, and be easily configurable. Like the user should be able to move the buttons around, maybe put their own graphic background, easily configure what the buttons launch when clicked. That kind of stuff. The idea of "skinnable" was popular some days ago. That would seem to be appropriate for this type of project.
So, basically, any basic points are what components or tool-kits I might look into that might give me a head-start? Thanks for any help!