CoOp:Anything
Search any game and see how much of it you can play with friends: every co-op mod, its stage, quality and community rating.
A daily art guessing game. Each day, one artwork from the Harvard Art Museums. Guess the country it was made in.
GamesTypeScript · CSSGitHub @scarlett-adamsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A daily art guessing game. Each day Artle shows one artwork from the Harvard Art Museums collection, and you get six tries to guess the country it was made in. After each guess you see how far away the right country is and which way to go (like "1,200 km ↗ NE").
The artwork starts zoomed in and in black and white. Each wrong guess reveals more: it zooms out, then shows the color, then the date and finally the medium.
After the daily puzzle you can keep playing unlimited rounds of random
artworks. Each round has its own link, like /unlimited/2bm, so you can send
a friend the same artwork.
Built with Next.js and the Harvard Art Museums API.
sort=random:20261020), so everyone gets the same
artwork on the same day. Each artwork's creation place, like
"Europe, France, Paris", is matched to a country, and artworks that can't
be matched are skipped. A country is then picked evenly from those in the
sample, since a purely random pick would almost always be American or
western European. See src/lib/puzzle.ts./unlimited picks a random artwork and redirects to
its round page. Rounds come from 100 fixed samples of the collection, and a
round id like 2bm packs the sample number and the artwork's position in
it, so anyone with the link gets the same artwork without the link giving
it away. See src/app/unlimited/.mediumClue in src/lib/puzzle.ts).src/lib/geo.ts.src/lib/harvard.ts). The browser gets the image and the clues,
but not the answer: guesses are checked by src/app/api/guess/route.ts,
which only reveals the artwork once the game is over."use cache: remote", and there are only about
100 of them in use (today's puzzle plus the unlimited samples), so the API
is called a handful of times a day however many people play.localStorage. Unlimited rounds don't count toward stats.A new puzzle starts every day at midnight Eastern Time.
Request a free API key at https://harvardartmuseums.org/collections/api.
Copy .env.example to .env.local and paste your key after HARVARD_API_KEY=.
.env.local is ignored by git, so the key won't be committed.
Install and start the dev server:
npm install
npm run dev
Open http://localhost:3000.
Other commands:
npm test # unit tests for the game logic
npm run lint
npm run build # production build
vercel.json
tells Vercel it's a Next.js app, so the default build settings are fine.HARVARD_API_KEY with your key as the
value. Don't prefix it with NEXT_PUBLIC_: that would expose it to every
visitor's browser.After that, every push to the production branch redeploys the site, and every other branch gets its own preview URL. If you add or change an environment variable later, redeploy (Deployments → ⋯ → Redeploy) for it to take effect.
If the site shows "The gallery is closed", today's artwork couldn't be loaded. The reason will be in the project's Logs tab on Vercel.
src/
app/
page.tsx the daily puzzle
unlimited/route.ts starts a random unlimited round
unlimited/[round]/ an unlimited round's page
api/guess/route.ts checks a guess and reveals the answer at the end
components/ the game UI (client components)
lib/
harvard.ts Harvard Art Museums API client (server only)
puzzle.ts picks artworks, builds clues, round ids
countries.ts countries, their other names, and search
geo.ts distances and compass directions
dates.ts puzzle dates and numbering (Eastern Time)
game.ts saved games, stats and the share text
Artle is a fan project and isn't affiliated with the Harvard Art Museums.