How does the app work without a server?