The Listener
Monitors Twitter, Reddit, Telegram and competitor reviews continuously. Searches your exact buyer keywords across millions of posts every 60 seconds. Never sleeps. Never misses.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="robots" content="index, follow"> <title>Flintel — Signal Intelligence for Fintech & FX</title> <meta name="description" content="Flintel monitors Twitter, Reddit, Telegram and competitor reviews 24/7. The moment a buyer shows intent — your team gets the signal, the context, and exactly what to say. Under 90 seconds."> <link rel="canonical" href="https://flintel.io"> <meta property="og:type" content="website"> <meta property="og:url" content="https://flintel.io"> <meta property="og:title" content="Flintel — Signal Intelligence for Fintech & FX"> <meta property="og:description" content="Your buyers are already talking. We find them first. Real-time intent signals delivered to Slack and HubSpot in under 90 seconds."> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="Flintel — Signal Intelligence for Fintech"> <script type="application/ld+json">{"@context":"https://schema.org","@type":"SoftwareApplication","name":"Flintel","description":"Signal intelligence platform that monitors social communities for buyer intent and delivers actionable leads to fintech sales teams.","url":"https://flintel.io","applicationCategory":"BusinessApplication","offers":{"@type":"Offer","availability":"https://schema.org/InStock"},"contactPoint":{"@type":"ContactPoint","email":"hello@flintel.io","contactType":"sales"}}</script> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,200;1,9..144,300;1,9..144,400;1,9..144,500&family=Inter:wght@300;400;500&family=IBM+Plex+Mono:wght@300;400;500&display=swap" rel="stylesheet"> <style> /* ═══════════════════════════════════════════ TOKENS ═══════════════════════════════════════════ */ :root { --ink: #1D1D1F; --ink-2: #3A3A3C; --ink-3: #6E6E73; --ink-4: #AEAEB2; --ink-5: #D2D2D7; --white: #FFFFFF; --off: #F5F5F7; --off-2: #FAFAFA; --line: rgba(0,0,0,0.07); --blue: #0066CC; --blue-dim: rgba(0,102,204,0.08); --green: #28CD41; --orange: #FF6B2B; --sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; --serif: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; --mono: 'IBM Plex Mono', 'SF Mono', monospace; --ease: cubic-bezier(0.25, 0.46, 0.45, 0.94); } /* ═══════════════════════════════════════════ RESET ═══════════════════════════════════════════ */ *,*::before,*::after{box-sizing:border-box;margin:0;padding:0} html{font-size:16px;scroll-behavior:smooth} body{font-family:var(--sans);background:var(--white);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden} a{color:inherit;text-decoration:none} *:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px} .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0} /* ═══════════════════════════════════════════ NAV ═══════════════════════════════════════════ */ #nav { position: fixed; top:0; left:0; right:0; z-index:999; height: 52px; display: flex; align-items: center; justify-content: space-between; padding: 0 40px; transition: all 0.4s var(--ease); } #nav.solid { background: rgba(255,255,255,0.9); backdrop-filter: blur(20px) saturate(180%); -webkit-backdrop-filter: blur(20px) saturate(180%); border-bottom: 1px solid var(--line); } .nav-logo { font-family: var(--serif); font-size: 20px; font-weight: 600; color: var(--ink); letter-spacing: -0.025em; } .nav-links { display: flex; gap: 32px; align-items: center; } .nav-a { font-size: 13px; font-weight: 400; color: var(--ink-3); transition: color 0.15s; } .nav-a:hover { color: var(--ink); } .nav-btn { font-size: 13px; font-weight: 500; color: var(--white); background: var(--ink); padding: 8px 20px; border-radius: 980px; transition: transform 0.2s, background 0.2s; } .nav-btn:hover { background: var(--ink-2); transform: scale(1.03); } /* ═══════════════════════════════════════════ HERO — FULL VIEWPORT TYPE ═══════════════════════════════════════════ */ #hero { min-height: 100svh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 100px 32px 80px; position: relative; overflow: hidden; background: var(--white); } /* Delicate grid lines — pure texture */ #hero::before { content:''; position:absolute; inset:0; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 80px 80px; mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, black 30%, transparent 100%); -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, black 30%, transparent 100%); opacity: 0.35; pointer-events: none; } .hero-content { position:relative; z-index:1; } .hero-tag { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 500; color: var(--ink-3); letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 40px; opacity: 0; animation: fadeUp 0.6s var(--ease) 0.1s forwards; } .pip { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 0 rgba(40,205,65,0.4); animation: pipPulse 2s ease infinite; } @keyframes pipPulse { 0% { box-shadow: 0 0 0 0 rgba(40,205,65,0.5); } 70% { box-shadow: 0 0 0 9px rgba(40,205,65,0); } 100% { box-shadow: 0 0 0 0 rgba(40,205,65,0); } } /* The headline — the whole reason this page exists */ .hero-h { font-family: var(--serif); font-size: clamp(44px, 6vw, 76px); font-weight: 500; letter-spacing: -0.045em; line-height: 0.96; color: var(--ink); margin-bottom: 40px; } .hero-h .row { display: block; overflow: hidden; } .hero-h .row-inner { display: block; opacity: 0; transform: translateY(110%); animation: rowUp 0.9s var(--ease) forwards; } .hero-h .row:nth-child(1) .row-inner { animation-delay: 0.15s; } .hero-h .row:nth-child(2) .row-inner { animation-delay: 0.28s; } .hero-h .row:nth-child(3) .row-inner { animation-delay: 0.41s; } .hero-h .row:nth-child(4) .row-inner { animation-delay: 0.54s; } .hero-h em { font-style: italic; font-weight: 300; color: var(--ink-3); } @keyframes rowUp { to { opacity:1; transform:translateY(0); } } @keyframes fadeUp { to { opacity:1; transform:translateY(0); } } .hero-sub { font-size: clamp(15px, 1.6vw, 18px); font-weight: 300; line-height: 1.65; color: var(--ink-3); max-width: 520px; margin: 0 auto 48px; letter-spacing: -0.01em; opacity: 0; animation: fadeUp 0.8s var(--ease) 0.8s forwards; } .hero-actions { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; opacity: 0; animation: fadeUp 0.8s var(--ease) 0.95s forwards; } .cta-main { display: inline-flex; align-items: center; gap: 7px; font-size: 15px; font-weight: 500; color: var(--white); background: var(--ink); padding: 14px 28px; border-radius: 980px; transition: transform 0.2s, box-shadow 0.2s, background 0.2s; letter-spacing: -0.01em; } .cta-main:hover { background: var(--ink-2); transform: translateY(-1px); box-shadow: 0 8px 32px rgba(0,0,0,0.18); } .cta-ghost { display: inline-flex; align-items: center; gap: 7px; font-size: 15px; font-weight: 400; color: var(--ink-3); padding: 14px 24px; border-radius: 980px; border: 1px solid var(--ink-5); transition: border-color 0.2s, color 0.2s, transform 0.2s; letter-spacing: -0.01em; } .cta-ghost:hover { border-color: var(--ink-3); color: var(--ink); transform: translateY(-1px); } .hero-proof { margin-top: 48px; font-size: 12px; color: var(--ink-5); letter-spacing: 0.01em; opacity: 0; animation: fadeUp 0.8s var(--ease) 1.1s forwards; } /* Scroll cue */ .scroll-cue { position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 8px; opacity: 0; animation: fadeUp 0.8s var(--ease) 1.4s forwards; } .scroll-line { width: 1px; height: 48px; background: linear-gradient(to bottom, var(--ink-5), transparent); animation: scrollPulse 2s ease-in-out infinite; } @keyframes scrollPulse { 0%,100%{transform:scaleY(1); opacity:0.5} 50%{transform:scaleY(1.2); opacity:1} } .scroll-label { font-size: 10px; color: var(--ink-5); letter-spacing: 0.1em; text-transform: uppercase; } /* ═══════════════════════════════════════════ SIGNAL DEMO — THE CENTREPIECE ═══════════════════════════════════════════ */ #demo { padding: 140px 32px 160px; background: var(--off); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); } .demo-inner { max-width: 860px; margin: 0 auto; } .demo-label { font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-4); margin-bottom: 56px; display: flex; align-items: center; gap: 10px; } .demo-label::before, .demo-label::after { content: ''; flex: 1; height: 1px; background: var(--ink-5); } /* The live card */ .live-card { background: var(--white); border: 1px solid var(--line); border-radius: 24px; overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,0.03), 0 12px 40px rgba(0,0,0,0.05); } .lc-bar { padding: 16px 28px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; background: var(--off-2); } .lc-title { font-family: var(--mono); font-size: 10px; color: var(--ink-4); letter-spacing: 0.1em; text-transform: uppercase; } .lc-live { display: flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 10px; color: var(--ink-3); letter-spacing: 0.1em; text-transform: uppercase; } .lc-live-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--green); animation: pipPulse 1.8s ease infinite; } .lc-body { display: grid; grid-template-columns: 1fr 1fr; } .lc-left { padding: 44px 40px; display: flex; flex-direction: column; gap: 24px; position: relative; } .lc-left::after { content:''; position:absolute; top:44px; bottom:44px; right:0; width: 1px; background: var(--line); } .lc-right { padding: 44px 40px; display: flex; flex-direction: column; gap: 24px; } .lc-meta-row { display: flex; align-items: center; gap: 10px; } .lc-platform { font-family: var(--mono); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-4); } .lc-handle { font-weight: 500; font-size: 15px; color: var(--ink); letter-spacing: -0.01em; } .lc-bio { font-size: 12px; color: var(--ink-4); font-weight: 300; } .lc-corridor { display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 11px; color: var(--ink-3); background: var(--off); padding: 5px 12px; border-radius: 6px; width: fit-content; font-weight: 500; letter-spacing: 0.06em; } .lc-quote { font-size: 15px; line-height: 1.7; color: var(--ink-2); font-weight: 300; font-style: italic; } /* Typing cursor */ .lc-quote .cursor { display: inline-block; width: 1.5px; height: 1em; background: var(--ink-4); vertical-align: text-bottom; margin-left: 2px; animation: blink 0.8s step-end infinite; } @keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} } .lc-tags { display: flex; flex-wrap: wrap; gap: 6px; } .lc-tag { font-size: 11px; font-weight: 400; color: var(--ink-4); background: transparent; border: 1px solid var(--line); padding: 4px 11px; border-radius: 980px; } /* Score meter */ .score-section { display: flex; flex-direction: column; gap: 12px; } .score-top { display: flex; align-items: baseline; gap: 4px; } .score-num { font-family: var(--sans); font-size: 56px; font-weight: 300; color: var(--ink); letter-spacing: -0.03em; line-height: 1; } .score-den { font-family: var(--mono); font-size: 15px; color: var(--ink-5); align-self: flex-end; padding-bottom: 5px; } .score-label { font-size: 11px; color: var(--ink-4); text-transform: uppercase; letter-spacing: 0.1em; font-weight: 500; } .score-track { height: 3px; background: var(--off); border-radius: 2px; overflow: hidden; position: relative; } .score-fill { height: 100%; border-radius: 2px; background: var(--ink); width: 0%; transition: width 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); } .lc-divider { height: 1px; background: var(--line); } /* Outreach */ .outreach-box { background: var(--off); border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; display: flex; flex-direction: column; gap: 8px; } .outreach-lbl { font-size: 10px; font-weight: 500; color: var(--ink-4); text-transform: uppercase; letter-spacing: 0.12em; } .outreach-text { font-size: 13px; font-weight: 300; line-height: 1.65; color: var(--ink-2); } /* Destination chips */ .dest-row { display: flex; gap: 8px; align-items: center; } .dest-label { font-size: 11px; color: var(--ink-4); margin-right: 2px; } .dest-chip { font-size: 11px; font-weight: 400; padding: 4px 11px; border-radius: 980px; color: var(--ink-3); background: transparent; border: 1px solid var(--line); } .lc-timestamp { font-family: var(--mono); font-size: 10px; color: var(--ink-5); letter-spacing: 0.04em; text-align: right; padding: 14px 28px; border-top: 1px solid var(--line); } /* ═══════════════════════════════════════════ ROTATING SIGNALS (below the card) ═══════════════════════════════════════════ */ .signal-nav { display: flex; justify-content: center; gap: 8px; margin-top: 28px; } .signal-dot-btn { width: 6px; height: 6px; border-radius: 50%; background: var(--ink-5); border: none; cursor: pointer; padding: 0; transition: all 0.2s; flex-shrink: 0; } .signal-dot-btn.active { background: var(--ink); transform: scale(1.4); } /* ═══════════════════════════════════════════ STATEMENT SECTIONS — full-bleed type ═══════════════════════════════════════════ */ .statement { padding: 160px 32px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; position: relative; } .statement.dark { background: var(--ink); color: var(--white); } .statement.light { background: var(--white); } .statement.off { background: var(--off); } .statement-kicker { font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-4); margin-bottom: 24px; } .statement.dark .statement-kicker { color: rgba(255,255,255,0.3); } .statement-h { font-family: var(--serif); font-size: clamp(40px, 6.5vw, 84px); font-weight: 500; letter-spacing: -0.04em; line-height: 1.06; max-width: 800px; } .statement.dark .statement-h { color: var(--white); } .statement-h em { font-style: italic; font-weight: 300; } .statement.dark .statement-h em { color: rgba(255,255,255,0.45); } .statement-p { font-size: clamp(16px, 1.8vw, 20px); font-weight: 300; line-height: 1.7; color: var(--ink-3); max-width: 520px; letter-spacing: -0.01em; margin-top: 24px; } .statement.dark .statement-p { color: rgba(255,255,255,0.5); } /* ═══════════════════════════════════════════ THREE STEPS — horizontal timeline ═══════════════════════════════════════════ */ #how { padding: 160px 32px; background: var(--white); border-top: 1px solid var(--line); } .how-inner { max-width: 1080px; margin: 0 auto; } .how-header { margin-bottom: 100px; max-width: 600px; } .how-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; position: relative; } /* Connecting line */ .how-steps::before { content:''; position: absolute; top: 20px; left: calc(100%/6); width: calc(100% - 100%/3); height: 1px; background: var(--line); } .how-step { display: flex; flex-direction: column; gap: 20px; padding-right: 48px; } .how-step:last-child { padding-right: 0; } .step-num { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: var(--white); display: flex; align-items: center; justify-content: center; font-family: var(--mono); font-size: 12px; color: var(--ink-3); position: relative; z-index: 1; flex-shrink: 0; } .step-body { display: flex; flex-direction: column; gap: 10px; } .step-name { font-size: 20px; font-weight: 600; letter-spacing: -0.025em; color: var(--ink); } .step-desc { font-size: 15px; font-weight: 300; line-height: 1.7; color: var(--ink-3); } /* ═══════════════════════════════════════════ STATS — three massive isolated numbers ═══════════════════════════════════════════ */ #stats { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); } .stats-row { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 1080px; margin: 0 auto; } .stat-cell { padding: 100px 56px; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 14px; } .stat-cell:last-child { border-right: none; } .stat-n { font-family: var(--serif); font-size: clamp(72px, 9vw, 112px); font-weight: 300; font-style: italic; letter-spacing: -0.05em; line-height: 1; color: var(--ink); } .stat-d { font-size: 15px; font-weight: 300; line-height: 1.55; color: var(--ink-3); max-width: 200px; } /* ═══════════════════════════════════════════ SOURCES — 4 horizontal scroll-triggered ═══════════════════════════════════════════ */ #sources { padding: 160px 32px; background: var(--off); border-top: 1px solid var(--line); } .sources-inner { max-width: 1080px; margin: 0 auto; } .sources-header { margin-bottom: 80px; } .sources-list { display: flex; flex-direction: column; gap: 1px; } .source-row { display: grid; grid-template-columns: 60px 1fr 1fr auto; align-items: center; gap: 40px; padding: 32px 0; border-top: 1px solid var(--line); transition: background 0.2s; cursor: default; } .source-row:last-child { border-bottom: 1px solid var(--line); } .source-glyph { font-size: 26px; color: var(--ink-4); line-height: 1; font-family: var(--mono); } .source-name { font-size: 22px; font-weight: 600; letter-spacing: -0.025em; color: var(--ink); } .source-desc { font-size: 14px; font-weight: 300; line-height: 1.65; color: var(--ink-3); } .source-badge { font-size: 11px; font-weight: 500; color: var(--ink-3); background: var(--white); border: 1px solid var(--line); padding: 5px 12px; border-radius: 7px; white-space: nowrap; } /* ═══════════════════════════════════════════ WHO — Three columns, generous ═══════════════════════════════════════════ */ #who { padding: 160px 32px; background: var(--white); border-top: 1px solid var(--line); } .who-inner { max-width: 1080px; margin: 0 auto; } .who-header { margin-bottom: 80px; } .who-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; } .who-col { display: flex; flex-direction: column; gap: 24px; } .who-cat { font-family: var(--mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-4); padding-bottom: 24px; border-bottom: 1px solid var(--line); } .who-title { font-size: 22px; font-weight: 600; letter-spacing: -0.025em; line-height: 1.2; color: var(--ink); } .who-body { font-size: 15px; font-weight: 300; line-height: 1.72; color: var(--ink-3); flex: 1; } .who-signal { background: var(--off); border-radius: 16px; padding: 20px; display: flex; flex-direction: column; gap: 12px; border: 1px solid var(--line); } .who-q { font-size: 13px; line-height: 1.6; color: var(--ink-2); font-style: italic; } .who-meta { display: flex; align-items: center; justify-content: space-between; } .who-tag { font-family: var(--mono); font-size: 10px; color: var(--ink-5); letter-spacing: 0.06em; text-transform: uppercase; } .who-score { font-family: var(--mono); font-size: 12px; font-weight: 500; color: var(--orange); background: rgba(255,107,43,0.08); padding: 3px 9px; border-radius: 5px; } /* ═══════════════════════════════════════════ TIERS ═══════════════════════════════════════════ */ #tiers { padding: 160px 32px; background: var(--off); border-top: 1px solid var(--line); } .tiers-inner { max-width: 1080px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.2fr; gap: 120px; align-items: start; } .tiers-left { position: sticky; top: 80px; } .tiers-left .s-eyebrow { font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-4); display: block; margin-bottom: 20px; } .tiers-h { font-family: var(--serif); font-size: clamp(36px, 4.5vw, 56px); font-weight: 500; letter-spacing: -0.04em; line-height: 1.08; color: var(--ink); margin-bottom: 20px; } .tiers-h em { font-style: italic; font-weight: 300; color: var(--ink-3); } .tiers-p { font-size: 16px; font-weight: 300; line-height: 1.7; color: var(--ink-3); } .tiers-right { display: flex; flex-direction: column; } .tier { display: grid; grid-template-columns: 56px 1fr; gap: 20px; padding: 28px 20px; border-radius: 16px; transition: background 0.2s; cursor: default; align-items: start; } .tier:hover { background: var(--white); } .tier-score { font-family: var(--mono); font-size: 13px; color: var(--ink-4); padding-top: 3px; } .tier-score.hot { color: var(--ink); font-weight: 500; } .tier-info { display: flex; flex-direction: column; gap: 5px; } .tier-name { font-size: 18px; font-weight: 600; letter-spacing: -0.02em; color: var(--ink); display: flex; align-items: center; gap: 10px; flex-wrap: wrap; } .tier-chip { font-size: 11px; font-weight: 500; padding: 3px 10px; border-radius: 6px; } .tc-orange { background: rgba(255,107,43,0.1); color: var(--orange); } .tc-blue { background: var(--blue-dim); color: var(--blue); } .tc-grey { background: var(--off); color: var(--ink-3); border: 1px solid var(--line); } .tc-muted { background: var(--off); color: var(--ink-5); border: 1px solid var(--line); } .tier-body { font-size: 14px; font-weight: 300; line-height: 1.65; color: var(--ink-3); } .tier-sep { height: 1px; background: var(--line); margin: 4px 20px; } /* ═══════════════════════════════════════════ CTA ═══════════════════════════════════════════ */ #cta { padding: 200px 32px; background: var(--ink); text-align: center; position: relative; overflow: hidden; } /* Subtle vignette inner glow */ #cta::before { content:''; position: absolute; inset: 0; background: radial-gradient(ellipse 1000px 600px at 50% 50%, rgba(255,255,255,0.04) 0%, transparent 65%); pointer-events: none; } #cta::after { content:''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px); background-size: 80px 80px; mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, black 30%, transparent 100%); -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, black 30%, transparent 100%); pointer-events: none; } .cta-inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; } .cta-eyebrow { font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.3); margin-bottom: 24px; } .cta-h { font-family: var(--serif); font-size: clamp(48px, 8vw, 100px); font-weight: 500; letter-spacing: -0.045em; line-height: 1.02; color: var(--white); max-width: 820px; margin-bottom: 32px; } .cta-h em { font-style: italic; font-weight: 300; color: rgba(255,255,255,0.38); } .cta-p { font-size: clamp(15px, 1.8vw, 19px); font-weight: 300; line-height: 1.68; color: rgba(255,255,255,0.45); max-width: 480px; margin-bottom: 52px; letter-spacing: -0.01em; } .cta-btn { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; color: var(--ink); background: var(--white); padding: 16px 32px; border-radius: 980px; transition: transform 0.2s, box-shadow 0.2s; letter-spacing: -0.01em; } .cta-btn:hover { transform: scale(1.04) translateY(-1px); box-shadow: 0 12px 40px rgba(0,0,0,0.4); } .cta-fine { margin-top: 24px; font-size: 12px; color: rgba(255,255,255,0.2); letter-spacing: 0.02em; } /* ═══════════════════════════════════════════ FOOTER ═══════════════════════════════════════════ */ footer { padding: 28px 40px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; background: var(--white); } .footer-logo { font-family: var(--serif); font-size: 18px; font-weight: 600; color: var(--ink); letter-spacing: -0.025em; } .footer-center { font-size: 12px; color: var(--ink-5); text-align: center; } .footer-r { display: flex; justify-content: flex-end; } .footer-email { font-size: 13px; color: var(--ink-4); transition: color 0.15s; } .footer-email:hover { color: var(--blue); } /* ═══════════════════════════════════════════ SCROLL REVEAL ═══════════════════════════════════════════ */ .r { opacity: 0; transform: translateY(32px); transition: opacity 0.8s var(--ease), transform 0.8s var(--ease); } .r.d1 { transition-delay: 0.1s; } .r.d2 { transition-delay: 0.2s; } .r.d3 { transition-delay: 0.3s; } .r.in { opacity: 1; transform: none; } /* ═══════════════════════════════════════════ RESPONSIVE ═══════════════════════════════════════════ */ @media (max-width: 960px) { .lc-body { grid-template-columns: 1fr; } .lc-left { border-right: none; border-bottom: 1px solid var(--line); } .how-steps { grid-template-columns: 1fr; } .how-steps::before { display: none; } .how-step { padding-right: 0; padding-bottom: 40px; border-bottom: 1px solid var(--line); } .how-step:last-child { padding-bottom: 0; border-bottom: none; } .stats-row { grid-template-columns: 1fr; } .stat-cell { border-right: none; border-bottom: 1px solid var(--line); padding: 64px 40px; } .stat-cell:last-child { border-bottom: none; } .source-row { grid-template-columns: 40px 1fr; gap: 20px; } .source-desc, .source-badge { display: none; } .source-badge { display: inline-block; } .who-cols { grid-template-columns: 1fr; gap: 56px; } .tiers-inner { grid-template-columns: 1fr; gap: 56px; } .tiers-left { position: static; } footer { grid-template-columns: 1fr; gap: 12px; text-align: center; } .footer-r { justify-content: center; } #nav { padding: 0 20px; } .nav-links .nav-a { display: none; } } @media (max-width: 640px) { .hero-h { font-size: clamp(34px, 10vw, 48px); } .statement { padding: 100px 24px; } .section { padding: 100px 24px; } .how-step { padding: 0 0 36px; } .source-row { grid-template-columns: 40px 1fr auto; } .source-desc { display: none; } .tier { grid-template-columns: 50px 1fr; gap: 14px; } #cta { padding: 120px 24px; } } /* ═══════════════════════════════════════════ GOD-TIER MICRO-INTERACTIONS ═══════════════════════════════════════════ */ /* Nav link underline sweep */ .nav-a { position: relative; } .nav-a::after { content:''; position:absolute; left:0; bottom:-6px; width:100%; height:1px; background:var(--ink); transform: scaleX(0); transform-origin: right; transition: transform 0.35s var(--ease); } .nav-a:hover::after { transform: scaleX(1); transform-origin: left; } .nav-logo { transition: letter-spacing 0.4s var(--ease), opacity 0.3s; } .nav-logo:hover { letter-spacing: 0.01em; opacity: 0.7; } /* Hero cursor-follow glow */ #hero { isolation: isolate; } .hero-glow { position: absolute; inset: 0; z-index: 0; pointer-events: none; background: radial-gradient(420px circle at var(--mx,50%) var(--my,30%), rgba(0,102,204,0.07), transparent 70%); transition: opacity 0.3s; opacity: 0; } #hero.glow-active .hero-glow { opacity: 1; } /* Hero grid subtle drift */ #hero::before { animation: gridDrift 40s linear infinite; } @keyframes gridDrift { 0% { background-position: 0 0, 0 0; } 100% { background-position: 80px 80px, 80px 80px; } } /* Pip on hero tag gets a little hover bump */ .hero-tag:hover .pip { transform: scale(1.4); } .pip { transition: transform 0.3s var(--ease); } /* CTA buttons: ripple */ .cta-main, .cta-ghost, .cta-btn, .nav-btn { position: relative; overflow: hidden; will-change: transform; } .cta-main::before, .cta-btn::before { content:''; position:absolute; inset:0; background: radial-gradient(circle, rgba(255,255,255,0.35) 0%, transparent 60%); opacity:0; transform: scale(0.4); transition: opacity 0.5s, transform 0.6s; pointer-events:none; } .cta-main:active::before, .cta-btn:active::before { opacity:1; transform: scale(1.6); transition: 0s; } /* Arrow nudge on CTA hover */ .cta-main svg, .cta-btn svg { transition: transform 0.35s var(--ease); } .cta-main:hover svg, .cta-btn:hover svg { transform: translateX(4px); } .cta-ghost { transition: border-color 0.2s, color 0.2s, transform 0.3s var(--ease), gap 0.3s; } .cta-ghost:hover { gap: 12px; } /* Live card: tilt-ready + richer shadow on hover */ .live-card { transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease); transform-style: preserve-3d; will-change: transform; } .live-card:hover { box-shadow: 0 4px 8px rgba(0,0,0,0.05), 0 16px 48px rgba(0,0,0,0.09), 0 48px 100px rgba(0,0,0,0.08); } /* Tags pop on hover */ .lc-tag, .dest-chip { transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), background 0.2s, color 0.2s; } .lc-tag:hover { transform: translateY(-2px); background: var(--ink); color: var(--white); border-color: var(--ink); } .dest-chip:hover { transform: translateY(-2px); border-color: var(--ink-3); color: var(--ink); } .outreach-box { transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease); } .outreach-box:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(40,205,65,0.12); } /* Signal dots: ring on hover/active */ .signal-dot-btn { position: relative; } .signal-dot-btn::after { content:''; position:absolute; inset:-6px; border-radius:50%; border: 1px solid transparent; transition: border-color 0.25s, transform 0.25s; transform: scale(0.6); } .signal-dot-btn:hover::after, .signal-dot-btn.active::after { border-color: var(--ink-5); transform: scale(1); } /* Statement headings: word-by-word reveal */ .statement-h .w { display: inline-block; opacity: 0; transform: translateY(0.4em) rotate(2deg); filter: blur(4px); transition: opacity 0.7s var(--ease), transform 0.7s var(--ease), filter 0.7s var(--ease); } .statement.r.in .statement-h .w { opacity:1; transform:translateY(0) rotate(0); filter: blur(0); } /* How-steps: hover lift + number flip */ #how article { transition: transform 0.4s var(--ease); } #how article:hover { transform: translateY(-6px); } #how article > div:first-child { transition: background 0.3s, color 0.3s, transform 0.4s var(--ease), border-color 0.3s; } #how article:hover > div:first-child { background: var(--ink); color: var(--white); border-color: var(--ink); transform: rotate(360deg); } /* Stat cells: lift + glow + number scale */ #stats > div > div { transition: background 0.4s var(--ease); } #stats > div > div:hover { background: var(--off); } #stats [aria-label] { display: inline-block; transition: transform 0.4s var(--ease), color 0.4s var(--ease); } #stats > div > div:hover [aria-label] { transform: scale(1.05); color: var(--blue); } /* Source rows: slide + glyph spin */ #sources article { transition: background 0.35s, padding-left 0.35s var(--ease), transform 0.35s var(--ease); } #sources article:hover { background: var(--white); padding-left: 12px; } #sources article > span:first-child { display:inline-block; transition: transform 0.5s var(--ease), color 0.3s; } #sources article:hover > span:first-child { transform: rotate(15deg) scale(1.15); color: var(--ink); } #sources article > span:last-child { transition: transform 0.3s var(--ease); } #sources article:hover > span:last-child { transform: translateX(4px); } /* Who columns: lift + signal card glow */ #who article { transition: transform 0.4s var(--ease); } #who article:hover { transform: translateY(-8px); } #who article > div:last-child { transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s; } #who article:hover > div:last-child { box-shadow: 0 16px 40px rgba(0,0,0,0.07); border-color: var(--ink-5); } #who article:hover .who-score, #who article:hover [style*="orange"] { transform: scale(1.08); display:inline-block; } #who article > span:first-child { transition: color 0.3s, padding-left 0.3s var(--ease); } #who article:hover > span:first-child { color: var(--ink); padding-left: 6px; } /* Tiers: left accent bar slides in on hover */ #tiers article { position: relative; transition: background 0.3s, transform 0.3s var(--ease); } #tiers article::before { content:''; position:absolute; left:0; top:8px; bottom:8px; width:3px; border-radius:2px; background:var(--ink); transform: scaleY(0); transition: transform 0.3s var(--ease); transform-origin: center; } #tiers article:hover { transform: translateX(4px); } #tiers article:hover::before { transform: scaleY(1); } #tiers article > span:first-child { transition: color 0.3s, transform 0.3s var(--ease); } #tiers article:hover > span:first-child { color: var(--ink); transform: translateX(2px); } /* Tier chips: subtle pulse on the hot one */ .tc-orange { animation: chipGlow 3s ease-in-out infinite; } @keyframes chipGlow { 0%,100% { box-shadow: 0 0 0 0 rgba(255,107,43,0); } 50% { box-shadow: 0 0 0 4px rgba(255,107,43,0.08); } } /* CTA section: floating particles drift */ #cta .particle { position:absolute; border-radius:50%; background: rgba(255,255,255,0.5); pointer-events:none; animation: floatUp linear infinite; } @keyframes floatUp { 0% { transform: translateY(0) translateX(0); opacity:0; } 10% { opacity: 0.6; } 90% { opacity: 0.6; } 100% { transform: translateY(-420px) translateX(var(--dx,20px)); opacity:0; } } /* Footer email arrow nudge */ .footer-email { transition: color 0.2s, padding-right 0.25s var(--ease); } .footer-email:hover { padding-right: 4px; } /* Smooth section reveal refinement: scale-in for the live card */ .live-card.r { transform: translateY(40px) scale(0.985); } .live-card.r.in { transform: none; } /* Custom scroll progress bar */ #scroll-progress { position: fixed; top: 0; left: 0; height: 2px; background: var(--ink); z-index: 1000; width: 0%; transition: width 0.1s linear; } @media (prefers-reduced-motion: reduce) { .hero-h .row-inner, .hero-tag, .hero-sub, .hero-actions, .hero-proof, .scroll-cue, .r { opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important; } .pip, .lc-live-dot, .scroll-line { animation: none !important; } .score-fill { transition: none !important; } #hero::before { animation: none !important; } .statement-h .w { opacity:1 !important; transform:none !important; filter:none !important; } #cta .particle { display: none !important; } .tc-orange { animation: none !important; } #how article:hover > div:first-child, #how article:hover, #stats > div > div:hover [aria-label], #sources article:hover > span:first-child, #who article:hover, #tiers article:hover { transform: none !important; } } </style> </head> <body> <div id="scroll-progress" aria-hidden="true"></div> <a href="#main" style="position:absolute;top:-100%;left:16px;background:var(--blue);color:#fff;padding:8px 16px;border-radius:4px;font-size:14px;z-index:9999;transition:top .2s" onfocus="this.style.top='16px'" onblur="this.style.top='-100%'">Skip to content</a> <!-- NAV --> <header> <nav id="nav" aria-label="Main navigation"> <a href="/" class="nav-logo" aria-label="Flintel home">Flintel</a> <div class="nav-links"> <a href="#how" class="nav-a">How it works</a> <a href="#sources" class="nav-a">Sources</a> <a href="#tiers" class="nav-a">Intelligence</a> <a href="https://calendly.com/hello-flintel/new-meeting" target="_blank" rel="noopener noreferrer" class="nav-btn">Book a call</a> </div> </nav> </header> <main id="main"> <!-- ══ HERO ══ --> <section id="hero" aria-labelledby="hero-h"> <div class="hero-glow" aria-hidden="true"></div> <div class="hero-content"> <p class="hero-tag"> <span class="pip" aria-hidden="true"></span> Live signal intelligence </p> <h1 class="hero-h" id="hero-h"> <span class="row"><span class="row-inner">Your buyers are</span></span> <span class="row"><span class="row-inner">already <em>talking.</em></span></span> <span class="row"><span class="row-inner">We find them</span></span> <span class="row"><span class="row-inner">first.</span></span> </h1> <p class="hero-sub"> Flintel monitors Twitter, Reddit, Telegram and competitor reviews 24/7. The moment a buyer shows intent — your team gets the signal, the context, and exactly what to say. In under 90 seconds. </p> <div class="hero-actions"> <a href="https://calendly.com/hello-flintel/new-meeting" target="_blank" rel="noopener noreferrer" class="cta-main" aria-label="Book a 15 minute call"> Book a 15-minute call <svg width="14" height="14" viewBox="0 0 14 14" fill="none" aria-hidden="true"><path d="M3 7h8M8 4l3 3-3 3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg> </a> <a href="#demo" class="cta-ghost"> See a live signal ↓ </a> </div> <p class="hero-proof">Currently deployed with a Canadian fintech expanding to 25 markets.</p> </div> <div class="scroll-cue" aria-hidden="true"> <div class="scroll-line"></div> <span class="scroll-label">Scroll</span> </div> </section> <!-- ══ STATEMENT 1 ══ --> <div class="statement light r" aria-hidden="true" style="padding:80px 32px; border-top:1px solid var(--line);"> <p class="statement-kicker">The problem</p> <h2 class="statement-h"><span class="w">Your</span> <span class="w">next</span> <span class="w">customer</span><br><span class="w">posted</span> <span class="w">publicly</span><br><em><span class="w">10</span> <span class="w">minutes</span> <span class="w">ago.</span></em></h2> <p class="statement-p">They are frustrated. Comparing competitors. Ready to switch. And right now they have no idea you exist.</p> </div> <!-- ══ DEMO CARD ══ --> <section id="demo" aria-labelledby="demo-h" style="border-top:1px solid var(--line);"> <div class="demo-inner" style="padding: 140px 32px; max-width: 900px; margin: 0 auto;"> <div class="demo-label" id="demo-h">Live signal · updating in real time</div> <div class="live-card r"> <div class="lc-bar"> <span class="lc-title">flintel · #fx-signals-urgent</span> <div class="lc-live" aria-label="Live feed active"> <span class="lc-live-dot" aria-hidden="true"></span>live </div> </div> <div class="lc-body"> <div class="lc-left"> <div> <div class="lc-meta-row"> <span class="lc-platform" id="card-platform">Twitter / X</span> </div> <div class="lc-handle" id="card-handle">@chukwuemeka_biz</div> <div class="lc-bio" id="card-bio">Founder · Import Export · Toronto</div> </div> <span class="lc-corridor" id="card-corridor">CA → NG</span> <p class="lc-quote"><span id="card-quote"></span><span class="cursor" id="card-cursor"></span></p> <div class="lc-tags" id="card-tags"></div> </div> <div class="lc-right"> <div class="score-section"> <div class="score-top"> <span class="score-num" id="score-num">9</span> <span class="score-den">/10</span> </div> <p class="score-label">Intent score</p> <div class="score-track" role="progressbar" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100" aria-label="Intent score 90 percent"> <div class="score-fill" id="score-fill"></div> </div> </div> <div class="lc-divider"></div> <div class="outreach-box"> <span class="outreach-lbl">Suggested outreach</span> <p class="outreach-text" id="card-outreach">We help diaspora businesses move money between Canada and Nigeria — fast, compliant, no bank blocks. DM us and we sort this today.</p> </div> <div> <div class="dest-row"> <span class="dest-label">Delivered to</span> <span class="dest-chip">Slack</span> <span class="dest-chip">HubSpot</span> </div> </div> </div> </div> <div class="lc-timestamp" id="card-time">Today · 14:32 UTC</div> </div> <div class="signal-nav" role="tablist" aria-label="Signal examples"> <button class="signal-dot-btn active" data-i="0" aria-label="Signal 1" aria-selected="true" role="tab"></button> <button class="signal-dot-btn" data-i="1" aria-label="Signal 2" aria-selected="false" role="tab"></button> <button class="signal-dot-btn" data-i="2" aria-label="Signal 3" aria-selected="false" role="tab"></button> </div> </div> </section> <!-- ══ HOW ══ --> <section id="how" aria-labelledby="how-h" style="padding:160px 32px; background:var(--white); border-top:1px solid var(--line);"> <div style="max-width:1080px; margin:0 auto;"> <div class="r" style="margin-bottom:100px; max-width:560px;"> <span style="font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-4);display:block;margin-bottom:20px;">How it works</span> <h2 style="font-family:var(--serif);font-size:clamp(40px,5.5vw,68px);font-weight:500;letter-spacing:-0.04em;line-height:1.07;color:var(--ink);margin-bottom:20px;" id="how-h">Three layers.<br><em style="font-weight:300;color:var(--ink-3);">Zero noise.</em></h2> <p style="font-size:18px;font-weight:300;line-height:1.7;color:var(--ink-3);">Most signal tools flood your team with irrelevant alerts. Flintel's three-layer architecture means every signal your team sees is a real buyer — in the moment they need you.</p> </div> <div style="display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;" class="r d1"> <div style="content:'';position:absolute;top:20px;left:calc(100%/6);width:calc(100% - 100%/3);height:1px;background:var(--line);"></div> <article style="display:flex;flex-direction:column;gap:20px;padding-right:56px;"> <div style="width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;color:var(--ink-3);position:relative;z-index:1;flex-shrink:0;">01</div> <div style="display:flex;flex-direction:column;gap:10px;"> <h3 style="font-size:21px;font-weight:600;letter-spacing:-0.025em;color:var(--ink);">The Listener</h3> <p style="font-size:15px;font-weight:300;line-height:1.72;color:var(--ink-3);">Monitors Twitter, Reddit, Telegram and competitor reviews continuously. Searches your exact buyer keywords across millions of posts every 60 seconds. Never sleeps. Never misses.</p> </div> </article> <article style="display:flex;flex-direction:column;gap:20px;padding-right:56px;"> <div style="width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;color:var(--ink-3);position:relative;z-index:1;flex-shrink:0;">02</div> <div style="display:flex;flex-direction:column;gap:10px;"> <h3 style="font-size:21px;font-weight:600;letter-spacing:-0.025em;color:var(--ink);">The Filter</h3> <p style="font-size:15px;font-weight:300;line-height:1.72;color:var(--ink-3);">A two-layer system removes 95% of irrelevant content before AI ever processes it. Consumer subscriptions, wrong geography, personal payments — all eliminated instantly at zero cost.</p> </div> </article> <article style="display:flex;flex-direction:column;gap:20px;"> <div style="width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;color:var(--ink-3);position:relative;z-index:1;flex-shrink:0;">03</div> <div style="display:flex;flex-direction:column;gap:10px;"> <h3 style="font-size:21px;font-weight:600;letter-spacing:-0.025em;color:var(--ink);">The Intelligence</h3> <p style="font-size:15px;font-weight:300;line-height:1.72;color:var(--ink-3);">AI reads each post, scores buying intent 0–10, identifies the buyer, writes the exact outreach message, and delivers a complete signal card to Slack and HubSpot in under 90 seconds.</p> </div> </article> </div> </div> </section> <!-- ══ STATEMENT DARK ══ --> <div class="statement dark r"> <p class="statement-kicker">The reality</p> <h2 class="statement-h" style="color:var(--white);"><span class="w">The</span> <span class="w">hottest</span> <span class="w">lead</span><br><span class="w">you</span> <span class="w">will</span> <span class="w">ever</span> <span class="w">see</span> <span class="w">is</span> <span class="w">someone</span><br><span class="w">who</span> <span class="w">just</span> <span class="w">left</span> <em><span class="w">your</span> <span class="w">competitor.</span></em></h2> <p class="statement-p">They have already made the decision to leave. All they need now is someone to reach them first with the right message.</p> </div> <!-- ══ STATS ══ --> <section id="stats" aria-label="Key metrics" style="border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);"> <h2 class="sr-only">Key metrics</h2> <div style="display:grid;grid-template-columns:repeat(3,1fr);max-width:1080px;margin:0 auto;"> <div style="padding:100px 56px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:14px;" class="r"> <div style="font-family:var(--serif);font-size:clamp(72px,9vw,112px);font-weight:300;font-style:italic;letter-spacing:-0.05em;line-height:1;color:var(--ink);" aria-label="90 seconds">90s</div> <p style="font-size:15px;font-weight:300;line-height:1.55;color:var(--ink-3);max-width:200px;">From public post to Slack alert. Every time. Without exception.</p> </div> <div style="padding:100px 56px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:14px;" class="r d1"> <div style="font-family:var(--serif);font-size:clamp(72px,9vw,112px);font-weight:300;font-style:italic;letter-spacing:-0.05em;line-height:1;color:var(--ink);" aria-label="24 hours a day, 7 days a week">24/7</div> <p style="font-size:15px;font-weight:300;line-height:1.55;color:var(--ink-3);max-width:200px;">Continuous monitoring across every source and every market.</p> </div> <div style="padding:100px 56px;display:flex;flex-direction:column;gap:14px;" class="r d2"> <div style="font-family:var(--serif);font-size:clamp(72px,9vw,112px);font-weight:300;font-style:italic;letter-spacing:-0.05em;line-height:1;color:var(--ink);" aria-label="95 percent">95%</div> <p style="font-size:15px;font-weight:300;line-height:1.55;color:var(--ink-3);max-width:200px;">Noise removed before your team sees a single irrelevant alert.</p> </div> </div> </section> <!-- ══ SOURCES ══ --> <section id="sources" aria-labelledby="sources-h" style="padding:160px 32px;background:var(--off);border-top:1px solid var(--line);"> <div style="max-width:1080px;margin:0 auto;"> <div class="r" style="margin-bottom:80px;"> <span style="font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-4);display:block;margin-bottom:20px;">Signal sources</span> <h2 style="font-family:var(--serif);font-size:clamp(36px,5vw,60px);font-weight:500;letter-spacing:-0.04em;line-height:1.08;color:var(--ink);" id="sources-h">We monitor where<br>your buyers<br><em style="font-weight:300;color:var(--ink-3);">actually talk.</em></h2> </div> <div style="display:flex;flex-direction:column;" class="r d1"> <article style="display:grid;grid-template-columns:60px 1fr 1.4fr auto;align-items:center;gap:48px;padding:32px 0;border-top:1px solid var(--line);" tabindex="0"> <span style="font-size:24px;color:var(--ink-4);font-family:var(--mono);">𝕏</span> <span style="font-size:22px;font-weight:600;letter-spacing:-0.025em;color:var(--ink);">Twitter / X</span> <span style="font-size:14px;font-weight:300;line-height:1.65;color:var(--ink-3);">Founders vent publicly the moment something breaks. Real-time keyword streaming across 500 million daily users. Highest urgency, highest intent.</span> <span style="font-size:11px;font-weight:500;color:var(--ink-3);background:var(--white);border:1px solid var(--line);padding:5px 12px;border-radius:7px;white-space:nowrap;">Primary source</span> </article> <article style="display:grid;grid-template-columns:60px 1fr 1.4fr auto;align-items:center;gap:48px;padding:32px 0;border-top:1px solid var(--line);" tabindex="0"> <span style="font-size:24px;color:var(--ink-4);font-family:var(--mono);">◈</span> <span style="font-size:22px;font-weight:600;letter-spacing:-0.025em;color:var(--ink);">Reddit</span> <span style="font-size:14px;font-weight:300;line-height:1.65;color:var(--ink-3);">Business owners write detailed, context-rich posts in relevant communities. A complete picture of where the buyer sits in their decision journey.</span> <span style="font-size:11px;font-weight:500;color:var(--ink-3);background:var(--white);border:1px solid var(--line);padding:5px 12px;border-radius:7px;white-space:nowrap;">High context</span> </article> <article style="display:grid;grid-template-columns:60px 1fr 1.4fr auto;align-items:center;gap:48px;padding:32px 0;border-top:1px solid var(--line);" tabindex="0"> <span style="font-size:24px;color:var(--ink-4);font-family:var(--mono);">★</span> <span style="font-size:22px;font-weight:600;letter-spacing:-0.025em;color:var(--ink);">Competitor Reviews</span> <span style="font-size:14px;font-weight:300;line-height:1.65;color:var(--ink-3);">Someone leaving a one-star review has already decided to leave. The hottest lead in existence. Found on Trustpilot and Google within seconds of publishing.</span> <span style="font-size:11px;font-weight:500;color:var(--orange);background:rgba(255,107,43,0.08);border:1px solid rgba(255,107,43,0.15);padding:5px 12px;border-radius:7px;white-space:nowrap;">Hottest signals</span> </article> <article style="display:grid;grid-template-columns:60px 1fr 1.4fr auto;align-items:center;gap:48px;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);" tabindex="0"> <span style="font-size:24px;color:var(--ink-4);font-family:var(--mono);">◉</span> <span style="font-size:22px;font-weight:600;letter-spacing:-0.025em;color:var(--ink);">Telegram</span> <span style="font-size:14px;font-weight:300;line-height:1.65;color:var(--ink-3);">Diaspora communities where buyers openly compare services and share frustrations. The intelligence layer that competitors never think to monitor.</span> <span style="font-size:11px;font-weight:500;color:var(--ink-3);background:var(--white);border:1px solid var(--line);padding:5px 12px;border-radius:7px;white-space:nowrap;">Community intel</span> </article> </div> </div> </section> <!-- ══ WHO ══ --> <section id="who" aria-labelledby="who-h" style="padding:160px 32px;background:var(--white);border-top:1px solid var(--line);"> <div style="max-width:1080px;margin:0 auto;"> <div class="r" style="margin-bottom:80px;"> <span style="font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-4);display:block;margin-bottom:20px;">Built for</span> <h2 style="font-family:var(--serif);font-size:clamp(36px,5vw,60px);font-weight:500;letter-spacing:-0.04em;line-height:1.08;color:var(--ink);" id="who-h">If you sell to businesses<br>making cross-border payments,<br><em style="font-weight:300;color:var(--ink-3);">this is for you.</em></h2> </div> <div style="display:grid;grid-template-columns:repeat(3,1fr);gap:48px;" class="r d1"> <article style="display:flex;flex-direction:column;gap:24px;"> <span style="font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-4);padding-bottom:24px;border-bottom:1px solid var(--line);display:block;">FX and Remittance</span> <h3 style="font-size:21px;font-weight:600;letter-spacing:-0.025em;line-height:1.2;color:var(--ink);">Cross-border payment platforms</h3> <p style="font-size:15px;font-weight:300;line-height:1.72;color:var(--ink-3);flex:1;">Diaspora businesses comparing corridors, hitting bank blocks, searching for better rates — posting publicly every single day. Find them before your competitors do.</p> <div style="background:var(--off);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);"> <p style="font-size:13px;line-height:1.6;color:var(--ink-2);font-style:italic;">"Bank blocked my $45k CAD Lagos supplier payment again. Third time this month. Anyone know a better cross-border solution?"</p> <div style="display:flex;align-items:center;justify-content:space-between;"> <span style="font-family:var(--mono);font-size:10px;color:var(--ink-5);letter-spacing:0.06em;text-transform:uppercase;">Real signal</span> <span style="font-family:var(--mono);font-size:12px;font-weight:500;color:var(--orange);background:rgba(255,107,43,0.08);padding:3px 9px;border-radius:5px;">9 / 10</span> </div> </div> </article> <article style="display:flex;flex-direction:column;gap:24px;"> <span style="font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-4);padding-bottom:24px;border-bottom:1px solid var(--line);display:block;">Crypto and Digital Assets</span> <h3 style="font-size:21px;font-weight:600;letter-spacing:-0.025em;line-height:1.2;color:var(--ink);">Exchanges and payment rails</h3> <p style="font-size:15px;font-weight:300;line-height:1.72;color:var(--ink-3);flex:1;">Merchants comparing exchanges, frustrated with fees and failed KYC. On Twitter right now. We identify who they are and write exactly what you should say to them.</p> <div style="background:var(--off);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);"> <p style="font-size:13px;line-height:1.6;color:var(--ink-2);font-style:italic;">"Tried three crypto exchanges this month. Fees are insane. Anyone know a platform that actually works for Canadian businesses?"</p> <div style="display:flex;align-items:center;justify-content:space-between;"> <span style="font-family:var(--mono);font-size:10px;color:var(--ink-5);letter-spacing:0.06em;text-transform:uppercase;">Real signal</span> <span style="font-family:var(--mono);font-size:12px;font-weight:500;color:var(--orange);background:rgba(255,107,43,0.08);padding:3px 9px;border-radius:5px;">8 / 10</span> </div> </div> </article> <article style="display:flex;flex-direction:column;gap:24px;"> <span style="font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-4);padding-bottom:24px;border-bottom:1px solid var(--line);display:block;">B2B Payments and Banking</span> <h3 style="font-size:21px;font-weight:600;letter-spacing:-0.025em;line-height:1.2;color:var(--ink);">Neobanks and payment infrastructure</h3> <p style="font-size:15px;font-weight:300;line-height:1.72;color:var(--ink-3);flex:1;">Business owners whose international payments fail mid-transaction. Their supplier is waiting. They need a solution right now. That urgency is visible in every word they post.</p> <div style="background:var(--off);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);"> <p style="font-size:13px;line-height:1.6;color:var(--ink-2);font-style:italic;">"Wise Business failed me again. Payment delayed 2 weeks. My supplier is threatening to cancel. Need an alternative urgently."</p> <div style="display:flex;align-items:center;justify-content:space-between;"> <span style="font-family:var(--mono);font-size:10px;color:var(--ink-5);letter-spacing:0.06em;text-transform:uppercase;">Real signal</span> <span style="font-family:var(--mono);font-size:12px;font-weight:500;color:var(--orange);background:rgba(255,107,43,0.08);padding:3px 9px;border-radius:5px;">10 / 10</span> </div> </div> </article> </div> </div> </section> <!-- ══ TIERS ══ --> <section id="tiers" aria-labelledby="tiers-h" style="padding:160px 32px;background:var(--off);border-top:1px solid var(--line);"> <div style="max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:120px;align-items:start;"> <div style="position:sticky;top:80px;display:flex;flex-direction:column;gap:24px;" class="r"> <span style="font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-4);display:block;">Intelligence tiers</span> <h2 style="font-family:var(--serif);font-size:clamp(36px,4.5vw,56px);font-weight:500;letter-spacing:-0.04em;line-height:1.08;color:var(--ink);" id="tiers-h">Every signal scored.<br>Every alert <em style="font-weight:300;color:var(--ink-3);">earned.</em></h2> <p style="font-size:16px;font-weight:300;line-height:1.7;color:var(--ink-3);">Not every post deserves the same urgency. Flintel scores each signal 0 to 10 and routes it accordingly — so your team always knows exactly how to prioritise.</p> </div> <div style="display:flex;flex-direction:column;" class="r d1" role="list"> <article role="listitem" style="display:grid;grid-template-columns:56px 1fr;gap:20px;padding:28px 20px;border-radius:16px;transition:background 0.2s;align-items:start;" onmouseenter="this.style.background='#fff'" onmouseleave="this.style.background=''" tabindex="0"> <span style="font-family:var(--mono);font-size:13px;color:var(--ink);font-weight:500;padding-top:3px;">8–10</span> <div style="display:flex;flex-direction:column;gap:5px;"> <h3 style="font-size:18px;font-weight:600;letter-spacing:-0.02em;color:var(--ink);display:flex;align-items:center;gap:10px;flex-wrap:wrap;">Immediate <span style="font-size:11px;font-weight:500;padding:3px 10px;border-radius:6px;background:rgba(255,107,43,0.10);color:var(--orange);">Instant Slack alert</span></h3> <p style="font-size:14px;font-weight:300;line-height:1.65;color:var(--ink-3);">Active buyer right now. Competitor frustration confirmed, specific amount mentioned, urgency expressed. Delivered with a ready-to-send outreach script in under 90 seconds.</p> </div> </article> <div style="height:1px;background:var(--line);margin:4px 20px;"></div> <article role="listitem" style="display:grid;grid-template-columns:56px 1fr;gap:20px;padding:28px 20px;border-radius:16px;transition:background 0.2s;align-items:start;" onmouseenter="this.style.background='#fff'" onmouseleave="this.style.background=''" tabindex="0"> <span style="font-family:var(--mono);font-size:13px;color:var(--ink-4);padding-top:3px;">5–7</span> <div style="display:flex;flex-direction:column;gap:5px;"> <h3 style="font-size:18px;font-weight:600;letter-spacing:-0.02em;color:var(--ink);display:flex;align-items:center;gap:10px;flex-wrap:wrap;">Digest <span style="font-size:11px;font-weight:500;padding:3px 10px;border-radius:6px;background:var(--blue-dim);color:var(--blue);">Daily 8am brief</span></h3> <p style="font-size:14px;font-weight:300;line-height:1.65;color:var(--ink-3);">Researching solutions. No immediate crisis but genuinely interested. Collected throughout the day, delivered as a prioritised morning brief with full context intact.</p> </div> </article> <div style="height:1px;background:var(--line);margin:4px 20px;"></div> <article role="listitem" style="display:grid;grid-template-columns:56px 1fr;gap:20px;padding:28px 20px;border-radius:16px;transition:background 0.2s;align-items:start;" onmouseenter="this.style.background='#fff'" onmouseleave="this.style.background=''" tabindex="0"> <span style="font-family:var(--mono);font-size:13px;color:var(--ink-4);padding-top:3px;">3–4</span> <div style="display:flex;flex-direction:column;gap:5px;"> <h3 style="font-size:18px;font-weight:600;letter-spacing:-0.02em;color:var(--ink);display:flex;align-items:center;gap:10px;flex-wrap:wrap;">Watchlist <span style="font-size:11px;font-weight:500;padding:3px 10px;border-radius:6px;background:var(--off);color:var(--ink-3);border:1px solid var(--line);">Silent monitoring</span></h3> <p style="font-size:14px;font-weight:300;line-height:1.65;color:var(--ink-3);">Not a buyer today but will be in 30 to 60 days. Monitored silently. Escalated automatically the moment intent spikes into actionable territory.</p> </div> </article> <div style="height:1px;background:var(--line);margin:4px 20px;"></div> <article role="listitem" style="display:grid;grid-template-columns:56px 1fr;gap:20px;padding:28px 20px;border-radius:16px;transition:background 0.2s;align-items:start;" onmouseenter="this.style.background='#fff'" onmouseleave="this.style.background=''" tabindex="0"> <span style="font-family:var(--mono);font-size:13px;color:var(--ink-5);padding-top:3px;">0–2</span> <div style="display:flex;flex-direction:column;gap:5px;"> <h3 style="font-size:18px;font-weight:600;letter-spacing:-0.02em;color:var(--ink-3);display:flex;align-items:center;gap:10px;flex-wrap:wrap;">Discarded <span style="font-size:11px;font-weight:500;padding:3px 10px;border-radius:6px;background:var(--off);color:var(--ink-5);border:1px solid var(--line);">Never shown</span></h3> <p style="font-size:14px;font-weight:300;line-height:1.65;color:var(--ink-4);">Consumer subscriptions, wrong geography, personal payments. Eliminated before AI ever processes them. Zero cost. Zero noise for your team. Ever.</p> </div> </article> </div> </div> </section> <!-- ══ CTA ══ --> <section id="cta" aria-labelledby="cta-h"> <div id="cta-particles" aria-hidden="true" style="position:absolute;inset:0;overflow:hidden;pointer-events:none;"></div> <div class="cta-inner r"> <p class="cta-eyebrow">Get started</p> <h2 class="cta-h" id="cta-h">Your buyers are<br>choosing someone <em>today.</em></h2> <p class="cta-p">Every day you wait, a buyer with active intent picks a competitor who found them first. 15 minutes. No pitch deck. Just a live signal from your own market.</p> <a href="https://calendly.com/hello-flintel/new-meeting" target="_blank" rel="noopener noreferrer" class="cta-btn" aria-label="Book a 15 minute discovery call"> Book a 15-minute call <svg width="14" height="14" viewBox="0 0 14 14" fill="none" aria-hidden="true"><path d="M3 7h8M8 4l3 3-3 3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg> </a> <p class="cta-fine">hello@flintel.io · No commitment · No sales deck · No pitch</p> </div> </section> </main> <!-- FOOTER --> <footer> <span class="footer-logo">Flintel</span> <span class="footer-center">Signal intelligence for fintech companies</span> <div class="footer-r"><a href="mailto:hello@flintel.io" class="footer-email">hello@flintel.io</a></div> </footer> <script> /* ── NAV ── */ const nav = document.getElementById('nav'); window.addEventListener('scroll', () => { nav.classList.toggle('solid', window.scrollY > 20); }, { passive: true }); /* ── SIGNAL DATA ── */ const signals = [ { platform: 'Twitter / X', handle: '@chukwuemeka_biz', bio: 'Founder · Import Export · Toronto', corridor: 'CA → NG', score: 9, quote: 'Bank blocked my $45k CAD payment to Lagos supplier AGAIN. Third time this month. Need a better cross-border solution urgently.', tags: ['Bank blocked', '$45k urgent', 'Competitor frustrated'], outreach: 'We help diaspora businesses move money between Canada and Nigeria — fast, compliant, no bank blocks. DM us and we sort this today.', time: 'Today · 14:32 UTC' }, { platform: 'Reddit', handle: '@abubakar_trader', bio: 'CEO · Crypto Exchange · Lagos', corridor: 'NG → UK', score: 8, quote: 'Tried three crypto exchanges this month. Fees are insane and KYC keeps rejecting me. Anyone know a platform that works for Nigerian businesses in the UK?', tags: ['KYC failed', 'Multiple competitors', 'Active search'], outreach: 'We work specifically with Nigerian businesses on UK payments. Happy to walk you through how we handle KYC. Worth a quick conversation?', time: 'Today · 16:18 UTC' }, { platform: 'Twitter / X', handle: '@mkhan_imports', bio: 'Director · Import Business · Calgary', corridor: 'CA → PK', score: 9, quote: 'Wise Business restricted my account. Have $80k stuck. Pakistani supplier waiting on payment. This is killing my business. Need an alternative today.', tags: ['Wise restricted', '$80k critical', 'Leaving competitor'], outreach: 'We help Canadian importers pay Pakistani suppliers — fully compliant, no restrictions. DM us and we can move your $80k today.', time: 'Today · 17:44 UTC' } ]; let currentSignal = 0; let typeTimer = null; let autoTimer = null; function renderTags(tags) { return tags.map(t => `<span class="lc-tag">${t}</span>`).join(''); } function typeText(text, el, cursorEl, cb) { clearTimeout(typeTimer); el.textContent = ''; cursorEl.style.display = 'inline-block'; let i = 0; const step = () => { if (i <= text.length) { el.textContent = text.slice(0, i++); typeTimer = setTimeout(step, i < text.length ? 18 : 600); } else { cursorEl.style.display = 'none'; if (cb) cb(); } }; step(); } function loadSignal(idx, animate) { const s = signals[idx]; document.getElementById('card-platform').textContent = s.platform; document.getElementById('card-handle').textContent = s.handle; document.getElementById('card-bio').textContent = s.bio; document.getElementById('card-corridor').textContent = s.corridor; document.getElementById('card-time').textContent = s.time; document.getElementById('card-outreach').textContent = s.outreach; document.getElementById('card-tags').innerHTML = renderTags(s.tags); document.getElementById('score-num').textContent = s.score; const fill = document.getElementById('score-fill'); fill.style.width = '0%'; setTimeout(() => { fill.style.width = (s.score * 10) + '%'; }, 100); // Update dots document.querySelectorAll('.signal-dot-btn').forEach((b, i) => { b.classList.toggle('active', i === idx); b.setAttribute('aria-selected', i === idx ? 'true' : 'false'); }); const qEl = document.getElementById('card-quote'); const cEl = document.getElementById('card-cursor'); if (animate) { typeText(s.quote, qEl, cEl); } else { qEl.textContent = s.quote; cEl.style.display = 'none'; } } // Init first card on page load with typing const demoEl = document.getElementById('demo'); const demoObserver = new IntersectionObserver((entries) => { if (entries[0].isIntersecting) { demoObserver.disconnect(); loadSignal(0, true); startAuto(); } }, { threshold: 0.3 }); demoObserver.observe(demoEl); function startAuto() { clearInterval(autoTimer); autoTimer = setInterval(() => { currentSignal = (currentSignal + 1) % signals.length; loadSignal(currentSignal, true); }, 9000); } document.querySelectorAll('.signal-dot-btn').forEach(btn => { btn.addEventListener('click', () => { currentSignal = parseInt(btn.dataset.i); loadSignal(currentSignal, true); startAuto(); }); }); /* ── SCROLL REVEAL ── */ const ro = new IntersectionObserver((entries) => { entries.forEach(e => { if (e.isIntersecting) { e.target.classList.add('in'); ro.unobserve(e.target); } }); }, { threshold: 0.08, rootMargin: '0px 0px -40px 0px' }); document.querySelectorAll('.r').forEach(el => ro.observe(el)); /* ── SCROLL PROGRESS BAR ── */ const progressBar = document.getElementById('scroll-progress'); function updateProgress() { const h = document.documentElement; const pct = (h.scrollTop) / (h.scrollHeight - h.clientHeight) * 100; progressBar.style.width = pct + '%'; } window.addEventListener('scroll', updateProgress, { passive: true }); updateProgress(); /* ── HERO CURSOR GLOW ── */ const hero = document.getElementById('hero'); hero.addEventListener('pointermove', (e) => { const r = hero.getBoundingClientRect(); hero.style.setProperty('--mx', `${e.clientX - r.left}px`); hero.style.setProperty('--my', `${e.clientY - r.top}px`); hero.classList.add('glow-active'); }); hero.addEventListener('pointerleave', () => hero.classList.remove('glow-active')); /* ── LIVE CARD 3D TILT ── */ const liveCard = document.querySelector('.live-card'); if (liveCard) { liveCard.addEventListener('pointermove', (e) => { const r = liveCard.getBoundingClientRect(); const px = (e.clientX - r.left) / r.width - 0.5; const py = (e.clientY - r.top) / r.height - 0.5; liveCard.style.transform = `perspective(1200px) rotateY(${px * 4}deg) rotateX(${-py * 4}deg) translateY(-4px)`; }); liveCard.addEventListener('pointerleave', () => { liveCard.style.transform = ''; }); } /* ── CTA PARTICLES ── */ const particleHost = document.getElementById('cta-particles'); if (particleHost) { for (let i = 0; i < 24; i++) { const p = document.createElement('span'); p.className = 'particle'; const size = 2 + Math.random() * 3; p.style.width = size + 'px'; p.style.height = size + 'px'; p.style.left = Math.random() * 100 + '%'; p.style.bottom = '-10px'; p.style.setProperty('--dx', (Math.random() * 60 - 30) + 'px'); p.style.animationDuration = (8 + Math.random() * 12) + 's'; p.style.animationDelay = (Math.random() * 12) + 's'; particleHost.appendChild(p); } } /* ── STAT COUNTERS ── */ function animateCount(el, target, suffix, duration = 1400) { const start = performance.now(); function step(now) { const progress = Math.min((now - start) / duration, 1); const eased = 1 - Math.pow(1 - progress, 3); let val; if (Number.isInteger(target)) { val = Math.floor(eased * target); } else { val = (eased * target).toFixed(1); } el.textContent = val + suffix; if (progress < 1) requestAnimationFrame(step); else el.textContent = target + suffix; } requestAnimationFrame(step); } const statConfigs = [ { match: '90s', target: 90, suffix: 's' }, { match: '95%', target: 95, suffix: '%' } ]; document.querySelectorAll('#stats [aria-label]').forEach(el => { const text = el.textContent.trim(); if (text === '90s') { el.dataset.target = 90; el.dataset.suffix = 's'; } else if (text === '95%') { el.dataset.target = 95; el.dataset.suffix = '%'; } else { el.dataset.skip = '1'; } // 24/7 stays static }); const statsObserver = new IntersectionObserver((entries) => { entries.forEach(e => { if (e.isIntersecting) { const el = e.target; if (!el.dataset.skip) { animateCount(el, parseFloat(el.dataset.target), el.dataset.suffix); } statsObserver.unobserve(el); } }); }, { threshold: 0.5 }); document.querySelectorAll('#stats [aria-label]').forEach(el => statsObserver.observe(el)); /* ── STAGGERED REVEAL FOR LIST ITEMS ── */ function staggerReveal(selector, step = 70) { document.querySelectorAll(selector).forEach((el, i) => { el.classList.add('r'); el.style.transitionDelay = (i * step) + 'ms'; }); } staggerReveal('#sources article'); staggerReveal('#who article'); staggerReveal('#tiers article'); staggerReveal('#how article'); /* Re-run scroll reveal observer to catch newly-added .r elements */ document.querySelectorAll('.r').forEach(el => { if (!el.classList.contains('in')) ro.observe(el); }); /* ── STATEMENT WORD REVEAL via the same .r observer ── */ document.querySelectorAll('.statement').forEach(el => { el.classList.add('r'); ro.observe(el); }); document.querySelectorAll('a[href^="#"]').forEach(a => { a.addEventListener('click', e => { const t = document.querySelector(a.getAttribute('href')); if (!t) return; e.preventDefault(); t.scrollIntoView({ behavior: 'smooth', block: 'start' }); }); }); </script> </body> </html> HTMLEOF echo "Done"
Live signal intelligence
Flintel monitors Twitter, Reddit, Telegram and competitor reviews 24/7. The moment a buyer shows intent — your team gets the signal, the context, and exactly what to say. In under 90 seconds.
Currently deployed with a Canadian fintech expanding to 25 markets.
Intent score
We help diaspora businesses move money between Canada and Nigeria — fast, compliant, no bank blocks. DM us and we sort this today.
Most signal tools flood your team with irrelevant alerts. Flintel's three-layer architecture means every signal your team sees is a real buyer — in the moment they need you.
Monitors Twitter, Reddit, Telegram and competitor reviews continuously. Searches your exact buyer keywords across millions of posts every 60 seconds. Never sleeps. Never misses.
A two-layer system removes 95% of irrelevant content before AI ever processes it. Consumer subscriptions, wrong geography, personal payments — all eliminated instantly at zero cost.
AI reads each post, scores buying intent 0–10, identifies the buyer, writes the exact outreach message, and delivers a complete signal card to Slack and HubSpot in under 90 seconds.
The reality
They have already made the decision to leave. All they need now is someone to reach them first with the right message.
From public post to Slack alert. Every time. Without exception.
Continuous monitoring across every source and every market.
Noise removed before your team sees a single irrelevant alert.
Diaspora businesses comparing corridors, hitting bank blocks, searching for better rates — posting publicly every single day. Find them before your competitors do.
"Bank blocked my $45k CAD Lagos supplier payment again. Third time this month. Anyone know a better cross-border solution?"
Merchants comparing exchanges, frustrated with fees and failed KYC. On Twitter right now. We identify who they are and write exactly what you should say to them.
"Tried three crypto exchanges this month. Fees are insane. Anyone know a platform that actually works for Canadian businesses?"
Business owners whose international payments fail mid-transaction. Their supplier is waiting. They need a solution right now. That urgency is visible in every word they post.
"Wise Business failed me again. Payment delayed 2 weeks. My supplier is threatening to cancel. Need an alternative urgently."
Not every post deserves the same urgency. Flintel scores each signal 0 to 10 and routes it accordingly — so your team always knows exactly how to prioritise.
Active buyer right now. Competitor frustration confirmed, specific amount mentioned, urgency expressed. Delivered with a ready-to-send outreach script in under 90 seconds.
Researching solutions. No immediate crisis but genuinely interested. Collected throughout the day, delivered as a prioritised morning brief with full context intact.
Not a buyer today but will be in 30 to 60 days. Monitored silently. Escalated automatically the moment intent spikes into actionable territory.
Consumer subscriptions, wrong geography, personal payments. Eliminated before AI ever processes them. Zero cost. Zero noise for your team. Ever.
Get started
Every day you wait, a buyer with active intent picks a competitor who found them first. 15 minutes. No pitch deck. Just a live signal from your own market.
hello@flintel.io · No commitment · No sales deck · No pitch
HTMLEOF
echo "Done"