How it works
The same architecture behaves differently depending on where it lives
On-device inference means smaller models and no upload; server inference means bigger models and a file that leaves your phone.
A scoring model has to run somewhere, and there are exactly two places: on the device that took the photo, or on a server the photo is sent to. The choice is not cosmetic. It sets a ceiling on how large the model can be, how fast a result comes back, and how often the model behind the score can change without you doing anything.
Model size
A phone has a fixed, comparatively small amount of memory and compute available to any single app, and a model has to fit inside that budget alongside everything else the phone is doing. On-device models are therefore smaller - fewer parameters, often quantised as well, on top of already being a leaner architecture chosen specifically to run acceptably on consumer hardware. A server has none of these constraints in the same way. It can run a model with an order of magnitude more parameters, because the cost is amortised across many requests on hardware built for exactly this kind of computation, rather than squeezed into whatever headroom is left on someone's phone. Larger models are not automatically better at every task, but for a task with subtle, hard-to-separate visual axes, more capacity generally gives a model more room to represent the distinctions a rubric is asking for. This is the same trade-off that shows up whenever a workload is split between a phone and a server for any task, not something specific to scoring; the constraint is the hardware, not the subject.
Latency
An on-device model, once loaded, returns a result with no network round trip at all - the whole computation happens locally, bounded only by the phone's own processor. A server-side model has to account for the photo travelling to the server, queueing behind other requests, running through a substantially bigger computation, and the result travelling back, which is why the several seconds a server-based score takes are mostly queueing and batching rather than the model working especially hard. On-device is faster in the simple sense of wall-clock time to a result; it is not necessarily faster in the sense of running more computation, since it is doing considerably less, and a fast wrong answer is no more useful than a slow one when it comes to trusting a single number.
Update cadence
A server-side model can be swapped, retrained, or rolled back at any time, entirely on the provider's schedule, and every request from that point onward hits the new version without anyone doing anything on the client side. An on-device model is baked into an app release. Updating it means shipping a new version of the app and waiting for users to install it, which is slower and leaves some fraction of users on an older model for a stretch after a new one exists. This has a direct consequence for anyone comparing scores over time: a tool that silently redeploys server-side is not scoring on the same scale it was last month, while an on-device model tends to stay fixed for the life of an app version, for better or worse.
The privacy consequence, briefly
Running inference on-device means the photo itself never has to leave the phone to produce a score, which is a materially different privacy posture than sending a file to a server - what that does and does not protect, since results, crash reports and analytics can still travel even when the image does not, is covered properly elsewhere rather than here.
Which one a given tool uses
Most tools handling a task this specific, including Rate Cock, run server-side, because the accuracy gain from a larger model outweighs the latency and upload cost for most users, and because it lets the scoring pipeline improve continuously without an app update. On-device tools exist and trade some of that capacity for the upload never happening at all. Neither is a security decision in the sense a human review commissioned through Rate Penis is - that is a different question about who sees the photo at all, not where a model's weights happen to sit - and neither changes what a resulting score can tell you about anything physical, which stays outside any inference pipeline regardless of where it runs.