Arduino Mega + WS5100 Ethernet
By the time, the only  hardware supported.
The Backend process request and do what you want.
The front end  allows to , read analog from a pin, write HIGH/LOW in a digital pin , read HIGH/LOW, from digital pin; and also make use of pwm pins with a slide bar.

Backend waits in  a hardcoded, screwed and riveted IP=192.168.1.177 , port 80
When client conect and do the usual "GET / HTTP/1.0\r\n\r\n" , backends send simple index.htm , yes htm , no html, beacuse FAT from SD not suport more than 3 chars in the file extension.

This front looks like the 1º image.

The core of the backend is the function void manejarAPI(EthernetClient &client, String uri);
There you can find a simple strncmp, for the different api suported uri
/api/digitalWrite
/api/digitalRead
/api/analogRead
/api/analogWrite

If there is a match, then the corresponding function is called, to make a task.

If you want to add a functionality, then you need to add the corresponding strncmp, that i had talkd before, and the respective function to make a task.

This proyect should not be used for controlling critical devices, you have to be very carrefull handling pins, port, devices if you want to plug things without removing power.

Is "security free", no backend check for what you may want to do with the pins, so if ypu are note 222% sure of what you are doing, better unplug the power from the arduino.

The software was not thought with the porpourse of being scalabel, but is simple so, if you want , can rewrite some lines and run it on other hardware.