Technology reference · LeadMonster

A speaking product you can open today.

Spiel-Freunde, from Interconsult LLC, is a live website where people sit down to the classic cards of Germany, Austria and Switzerland with partners who talk. This page is the machinery behind that table, for an owner abroad who is weighing an AI project and does not need the games. The piece a guest meets first is the app: it installs from the browser, full screen, with no store in between.

The live table is in German. LeadMonster is the agency. Interconsult LLC operates the product. The German version of this page is Deutsch.

The live table on a desktop browser: partner portraits, their cards face down, the player's own cards face up, and a conversation column.
The running interface. Partners hold their cards face down. Only the player's hand is open. Strength, sound and conversation sit in the bar.
Home-screen icon: a cream rounded square, the letters SF, and a small gold spade.

App without an app store

Installed from the browser. Full screen. No review queue.

Windows, Android, iPad and iPhone install this site from the browser they already have. There is no store listing, so there is no store fee and no wait for a review. A restaurant can put ordering or booking on the home screen the day the service is ready, and every installed copy is the same site.

The one-time iPad hint: share, then add Spiel-Freunde to the Home Screen.
On iPad and iPhone, Safari does not offer an install button. The page shows this hint once. It names the device, and the steps are Share, then Add to Home Screen. Closing it is remembered on that browser.
The table running as an installed app, with no address bar. The player's cards are face up. The partners' cards are face down.
Opened from the icon, the window is standalone: no address bar. The player's own cards stay on the screen. Partners still show only the backs.

Who sees which install

Chrome and Edge on Windows and Android fire an install prompt. The site holds that prompt and shows a button, "Als App installieren". iPad, iPhone and iPadOS do not fire it, including an iPad that reports itself as a Mac with a touch screen, so they get the hint above instead. The hint is skipped when the app is already open full screen, and after the guest dismisses it. Firefox on the desktop, and Safari on a Mac, are not given a button this site cannot honour.

What full screen changes

The manifest asks for a standalone window, any orientation, and this whole site as the scope. The icon starts at the home page. Once installed, the page pads for the notch and the home indicator, keeps the top bar to one line of short labels, and sizes the table to the visible height so the hand is not tucked under the fold. The same fit already runs in the browser on iPad and on Android tablets, on every table. Sign-in, payments and the live conversation never enter the app cache.

A new page on the next open

Pages are fetched from the network first. If the network is down, the last cached page is used, or the home page. The new shell takes over at once: it does not wait for every old tab to close. Styles, scripts and pictures are served from cache and refreshed in the background, so a visual change can need one further open. There is no package to submit and no review board in the way. Staff at a hotel open the icon and have the page that was published.

For your business A restaurant's ordering or booking app, or a hotel's guest guide, lives on the tablet by the door. No developer account, no store fee, no week in a review queue. Publish, and the next open is the new version.

Portrait of Horst, a speaking partner with a flat cap.
HorstGruff Berlin voice. Cool at the table, warm underneath. A fixed character, not a generic assistant.
Portrait of Margarethe, a speaking partner in pearls.
MargaretheTheatrical, a little vain, and bolder when she bids. The personality changes courage, not the rules.
Portrait of Chantal, a speaking partner with red hair.
ChantalLoud, kind, and from the Ruhr. Same engine as the others. A different voice, dialect and manner.

Capabilities

What is actually running

Each block is something the live product does. The line under it is what the same pattern can mean in a restaurant, a hotel or a shop. Nothing here is a promise of income.

AI avatars with a personality and a voice

Each partner has a written character: dialect, temper, and how bold they are. They speak in a queue, one at a time. A prepared line plays a recording made ahead of time. A free sentence is spoken by neural text-to-speech on the server, and if that is unavailable the browser voice takes over, with its own pitch and pace. A guest can also use their own face: a photo is cropped in the browser to about 512 pixels and stays on the device, or a drawn portrait is made from a short form. Drawn portraits are capped at four an hour from one address, eight a day from that address, and thirty a day for the service.

For your business A host who stays in character at the door, on the phone and on the website, and still sounds like your house when the live voice is slow.

Real-time interaction

A solo session runs in the browser, so a tap is immediate. A shared table for up to three people is dealt on a server. Updates travel over a WebSocket, and if that drops the page asks again every 1.5 seconds. Each seat keeps a token in the browser and can rejoin. With no activity the table expires after 45 minutes. While a free reply is being written the screen shows that the partner is writing, and holds that state for a brief moment so it does not flicker. Sound starts after the first tap, because browsers block audio before that.

For your business A shared screen at a restaurant table, or an answer while the guest is still on the line, with a calm fallback when the connection blinks.

A rules engine beside the AI

Legal moves, the shuffle and the score live in a deterministic engine. The partner may choose only a move that engine allows, and only from the cards that seat is allowed to see. The large language model never chooses the card. It writes the sentence. The split is described in full under How the AI works.

