frontend component demo