Pues, creo que lo básico que hay en todos los sitios como esos, pero podrías darle un toque personalizado.
por lo del CSS te recomiendo que permitas que los visitantes cambien el aspecto del sitio y si prefieres puedes guardar su configuración por la IP.
Ahora por lo de hacer usuarios en un sitio para subir archivos, pues la verdad a mi no me parece.
A menos que ofrescas las mejores imagenes a tus usuarios o que les pases wallpapers, paisajes, imagenes inéditas y todo el rollo ese, para eso talves tendría sentido hacer un espacio para login y demás.
Por otra parte creo que es siempre bueno que tengas cuidado con el código que planteas para la subida de imagenes, verifica siempre la extensión antes de subir las imagenes, y no aceptes ciertos formatos.
Y bueno por último creo que es una buena idea, te ayudaría pero conozco muy poco sobre el tratamiento de imagenes, asi como la redimensión y demás...
Haber si nos cuentas tus avances.
Un saludo