PicJam · Photo × song × a witty line

A witty mix of photo, song and line.

One photo of your own, the one song it calls for, and a witty line that ties them together. All three are required. Not a random laugh but the kind of line that makes someone nod and smile. A bowl of kibble, the commute, a cat, anything goes. People vote, and the post has to keep earning it through gates from 30 days to five years.

Wit counts double. Reactions are a vote: wit 1, agree 0.5, not so sure −0.5. Wit here means a sharp, well-made joke rather than a random laugh. A pairing whose wit keeps landing passes gate after gate; five years survived puts it in the hall of fame, kept for good. The rules are in the survival game section.

Idea

See, hear, say it, and let many agree

In PicJam, joy comes in four steps. The photo is what you saw, the song is what you heard, and the witty line is what you say about the moment. None of it counts until it goes live: then many people vote, and the joy is realized when others get your line.

See: the photoOne photo of your own. What was in front of you.
Hear: the songThe one song that moment calls for. What was playing, or should have been.
Say it: the witty lineWhy this song, for this photo, right now. Refined humor rather than a random laugh.
Agreed: the voteWit, agree or not so sure from many people, period after period. What survives is a feed that many people agreed with.

Why all three are required. Seeing and hearing alone make a record. The line makes it yours, and the vote of many turns it into a feed worth keeping.

Design

Three decisions that shaped it

Photo-and-music pairing has been tried several times. The earlier attempts either were absorbed by larger social apps, relied on curators and did not scale, or treated pairing as a formula and stopped being fun.

The unit is photo × song × a witty lineA photo alone is an image feed, and a photo with a song is a mood board. The line is what turns the pair into a joke: why this song, for this photo, right now. One tag (late night, the commute, a cat) groups posts, so the same tag collects different songs and different jokes.
Posted by the people who took the photo, not curatedOnly the person who was there can say what fits. A pairing is a photo of your own, a song, a witty line and one tag. No name, phone number or email is collected; the server issues each person a nickname such as an adjective plus a thing or an animal.
Wit is the score, not a genreReactions work as a vote: wit, agree and not so sure. Wit weighs twice as much as agree everywhere a score is used, from the popular sort to the survival gates. The aim is refined humor: a pairing whose photo, song and line click together beats both one that merely fits and one that is merely absurd.
Survival game

Six gates, then the hall of fame

Nothing stays up just because it was posted. Every pairing has to keep earning its place: a gate at 30 days, 90 days, six months, one year, two years and five years. The time between two gates is a period, and reactions open again in each one.

Gate Period To pass
30 daysDay 0 to 30"Not so sure" must not outnumber wit and agree together. No votes at all passes
90 days30 to 90 daysThis period's score above the target: the previous period's score, capped at 10
Six months90 days to six monthsSame rule
One yearSix months to one yearSame rule
Two yearsOne to two yearsSame rule
Five yearsTwo to five yearsSame rule
Hall of fameAfter five yearsKept for good. Voting and song battles close
Score: wit 1, agree 0.5, not so sure −0.5Wit weighs twice as much as agree. The same weights drive the popular sort and the song rankings, kept in one place with a test that the database query and the page compute the same number.
"Higher than before", with a ceilingEach period has to beat the previous one, and a tie means out. Without a ceiling, a pairing that took off in its first month would have to beat that record again, so the best ones would die first. With the target capped at 10, about ten wit votes a period carries a pairing through any gate.
React again every periodA reaction belongs to the period it was made in. After a gate the buttons reset, so the same people can keep a favourite alive, and a finished period's score can no longer be changed.
You can see where a post standsEach card shows the next gate, the time left and whether it would pass today; from the second period on it also shows this period's score against the target. Posts past the one-year and two-year gates carry a "1 year survived" or "2 years survived" badge. The At risk tab collects posts that would fail their next gate, so anyone can step in.

Old pairings are not buried. Posts that have passed three gates appear in a strip at the top of the home screen, "On the way to the hall of fame", because a gate can only be passed by pairings people still get to see.

Hall of fame

Wit that held up for five years

Most pairings do not make it. A pairing enters the hall of fame only after passing all six gates, which means many people, period after period over five years, kept finding its photo, song and line witty. What remains is not a lucky hit but joy that was realized again and again.

