sample sinatra app with persistence