Actually, there is a Vertex Shader and that is where the varying vec2 surfacePosition;
comes from. If you look at the source of any "effect" on glsl.heroku.com, then you can find/see the Vertex Shader. Note, effect is what glsl.heroku.com calls the things.
The Vertex Shader, is basically the same on every "effect", Though glsl.heroku.com might remove the various un-needed attributes and uniforms, when it checks/parses the Fragment Shader created by the user. It might do that, but I can't say for sure.
Of course all the attributes and uniforms there might be, are passes from WebGL to both the Vertex and Fragment Shader.
Also, there are NO models, all those 3D objects you see, is just a really advanced Fragment Shader which does ray-tracing.