DC artisan app all client-side