Zuschauen & Lernen plays your seat for you and explains each move in plain words. You set the pace to slow, normal or fast, pause, take one step, and take the seat back whenever you like.

For your business The host can be warm. The bill, the booking and the house rules stay exact, and they still work when the conversation service is down.

Accounts and subscriptions

There is no password. The guest asks for a sign-in link by email. The link is stored only as a hash, for 30 minutes. One email, one account. The access key then lives in the browser, not in a cookie. A practice round needs no account. The first sign-in starts 14 days with the full cast. After that, Standard is €9.95 a month and keeps two partners. Premium is €14.95 a month and opens the whole cast. Six months include one month. Twelve months include three. Nothing renews by itself. Without a membership, three rounds a day remain, on the Berlin calendar, with the two standard partners. Payment is by card, SEPA, Apple Pay, Google Pay or crypto through the payment provider.

For your business Regulars of a hotel or a shop join from an email link, try the service, then pay a season ahead. The desk is not resetting passwords.

Referral and partner systems

A partner signs up free on LeadMonster and receives a personal link. The first code a browser sees is remembered for 90 days, later codes are ignored, and the code travels with sign-up and checkout. It is not shown on the page. The guest pays the listed price. The partner receives 20 percent of the membership price that was actually paid, for Standard and Premium, for one, six or twelve months, and again when that membership is renewed, for as long as the attribution holds. Each partner can have a short address of their own: the film, one sentence, and a button onto their link. A social kit ships seven pictures, square and portrait, with a caption and a place for that link, as separate files and as one zip.

A signed-in player can invite up to five people, each by name and email. Each person receives their own message and a link that belongs only to them. The first invite a browser sees is remembered for 90 days. A later one is ignored. The code is sent with sign-up and checkout, and it is not shown on the page. When that person creates an account from the link and then starts a paid Premium membership, the inviter is credited four weeks of Premium. Five such memberships are twenty weeks. A later renewal counts again. The weeks stack with the bonus from a confirmed fault report, and they work like Premium. The reward is play time, not money. A Standard membership, the trial, and an existing bonus do not count. Inviting one's own email is refused, including the dotted and plus-alias forms of Gmail and Googlemail, and the same email can be invited only once. The list shows three states: invited, signed up, and Premium. The link token is at least 16 characters and is stored only as a hash. The message uses the name on the account. Those rules run on the operator's server.

For your business A neighbouring hotel can have its own page and a tracked link. A regular who brings a paying guest, or who reports a real fault, is thanked automatically with time, not with a spreadsheet.

Automated testing

Each rule set has its own test suite. Complete hands are played at every strength, and long runs of random games check that a penalty still matches the cards that caused it. On the main trick-taking table, two hundred automatic games also assert that a partner's view never contains another player's hidden cards. A change to the rules is expected to pass these games before it is published. The public site itself is static: tests and tools stay outside the published folder.

For your business Change the house rules, the menu logic or the booking limits, and let automatic cases try to break them before a guest does.

An operator desk

The public site has no admin screen. The desk lives with the operator, behind a sign-in. It lists prepaid memberships and orders, read only: tier, price, status, email, and whether a referral code was attached. It lists licences with their expiry. It lists every player invite, from invited, to signed up, to Premium, with the weeks credited. Fault reports have a status filter, the text, and a screenshot when the player attached one. Confirming a real fault credits four weeks of Premium after the trial and records that the bonus was granted. A control on the same desk runs the reminder check. A separate service token, kept only on the server, can open a private table or read results. Without that token the route answers as if it were not there. Results store the winner and the score, not the cards and not the seat tokens.

For your business Staff see orders, invitations and open reports. Guests never see that desk, and a private session does not leak the other person's details.

A responsive website

The same pages rearrange for a phone, a tablet and a desktop browser. On a tablet the top bar stays one line, the table uses the visible screen height, and the player's own cards stay large enough to read the rank and suit and to tap. That is the layout the installed app uses as well. How the icon gets onto the home screen is the section App without an app store.

For your business One service on the phone at the pass and on a tablet by the door. The same address is the app.

How the AI works

Three jobs that stay apart

The card is chosen by a scored rule of thumb that can see only what a person in that seat could see. The sentence is written afterwards, from public facts. The recording is a third step. Mixing those jobs is how a charming assistant starts inventing prices.

A turn, from the tap to the spoken line

On the device

  1. Rules engineShuffle, legal moves, scoring. A refused move is not applied.
  2. One seat's viewOwn cards, and only what the rules have made public.
  3. HeuristicPicks a legal card. Beginner, standard, or tournament.
  4. Written linesA greeting, a bid, a win. Already recorded.
  5. Voice queueOne partner speaks. The next clip is already loading.

