Будет отличным упражнением подумать о, типа, компонентной разработке и архитектуре, чтобы имелся базовый чисто текстовый вариант (вроде lynx'а) -- плюс дальнейшие примочки, расширяющие функционал в направлении картинок и проч.

***

Если обучаться таким образом, то можно далеко уйти