Six gates, no exceptions30 days, 90 days, six months, one year, two years, five years. Failing any one gate ends the run; there is no second chance and no shortcut by early popularity, because each period is judged on its own votes.
Kept for goodOnce in, no gate can remove it: photo, song and line stay as they were. Voting and song battles close and the scores are frozen, so the record of how it got there does not change. Only the poster's own deletion or a moderation decision can take it down.
The way there is visibleA trophy button at the top of the home screen always leads to the hall. Posts past three gates also appear in the "On the way to the hall of fame" strip, and the survivors tab lists posts by gates passed, hall of fame first. Anyone can help a candidate through its next gate.
Numbered, announced, exhibitedEach entry gets a number in order of arrival, No.1 onward. The poster is notified on their phone, and the entry joins the hall gallery, where entries are shown by number with the date they got in. While the hall is empty the gallery shows the earliest possible date for the first entry and how many candidates are on the way.
Why it is worth visitingEvery entry has outlasted countless others, so the hall is a collection of lines that still work years later. For the person who posted it, it is proof that what they saw, heard and said about a moment reached many people.

The first entry arrives no earlier than September 2031. The service opened in September 2026 and the five-year gate cannot be shortened. Until then the hall is empty, and every candidate on the way is still in play.

Play

Think you have a better song?

A photo with a song is where other apps stop. Here the photo is a prompt: anyone can answer it with a different song and a sharper line, and everyone else picks.

Song battleOn someone else's pairing, challenge with another song and a line of up to 60 characters. Viewers give one vote to the original or a challenger; pressing again cancels, pressing another moves the vote. The photo stays the original poster's: challengers never upload anyone's photo.
Battle rulesOne challenge per person per pairing, not on your own post, not with the song already on it. Challenge lines go through the same screening as posts and can be reported on their own: three reports hide that challenge until an operator decides, without touching the original post. Battles stay open until the pairing reaches the hall of fame.
Soundtracks by tagTags that collected different songs from different people sit at the top of the home screen: one big card, or several cards to swipe through, each leading to that tag's song ranking.
Share cardA 1080 × 1920 story image of photo, line, tag and song, with the hall-of-fame number or a 1- or 2-year survival badge when the post has one. Drawn from the data each time rather than stored, so a hidden line never survives in an old image.
Posting

Write on the photo, like a story

Posting has to be quicker than deciding not to. The photo fills the screen and the witty line is typed straight onto it; the tag and the song are chips on the photo. What you see while posting is the share card.

A photo, requiredRe-encoded in the browser to at most 1440 px on the long edge before upload, which also strips the location stored in the photo. The server identifies the format from the file's first bytes, not its name.
One tagPick a suggestion (late night, the commute, the ride home, weekend, travel, rainy day, cat, dog) or a popular tag, or write one word of your own up to 12 characters. Spacing and punctuation are ignored when tags are grouped, so every spelling lands on the same page. It used to be two fields, a moment and a subject; one is quicker and keeps the photo clear.
A witty line, requiredUp to 140 characters, typed in the middle of the photo. Why this song, for this photo, right now. The shorter the line, the larger it is drawn, so a three-word punchline fills the card. A post without a line is refused, because the line is where the joke lives. For ten minutes after posting the line can be fixed, and the fix is screened again; after that it stays as people voted on it.
One songPicked from a public music catalog with a 30-second preview. If a song comes to mind, search for it; if not, one tap asks AI to look at the photo and the line and suggest a few real songs, each with a short reason. How songs are found and checked is described in the song catalog section.

Every pairing becomes a share card. A 1080 × 1920 portrait image sized for stories, and a link that shows the photo and song in chat previews before anyone opens it.

Song catalog

One fixed id per song

Counting which song fits a subject requires everyone who picks the same recording to land on the same key. A free-text title cannot guarantee that; a catalog id can.

Apple's public catalog, US storefrontThe iTunes Search API needs no key and gives each track a fixed id. The Korean storefront returns no songs at all, so the US storefront is used; Korean songs keep their Hangul titles, with artist names romanized.
Search: the browser first, then a relayThe page asks the catalog directly first, so every visitor has a separate quota. iPhone Safari never gets an answer that way, because Apple redirects the request to the Music app, and Cloudflare's shared egress address is throttled to empty results. Those searches go through a relay on an always-on Mac with an ordinary home connection, limited to 18 calls a minute and retried once when throttled.
US first, Japan only when neededMost searches are Korean pop or Western pop, so the US store answers first. The Japanese store is asked only when the query contains Japanese characters or the US store returns nothing; asking both every time filled pop results with katakana artist names.
Re-lookup on submitThe server looks the track up again by id and caches found tracks for a month. If that lookup is throttled, the track sent by the page is accepted only when its id matches and its artwork, preview and link URLs point to the catalog's own hosts.
AI suggestions, checked against the catalogA model looking at the photo and the line proposes eight songs, but models also invent songs or pick covers. Each proposal is searched in the catalog and kept only when title and artist match the original recording; for Korean artist names written in Hangul, which the catalog romanizes, a title match that is not a cover or instrumental is accepted. Up to five survive, each with a preview.