On the server

  1. Keys stay hereThe browser never receives them. Logs have them removed.
  2. LimitsLength, time, and how often one address may call.
  3. PersonaCharacter, tone, and a block of public facts only.
  4. Large language modelOne or two spoken sentences. No card is chosen here.
  5. Neural text-to-speechOnly when that sentence has no recording.

Fallback

  1. A written lineThe same banks used for ordinary table events.
  2. Its recordingPlayed from memory or from the browser cache.
  3. The browser voiceGerman speech, a different pitch and pace per partner.
  4. Two failuresFree conversation stays off for the rest of that visit.
  5. The table continuesMoves, scores and legal play do not wait on the model.

Face-down cards stay in the rules engine. They are not part of the summary sent to the model.

How a partner chooses a move

The engine builds a view for that seat: the partner's own cards, the public play, and a face-down card only when the rules say that seat may see it. Suits another player has shown they cannot follow are inferred from the public play, not from peeking. Every candidate is filtered to the legal set. If only one card is legal, that card is played.

Three strengths share that view. Beginner is cautious, and on about one turn in four plays a weaker card that is still legal, without throwing away high cards when a cheaper one exists. Standard plays the heuristic as written. Tournament, on the main trick-taking table, adds a short search: the unknown cards are dealt again and again, only in ways that still fit the public facts, each legal card is played out in those imagined deals, and the card with the better average is kept. Fourteen imagined deals is the default. The real hidden cards are never opened. Personality is a small tilt on top. One partner bids a little bolder, another a little cooler. The numbers change courage. They do not change what is legal.

Other tables use the same three names with a heuristic written for that rule set. They still see only their own hand, the public play, and how many cards the others hold. When several people share a table, the shuffle and the deal move to the server. Each browser receives the same kind of view, and an empty seat is filled by this same heuristic.

What the model is told

Free conversation is the only moment the language model speaks. A bid, a win or a greeting picks a prepared line from a bank. The browser may know more that is still public, such as how many cards each seat holds. The server drops those fields. It keeps the phase, the name of the game, the scores, and, where the game has someone playing alone, who that is. A partnership game also keeps the trump and the teams. Added to that are the person's latest remark, at most 300 characters, and up to six recent turns. The model is told to address the person as "you". The name on the account is shown on the screen and stored with the account. It is not added to this prompt.

The instructions are part of the call. Light teasing is allowed. The partner must not be insulting, discriminatory, political or suggestive, and must not promise money or gambling. It must not say it is a program, a model or a machine, and must not name a company or a product. It is told that it does not know face-down cards and must not pretend to, even if asked. The remark is table talk, not an order to leave the character. The reply is cut to two sentences and about forty words. If the text names the machinery underneath, the server discards it and the table uses a written line.

Limits that keep it fast

ReplyTwo sentences, about 40 words, a small token budget.
Chat wait8 seconds, then a written line.
Speech wait12 seconds, then the browser voice.
Pace12 calls a minute from one address.
Daily ceiling400 calls per function, in server memory, reset each UTC day.
One missThat line falls back. The next line may try again.
Two missesFree conversation stays off for the visit.
A switchA visit can turn free conversation off from the start.

Recorded lines never go to speech synthesis. A new line starts downloading as soon as it joins the queue. Greetings and the lines used most often are decoded when the table opens and kept in memory, and the files sit in the browser cache. If the richer audio format is refused, the server asks again for a smaller file. While a clip plays, the free-speech microphone pauses.

Privacy

Keys for the language model, the speech service and drawn portraits exist only in the server environment. Error text is scrubbed before it is logged. The browser talks to its own site, and the server accepts calls from this site, from its hosting preview, and from a local machine. A photo used as a face is cropped in the browser and stored on the device. The server does not receive that file. A drawn face sends the form fields the person typed, and the finished picture stays on the device. The microphone stays off until it is switched on. The browser may recognise speech with its own service. The text is sent on only if the person submits it as chat. Chat text and the short public summary go to the language service. Hidden cards do not. Email and the player name are stored when a sign-in link is requested. Deleting the account removes the player, the links, the sessions and the stored rounds. Invoices and licence codes remain, as they do for any paid order.

For your business A guest of a restaurant can talk to the host without handing over a photograph, a card number, or the contents of someone else's order. The prices stay in your system of record.

Picture and film

A film, a poster, and pictures sized for a phone.

The lead film exists in a wide cut and a vertical cut, with a still used as the poster and as the share image. Partners also have portraits. The social kit is seven scenes, each as a square and as a tall frame, with a caption ready to paste. The pictures are production assets for the product, not a catalogue of the games.

For your business A hotel or a shop can publish a short film and a set of pictures with the link already in the caption, in the shape each network asks for.

Want something like this for your business?

Tell LeadMonster what the host should do, which rules must stay exact, and where the desk should live. Spiel-Freunde is the reference. The conversation is about your own project.