How Ind Slots works

Three actions cover the full companion flow. Each takes less than a minute; the install step opens the verified first-party access route.

1Shortlist

Open the app directory and use the search box or the provider tablist. Each row exposes the stable game ID, the provider and the category.

2Inspect

Tap a row to open the detail route. The detail page lists the verifiable facts from the snapshot: game code, RTP, currency support and source status.

3Install

Tap Install App. The button opens /Login/playnow, which 302s to the verified partner entry point. Continue the install there.

4Stay in touch

If anything looks unfamiliar, open /contact/ for a private support conversation. The desk replies in the same thread.

What the install button does

The first-party access route, in plain text

Every commercial CTA points to /Login/playnow. The path lives on the same host as this product profile, redirects server-side via nginx, and lands at the verified partner entry point. The full external destination is never placed in public HTML or JavaScript.

The redirect is a 302. The page sets rel="sponsored nofollow noopener noreferrer" and uses dns-prefetch + preconnect for the partner origin only.

Step 1: shortlist in detail

What shortlisting actually involves

Use the search box

The search input matches on name, ID, provider and category. Try a stable game ID (e.g. 85, 149, 140) or a category (e.g. fishing, wheel, dice). The result count updates live.

Use the provider tablist

Eight tabs filter by provider: All, Evolution, JILI, PG SOFT, Pragmatic Play, Fachai, YellowBat, KOOLBET, Originals. Tabs reset to All with one click.

Read the row metadata

Each row shows the game ID, the provider and the category. The ID is the stable key; the name may overlap across providers.

Open the detail route

A row click opens the canonical detail route. The detail page lists the verifiable facts from the snapshot, plus breadcrumbs and a related games block.

Step 2: inspect in detail

What to look for on a detail route

The spec table

Game ID, provider, category, game code, RTP (captured), currency support, source status, subject UUID. Each field comes from the snapshot. If a field is empty, the row says "unlisted" or "not published".

The image

The detail image comes from the source-referenced artwork in getindslots games. If the image does not match the provider's own image pool, the title is a copy.

The related games block

The related games block lists other titles from the same provider. Use it to compare mechanics, RTP and category across getindslots games without retyping the search.

The FAQ

The FAQ covers the verifiable facts: ID, provider, RTP, install flow and regional availability. Use it to settle a question before you commit.

Step 3: install in detail

What the verified route does

One route, one redirect

The install button is wired to /Login/playnow. The route 302s once and only once, at the nginx layer. JavaScript is not involved.

No mirror URLs

The companion never exposes an alternate mirror URL, a side-loaded APK or a partner-side referral link. The same route serves every CTA.

DNS pre-warm

The HTML head sets dns-prefetch and preconnect for the partner origin. That warms the DNS lookup without exposing the destination in HTML or JavaScript.

Mobile sticky CTA

On viewports below 900px, a sticky Install App CTA sits at the bottom of the viewport. The button uses the same /Login/playnow route.

FAQ

Reader questions

Does the install button work on mobile?

Yes. A persistent sticky CTA is published at the bottom of every page on viewports below 900px. The button uses the same /Login/playnow route.

What does the install route actually do?

It returns a 302 redirect to the verified partner entry point. The redirect is configured at the nginx layer; no JavaScript is involved.

Where can I see the snapshot?

The snapshot lives in the project root: .control-room/factory-v10-sponsor-data/.

How do I uninstall?

Standard Android uninstall: long-press the app icon → App info → Uninstall. The companion does not retain any local storage beyond cookie preferences and an optional support ticket reference.

Behind the scenes

What the install route does between click and confirm

DNS pre-warm

The HTML head sets dns-prefetch and preconnect for the partner origin. The browser starts the TLS handshake before the user clicks the button.

Click event

The Install App button is a native anchor element. The browser fires a navigation to /Login/playnow on the same host. No JavaScript handler runs.

Server redirect

