See this discussion here.
I actually was curious if what I did to allow the user to choose what data to use (I provide a default file they can choose for a demo if no other data uploaded) before making a plot with widgets controllers in Voila using ipywidgets works in appmode? I thought the same code might work since both Voila and appmode use widgets, and it seems it does!
I found when I launched from the appmode repo and used curl to get that notebook and the accompanying data, it worked in appmode once I installed the additional dependencies (namely numpy, seaborn, pandas) & used the classic notebook interface.
By the way, GitHub - guiwitz/voila_image_processing: Example of how to use voila to serve image processing solutions , see here, was the basis for image selection and file upload code that I adapted.