programmer portfolio in sinatra