Visitor numbers
Counted by CrowdSense itself, without cookies or personal data. Today's numbers update live. When a day ends, its totals are sealed into a record that shows if any past day is ever changed.
Day by day
Manila dates. "Visitors" counts each browser once per day. "Engaged" counts visitors who opened a place, searched, picked a date or reported.
| Date | Visitors | New | Returning | Engaged | Page loads | On phones | Requests | Data sent |
|---|
Where visitors came from
Last 7 days, including today. Taken from the link a visitor followed, or a campaign tag; never the full address. Visits from the iPhone or Android app count as the app.
How we count
- A visitor is a browser that opened CrowdSense and ran its script on that Manila day. The browser makes a random code that changes every day and sends it with each page load; the server counts each code once a day. Someone who visits on three days counts on each of those days.
- New and returning: the browser keeps a simple "visited before" mark, so a first visit counts as new.
- Left out: browsers that identify as bots, link previews, automated or headless browsers, and devices the CrowdSense team marks as its own. They appear only in the record's "bots" and "internal" totals.
- Limit per network: at most 50 new visitors a day are counted from one internet connection, so a single source cannot inflate the numbers. Anything above that appears as "capped".
- Requests counts every request the server answered (health checks apart). It can be compared with the request counts on our hosting provider's dashboard, an independent record.
- Data sent is what the server sent over the internet that day: its answers to browsers, apps and search engines (compressed, with headers), and its own requests to the data services it uses. It can be compared with the outbound bandwidth on our hosting provider's dashboard, which also counts encryption and connection overhead and so reads a little higher. Counted from October 22, 2026.
- Known limits: a browser with storage turned off gets a new code on every page load, which can count it more than once; the same person on two browsers counts twice; and visitors who block scripts are not counted.
Check the record yourself
Each finished day is one line in the record. Every line holds a SHA-256 fingerprint of its contents, including the fingerprint of the line before it. Changing, adding or removing any past day changes every fingerprint after it, so a single fingerprint written down today vouches for every day before it. This page checks every line in your browser. To check it on your own computer, save the record as visits.jsonl and run:
python3 -c "
import json, hashlib
prev = '0' * 64
for n, line in enumerate(open('visits.jsonl'), 1):
o = json.loads(line); h = o.pop('hash')
body = json.dumps(o, separators=(',', ':'), ensure_ascii=False)
assert o['prev'] == prev and hashlib.sha256(body.encode()).hexdigest() == h, 'line %d' % n
prev = h
print(n, 'sealed day(s) check out; latest fingerprint', prev)"