No CMS or framework detected, hosted on Cloudflare.
| Technology | Version | First seen |
|---|---|---|
| CDN & Hosting1 | ||
| – | 18 Oct 2026 | |
| Analytics & Tag Management1 | ||
| – | 18 Oct 2026 | |
| Fonts & Icon Fonts1 | ||
| – | 18 Oct 2026 | |
| Translation & Localization1 | ||
| – | 18 Oct 2026 | |
aspmx.l.google.comalt2.aspmx.l.google.comalt1.aspmx.l.google.comalt3.aspmx.l.google.comalt4.aspmx.l.google.compaul.ns.cloudflare.comalexa.ns.cloudflare.comv=spf1 include:_spf.google.com ~allgoogle-site-verification=3sHByxxiM4DDe0jXwWmqjHrIB7xn0ZE_3zgE9qhQzFwgoogle-site-verification=c2q58CjYqwNIuXq1cxZgsSBhauqAL0KexkzRzjrgSbEv=DMARC1; p=reject;# getsnapkin.app
#
# Everything public is crawlable. The two exceptions below are not secrets, they
# are addresses that answer 200 and have nothing to index.
User-agent: *
Allow: /
# The app shell. `/app/{any}` matches anything, so this is an unbounded set of
# URLs that all return the same empty <div> for the client to fill in. Nothing
# links to it, but a crawler that finds one deep link would find infinitely many
# identical pages. The shell also carries a `noindex`, which is the directive
# that actually removes it from an index; this one only saves the crawl.
Disallow: /app
# Signed, single-use, and personal to whoever was mailed one.
Disallow: /exports/
Disallow: /unsubscribe/
# The store buttons, which count the tap and then leave for Google Play or the
# App Store. Nothing to index, and a crawler walking them would invent taps
# nobody made. They also answer `X-Robots-Tag: noindex, nofollow`, which is the
# directive that works on the crawlers who ignore this file.
Disallow: /go/
# The answer engines. Allowed on purpose, and it is a decision rather than an
# oversight: these fetch a page to answer somebody who is asking about calorie
# tracking right now, and they cite what they read. That is a referral channel,
# and blocking it to protect 3,800 words of marketing copy from being summarised
# is protecting the wrong asset.
#
# Common Crawl, which is allowed now and used not to be.
#
# The old line here said a training crawler takes the content and refers nobody,
# so it got the opposite answer to the answer engines above. That is true about
# referrals and it was answering the wrong question. Common Crawl is the largest
# open corpus in base-model pretraining, so blocking it protects nothing worth
# protecting and opts this site out of a model knowing Snapkin exists at all.
# Allowing the crawlers that cite while blocking the ones that memorise is
# coherent only if the goal is traffic this quarter.
#
# The asset is not the marketing copy. It is /en/research: nine decisions,
# fifty-eight papers, every claim carrying its own counter-evidence. That is the
# shape of page that survives a training-set quality filter, and the page we
# would want a model to have read.
#
# meta-externalagent (Llama) and Amazonbot (Alexa+, Rufus) joined on 2026-09-29.
# They used to be blocked as a favour to one company rather than a contribution
# to the commons. Being in Meta's and Amazon's assistants is worth more than
# that principle, and blocking them also made Ahrefs flag every page for an
# inconsistent AI crawler policy.
#
# One group for all of them, with the same Disallow lines as `*` above. A crawler
# obeys only the most specific group that names it and ignores `*` entirely, so a
# group that said only `Allow: /` let these walk /app and /go/, the one thing the
# rules above exist to stop. A list of User-agent lines sharing one set of rules
# is standard (RFC 9309 section 2.1), and it keeps the rules written once.
User-agent: GPTBot
User-agent: OAI-SearchBot
User-agent: ClaudeBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: Applebot-Extended
User-agent: Google-Extended
User-agent: CCBot
User-agent: meta-externalagent
User-agent: Amazonbot
Allow: /
Disallow: /app
Disallow: /exports/
Disallow: /unsubscribe/
Disallow: /go/
# A bulk scraper that indexes nothing and refers nobody.
User-agent: Bytespider
Disallow: /
Sitemap: https://getsnapkin.app/sitemap.xml
# Snapkin > Snapkin is a calorie and protein tracker for iPhone and Android. You log a meal by taking a photo of it. The app names the food, estimates the portions, and works out calories, protein, carbs and fat. When a photo cannot show something, such as the cooking oil, it asks a tap-to-answer question instead of guessing. Every estimate shows what the app assumed and how sure it is. Made by Mattias Geniar in Belgium (Robot Studios IT Consultancy BV). On the App Store and Google Play now. One subscription, no free tier. Every public page on this site is also available as Markdown: send `Accept: text/markdown`, or add `.md` to the address (https://getsnapkin.app/en/pricing.md). ## Product - [Home](https://getsnapkin.app/en): what the app does, in one page - [Photo logging](https://getsnapkin.app/en/features/photo-logging): how a photo becomes a logged meal - [Repeat meals](https://getsnapkin.app/en/features/repeat-meals): log a meal you have had before without a new photo - [Accuracy](https://getsnapkin.app/en/features/accuracy): how good a photo estimate is, and how the app shows its uncertainty - [Protein first](https://getsnapkin.app/en/features/protein-first): protein as the number to reach - [Memory](https://getsnapkin.app/en/features/memory): how it learns your usual food - [Home screen widget](https://getsnapkin.app/en/features/widget) - [Weight tracking](https://getsnapkin.app/en/features/weight-tracking): Apple Health and Health Connect - [Languages](https://getsnapkin.app/en/features/languages): ten languages, including the AI's own text - [Pricing](https://getsnapkin.app/en/pricing) - [Compare](https://getsnapkin.app/en/compare): Snapkin next to MyFitnessPal, Cal AI, Cronometer, Lose It! and YAZIO, with sources - [About](https://getsnapkin.app/en/about): who makes it and how to reach them - [Press kit](https://getsnapkin.app/en/press-kit): logos, colours, banners, screenshots, the founder and every press release - [Launch press release](https://getsnapkin.app/en/press-kit/releases/2026-09-30-snapkin-launches): Snapkin on iPhone and Android, measured against 500 weighed meals ## Engineering How the app is built, one idea per post, each with a figure. - [Engineering index](https://getsnapkin.app/en/engineering) - [Your LLM is billing you for whitespace](https://getsnapkin.app/en/engineering/your-llm-is-billing-you-for-whitespace): which AI models indent their JSON, and what asking for one line saves in time and money ## Research Every number the app shows, with its sources and the evidence against it. - [Research index](https://getsnapkin.app/en/research) - [Our own accuracy](https://getsnapkin.app/en/research/own-accuracy): Snapkin measured against 500 meals weighed on a scale, 83% median accuracy per meal (a typical meal within 17% of the scale) and 90% over a week - [Photographs](https://getsnapkin.app/en/research/photographs): why a photo is enough to start a calorie estimate from - [Added sugar](https://getsnapkin.app/en/research/added-sugar) - [Calorie targets](https://getsnapkin.app/en/research/calorie-targets) - [Protein](https://getsnapkin.app/en/research/protein) - [From 65](https://getsnapkin.app/en/research/older-adults): why protein, the deficit and the lowest goal weight change at 65 - [Activity](https://getsnapkin.app/en/research/activity) - [Meal times](https://getsnapkin.app/en/research/meal-times) - [Nutrient targets](https://getsnapkin.app/en/research/nutrient-targets) - [Tracking](https://getsnapkin.app/en/research/tracking): what food logging is worth - [Eating disorders](https://getsnapkin.app/en/research/eating-disorders): when not to track - [Rewards](https://getsnapkin.app/en/research/rewards) - [Onboarding](https://getsnapkin.app/en/research/onboarding) - [Rate of loss](https://getsnapkin.app/en/research/rate-of-loss) - [Weight chart](https://getsnapkin.app/en/research/weight-chart)