Listening links: YouTube search and Apple Music. Most listeners in Korea use YouTube, so each pairing offers a YouTube search next to the catalog link and the 30-second preview.

Pages

Same tag, different songs

A tag page ranks the songs people attached to it, with the line that carried each one.

Page What it shows When it appears
TagSong ranking for one tag, with the best line per song, plus the wittiest picksFrom the first pairing
HomeLatest, popular, at-risk (would fail the next gate) and survivors (most gates passed, hall of fame first), filterable by popular tagsAlways
Soundtracks by tagUp to five tags with the most different songs in the last 30 days, on the home screenWhen a tag has at least two different songs
Share linkPhoto, song and reaction counts in chat and social previews; a person following it lands on the pairingEvery pairing
My PicJamNickname, reactions received, alert setting, own pairingsFrom the first visit
Song battleOn someone else's pairing, challenge with another song and one line; viewers vote for the original or a challenger. The photo stays the original poster'sUntil the hall of fame
Hall of fameEntries in order of arrival (No.1 onward) with the date each got in; the earliest possible date and candidates while emptyAlways, from the trophy at the top of home

Tags fill up fast. Popular tags become the filter chips on the home screen by themselves, and a new tag needs no approval.

Moderation

Content posted by guests needs a floor

Everything here is posted by visitors. Most of the floor is automatic and applied the same way every time, so moderation is a queue rather than a judgment call per post.

Adults only, confirmed onceBefore the first post: 19 or older and the house rules. Reading needs neither.
Three reports hide a postFrom three different people. The post stays hidden until an operator keeps it, hides it, or hides it and restricts the author. Each report and each automatic hide notifies the operator immediately.
Screened before it goes upThe photo and every piece of text (the witty line and the tag) are judged together by an AI model before anything is stored, so a harmless photo with a hateful line, or hateful text inside an image, is caught. Categories: hate, sexual content, sexualised minors, covert filming, gore, personal data, illegal sales, harassment. A clear violation is refused and never stored; a borderline one is kept hidden until an operator approves it, and a model failure is treated as borderline. Battle lines and nicknames are checked too.
Reactions from people, not scriptsClearing cookies used to mint a new identity, and reactions now decide survival. Reacting, posting, battling, voting, reporting and changing a nickname need a one-time invisible check (Cloudflare Turnstile); real visitors see nothing. One network can verify at most 10 identities a day and give at most 3 reactions to one post per period, and 20 reactions on one post within 10 minutes alerts the operator.
Reactions reach you, at most hourlyWeb push, one notification per pairing per hour, carrying the counts accumulated since the last one. A conditional update on the pairing's last-sent time acts as the lock, so simultaneous reactions cannot each send one.
Counts recomputed on every reactionTotals and the score for the current period are recounted from the reaction table each time. Incrementing and decrementing drifts under concurrent requests, and a drifted count never corrects itself; a period's score is frozen once its gate is passed.
A hidden post closes its photoOnce a post is hidden, its photo address answers only the person who posted it and the operator reviewing it. Visible photos are cached at the edge for an hour rather than a year, so a copy of a photo that was later hidden stops circulating soon after.
Deleting keeps the rowDeleting your own pairing takes it down and removes the photo from storage, but keeps the record, so report history and reaction totals stay consistent.
Limits

What this does not claim

Listing what is out of scope is more useful than listing features, because most of it was left out on purpose.

No music is servedA 30-second preview from the catalog and links out to listen. No audio file is stored or streamed from here.
Not a review siteNo ratings, prices or places. Where a photo was taken is not recorded.
One browser, one identityIdentity is a one-year cookie in one browser, with no transfer between devices. Safari clears it after seven days without a visit; the next visit starts a new nickname, and earlier posts stay up.
One free tagTags are free words, so the same idea can split across spellings or synonyms (dog, puppy). Spacing and punctuation are merged; different words are not. The eight suggestions are there to pull common posts onto the same tags.
Catalog coverage has gapsSome Korean songs appear under English titles or romanized artist names. A song known in Korea by a translated title is found only by its original title.
iPhone alerts need the home screenSafari does not deliver web push to a browser tab. The app suggests adding it to the home screen right after the first pairing and on the My PicJam page.
The hall of fame is empty for nowThe service opened in September 2026. The first 30-day gate falls in late October 2026 and the first possible hall of fame in 2031; until then the survivors tab is waiting on the clock.
Screening is a model, not a promiseThe pre-upload check catches clear hate and sexual content in tests, but slang and context can slip past it or be flagged wrongly. Reports and the operator queue stay the backstop. Matching against known abuse material is done separately by Cloudflare's CSAM Scanning Tool, which blocks a matching image and alerts the operator.