Company instructions for fulfilling BingoAI gift cards and classic BasicBingo requests:
interviews, descriptions, social paste, chat logs, and photos, turned into print-ready cards.
Use with the app at / or produce offline when needed.
Classify the request before generating squares.
| Source | What to extract | Risks |
|---|---|---|
| Free description | Names, relationship, setting (wedding, office, trip), must-include jokes | Too vague → invent plausible tropes, then mark for review |
| Pasted homepage / LinkedIn / Facebook | Job, hobbies, catchphrases, travel, pets, volunteer work, recurring posts | Don’t use private contact data; avoid medical or legal sensitive content |
| Chat logs (.txt, exports) | Repeated memes, emoji habits, inside jokes, who always cancels plans | Strip phone numbers, addresses, credentials if present |
| Images / screenshots | Captions, group dynamics, outfits, locations, pets, food culture | Vision OCR can misread — verify funny names before print |
| PDF / notes | Event schedule, speech themes, company culture deck phrases | Corporate jargon bingo is great; HR-sensitive content is not |
| Size | Cells (w/ FREE) | Best for |
|---|---|---|
| 3×3 | 8 + FREE | Kids tables, short events, icebreakers |
| 4×4 | 16 (no natural center FREE unless forced off) | Quick parties, dinner games |
| 5×5 Classic | 24 + FREE | Larger gift card, weddings, family reunions, offices |
| 6×6 | 36 | Long events, conferences, “hard mode” |
| 7×7 Epic | 48 + FREE | All-day festivals; expect smaller type on print |
FREE center: enable for odd sizes, including 3×3, 5×5, and 7×7. The toggle keeps the other squares in place. Players start with the center marked. Turn it off when every square should be a real line.
Gift cards default to 3×3. That default is the single value
GIFT_DEFAULT_SIZE in config.js. Set it to 5 when a
classic gift board should open first.
The Gift tab is the product. The buyer names a recipient and an occasion (birthday, Christmas, retirement, party, team, couple, pet), picks a tone, and answers who the card is about. Each later question depends on the earlier answers. A dad and a product launch do not get the same interview. The wizard stores the session in SQLite and stops at seven steps. Skip ahead / generate now is on every step.
| Tone | How squares should sound |
|---|---|
| Warm | A toast. Specific and kind. |
| Fond-mean | A roast from someone who loves them. Never cruel, never about protected traits. |
| Professional | Safe to read at work. Still particular to that team or launch. |
| Chaotic | Party energy. Short, and still about this subject. |
cards.order_id is
reserved for the later shop.
Every wizard step has multi-select chips and an Other box. Both go to the model before the next question. The interview still stops at seven steps, and Skip ahead / generate now is on every step.
A voice rant can be recorded in the browser or uploaded. With XAI_API_KEY, xAI
speech-to-text fills the transcript and Grok pulls points. Without a key, audio is stored and
the buyer types the transcript; a typed rant still gets local points. Show that transcript and
the points, and let them edit, before the card is generated.
Get this card is the checkout. Prices: PDF €6.99, print it yourself €6.99 (300gsm card stock), party set €14.99, printed card €16.99 shipped to the EU, UK, or US. Stripe is not connected. Pay now is a placeholder. Skip payment (dev) does not charge. Printed orders are stored only — no printer API. Acrylic and wood keepsakes are coming soon.
On a finished card, Create 12 similar starts a party printout. The buyer pays before the 12-card preview. Stripe is not connected: Pay now is a placeholder, and Skip payment (dev) unlocks the preview without a charge.
The twelve cards share the person, occasion, and tone. Positions are shuffled and some squares are swapped for extras from one Grok batch, or from the local mixer when no API key is set. Keep the roast to about 40% of a card. No sexual content.
XAI_API_KEY is
set. Without a key the server still drafts a card and the badge says
Local fallback.
When AI is unavailable or the customer wants full human craft:
App → Print. Use Chrome or Edge for best CSS print. Set margins to Default or Minimum, enable background graphics if you want theme colors (Classic cream is safest for ink).
Print → Destination: Save as PDF. Name file
bingo-[name]-[size].pdf. Good for email delivery and print shops.
Paper: 80–100 gsm white or cream A4 / Letter. Color optional. For thick card stock (160–200 gsm), print one card per sheet, then trim with a paper cutter.
Export PDF, order color laser on light card stock. For events, print 10–20% extra. Optional laminate for reuse with dry-erase markers (leave FREE center unlaminated edge for punch holes if binding).
When chatting with Grok in-app, operators can paste patterns like:
data/bingo.db.uploads/ — purge on a schedule if handling customer data.XAI_API_KEY (SpaceXAI / xAI). Never ship the key to the browser.grok-4.5 (override with XAI_MODEL).GET /api/health.| Issue | Action |
|---|---|
| AI returns mean / off-brand squares | Chat-refine with tone constraint; if still bad, manual rewrite and note incident |
| Vision extract garbage | Ask customer for text paste; don’t invent from bad OCR names |
| No API key / rate limit |
Missing key: the app drafts locally and says so. Rate limit or a bad key: fix
.env and retry. Blank cards still work offline.
|
| Customer unhappy with roast level | Offer milder regen free; document preferred tone on the card notes field |