The nginx server returns a 302 with the partner's verified entry point. The browser follows the redirect once. The full destination URL is never placed in the public HTML or JavaScript of the companion.

Partner handoff

The partner site loads under its own domain. From that point on, the partner's own terms and privacy policy apply. The companion retains no data on the partner side.

Search tips

Three ways to find a record

By name

Type a partial name like "fortune gems" or "teen patti". The search matches on lowercase substring across the displayed name. Useful for shortlisting a familiar family.

By ID

Type a numeric ID like 85, 149 or 140. The search matches on the game_id field. Useful for verifying a record against the public snapshot.

By category or provider

Type a category like "fishing" or a provider like "evolution". The search matches on the data-cat and data-provider fields. Useful for browsing a category or a provider's full list.

Provider tablist

Use the All, Evolution, JILI, PG SOFT, Pragmatic Play, Fachai, YellowBat, KOOLBET, Originals tabs to filter by provider. The tablist resets to All with one click.

Step-by-step in detail

What each step actually does on the wire

Step 1 · Shortlist on the wire

Open /app/. The HTML loads the chrome from /assets/css/style.css?v=2. The search input and provider tablist are wired by /assets/js/main.js?v=2. The 973 getindslots games rows are pre-rendered server-side; no fetch is required.

Step 2 · Inspect on the wire

Click a row. The browser navigates to /games/{slug}-{id}/. The detail page is a static HTML file with the verifiable facts pre-rendered into the spec table. JSON-LD VideoGame schema is embedded in the head.

Step 3 · Install on the wire

Click the Install App button. The browser fires a navigation to /Login/playnow. The nginx server returns a 302 redirect. The browser follows the redirect once and lands at the verified partner entry point.

Step 4 · Stay in touch on the wire

Open /contact/. The HTML loads the chat chrome from /contact/contact.css. The chat form posts to /contact/api/send and polls /contact/api/messages every 5 seconds.

Performance

What loads fast and what waits

CSS

The stylesheet is a single self-hosted file. No external CSS, no third-party font preconnect, no JavaScript-driven stylesheet. The page paints as soon as the stylesheet parses.

JS

The script is a single self-hosted file with the defer attribute. The script runs after the HTML parses. No analytics or marketing scripts load before consent.

Images

Images use loading="lazy" + decoding="async" except the LCP image. The LCP image is the homepage hero; it loads eagerly with fetchpriority="high".

Fonts

The page uses system fonts as a fallback. The custom fonts (Space Grotesk, Inter, JetBrains Mono) are served as woff2 from the same origin. The font display is swap; the page does not block on font load.

Deep dive

What each step looks like on a slow phone

First paint on mobile

The first paint shows the chrome (header, footer, sticky CTA) plus the hero. The CSS is a single self-hosted file. The first paint typically lands within 1.5 seconds on a mid-range Android device.

Search on mobile

Type a partial name or ID. The result count updates live as you type. The provider tablist is reachable above the inventory. The search does not require a network request; the inventory is pre-rendered.

Detail route on mobile

Tap a row. The browser navigates to the detail route. The detail page is a static HTML file. The hero image loads with fetchpriority="high"; the related games thumbnails load lazily.

Install on mobile

Tap Install App. The browser fires a navigation to /Login/playnow. The redirect lands at the partner. The full destination URL is never placed in the public HTML or JavaScript of the companion.

CDN behaviour

How the content delivery network serves pages

Edge cache

The CDN caches static HTML, CSS, JS and image files at the edge. Cache lifetime is set per file type. The HTML cache uses a short lifetime so updates propagate within minutes.

DNS pre-warm

The HTML head sets dns-prefetch and preconnect for the partner origin. The browser starts the TLS handshake before the user clicks Install App.

HTTPS

The companion serves only HTTPS. The CDN terminates TLS at the edge. The browser-side certificate chain is published and pinned at the OS level.

Geo

The CDN serves pages from the nearest data centre. Pages load from a regional edge for the visitor's IP. Static asset URLs do not change per region.