Caterpillars Count uses a modified client-server design. The server uses PHP to access a MySQL database. Clients can be broadly categorized into two categories: those accessing the website from a browser, and those using the mobile apps to submit data. Those using a browser can view data visualizations and, if they have administrative rights, make changes to the data. On the mobile apps, data flows from the apps to the server in one direction because the apps are solely for submitting data and not viewing it. On the Caterpillars Count website users can submit, curate, and visualize data, with information flowing in both directions between the server and the browser. All communications with the server are made through a RESTful API implemented in PHP.