Frontend workflow