convert api/gui to separate apps, merge in site.py