Skip to main content
Built by Frontkom · the conversation that bookends every project

Talk to your client.
Listen to your users.
Close the loop.

One tool for both ends of every client engagement. An AI-led intake interview turns the client’s words into a working spec — and the same install collects real feedback once it ships. Two halves of one conversation.

Frida speaks Norsk, English, and whichever language the client types in.
intake.frontkom.com
Pre-build
F
Frida
3-phase intake interview
F
Imagine it’s launch day. Walk me through the press release — what does the headline say?
“COOP Midt-Norge takes back its marketing production — Asana and Creatives replaced by one Frontkom-built workflow.”
F
Lovely. Which existing tools would you actually miss if they were gone tomorrow?
client-project.no
Post-launch

Your client’s site

Visitors click the bubble → leave precise, contextual feedback in seconds.

Send feedback
Bug
Idea
Praise
Question
The CTA jumps when I hover…
Frontkom Loop
Send
The Loop

The loop is the product.

Every Frontkom engagement is the same shape: a client describes a thing, you build it, you ship it, and reality talks back. Most tools live in one slice of that loop. Frontkom Loop covers all four — and the data from each stage feeds the next one.

That’s the moat: your AI coding agent doesn’t just read what the client said. It also reads what users actually do, and uses both to plan the next iteration.

2
phases, one project
1
install on the client’s site
3
voices fed to the AI (client + repo + consultant)
0
logins for the client
Intake
Frida talks to your client

Story-led AI interview. Produces client brief + internal execution plan.

Build
AI coding agent builds

Spec, schema, failing tests — the agent picks up where Frida left off.

Ship
You ship to the client

The widget is already on the page. No second integration step.

Feedback
Users talk back

Bug? Idea? Praise? Captured with screenshot, console, exact element.

Phase 1 — Intake

Frida turns a coffee chat into a spec.

Send the client a link. Frida runs a calm, story-led interview in their language — no logins, no jargon, no checklists. The output is a brief the client signs off on, AND an internal execution plan your team can take to the bank.

Story-led, never feature-led

Hollywood-pitch openings, Pixar-storyboard prompts. Never “list your user stories.”

Three voices, one prompt

The client speaks. The consultant’s briefing steers silently. The repo digest grounds every question in what already exists.

Two artifacts, two audiences

A client-facing brief (signed-off) AND a CTO-grade execution plan (methodology, stack rationale, domain table, canonical Phase-1 deliverable).

Archetype-aware

Greenfield, consolidation, extension, or integration — Frida sniffs it silently and shapes Phase 2/3 questions accordingly.

Execution plan — COOP Midt-Norge
Finalized
How deep should the work-breakdown go?
Domain-level breakdown
Archetype
Consolidation
Functional domains
2.1Ordresystem (kjerne)
2.2Oppgavehåndteringreplaces Asana
2.4Manus-håndtering
2.6Integrasjon mot Microsoft Teams
Phase 1 deliverable

A repository containing the complete database schema, all contract definitions, and a necessary set of failing tests for the defined domains.

Live feedback — COOP Midt-Norge
3 open
  • Bug

    The status flow breaks if I drag a card from Done back to In progress.

    ola@coop.no · 2m
  • Idea

    It would be amazing if the Excel parser highlighted the cells it auto-fixed.

    mari@coop.no · 14m
  • Praise

    The Kanban view is exactly how I work — way faster than Asana.

    anonymous · 1h
  • Question

    Can the Teams integration also notify the manager when something stalls?

    trond@coop.no · 3h
Phase 2 — Live

One script tag. Forever feedback.

Drop the embed snippet on the client’s site. A floating bubble appears in a shadow root (zero style clash), and your client’s users can report bugs, ideas, praise, or questions — with the page screenshotted, the last 20 console errors captured, and the exact element they were looking at attached.

One install, zero config

A single <script> tag with your project key. No npm, no build, every stack.

Screenshot + console

Lazy-loaded html2canvas + console tap. Repro without a phone call.

Element-aware

If the user clicked something just before reporting, we attach the selector + label.

Origin-locked

Lock submissions to specific domains. Project keys are safe to ship to the client.

One install, both halves

Paste once. The Loop does the rest.

The same script powers both phases. During pre-launch it can open Frida’s intake. After launch it switches to live feedback collection. Same key, same project, same dashboard.

<"tok-attr">class="tok-tag">script
  "tok-attr">src="/embed.js"
  "tok-attr">data-project="pk_your_project_key"
  async
  defer
></"tok-attr">class="tok-tag">script>
Origin-locked. Safe to commit. Shadow-DOM isolated.
Replaces

One bookend instead of four stacks.

Frontkom Loop sits where the intake brief and the live feedback fall through the cracks between other tools. You can keep using your code host, project tracker, and design tool — but Loop is the spine that ties intent and reality together.

Instead of
Notion + Loom + email
For
The intake brief

Frida runs the interview, the composer writes the brief and bilingual execution plan, the client signs off in the same window.

Instead of
Hotjar + UserBack
For
The live widget

Same shadow-DOM bubble — but the feedback rows auto-link to the intake domain the client described, not just a page URL.

Instead of
Linear / Jira issues
For
Triage workspace

The inbox is per-project, classified by Frida’s archetype, and tied back to the brief — not a generic issue tracker.

Instead of
Slack threads
For
Hand-off to AI agents

spec_artifacts + feedback are one schema. AI coding agents read both to plan iterations grounded in promise AND reality.

FAQ

The questions a consultant asks before installing.

Is the embed widget GDPR / personvern-safe?+
The widget is shadow-DOM isolated, screenshots are stored in a private Supabase Storage bucket with signed-URL access only, and the public submission key is per-project so it can be rotated independently. Free-form messages are redacted (JWT, bearer, email, IPv4) before they ever reach Slack. A DPA template is on the way for public-sector clients.
Can a client refresh the intake page without losing their answers?+
Yes. The session ID and the transcript are persisted in localStorage and a server-side spec_artifacts row, and the conversation rehydrates on mount. The progress bar tells them they’re picking up where they left off.
What stops a leaked link from running up a huge AI Gateway bill?+
Every intake conversation is bounded by a per-project intake_total_cap, a per-IP rate bucket, a per-session rate bucket, and a server-side turn cap that’s computed from the persisted transcript (not the client’s payload). Finalize is idempotent and has its own per-IP / per-project caps.
Does the client need to log in for the intake?+
No. The intake link is a /intake/<slug>?k=<public_key> URL you send them. Public-key + slug pair must match, and the project must be in intake mode. Frida handles the rest.
Can I run this self-hosted?+
Yes — Frontkom Loop is a normal Next.js + Supabase app. The README has the migrations and Vercel deploy steps. There’s no licensing fee for Frontkom-internal use; talk to the Loop team about external use.
Where does the data live?+
Supabase (Postgres + Storage), region of your choice. AI Gateway calls go through Vercel’s gateway (auto-provisioned via OIDC on Vercel). No third-party tracking, no analytics SDK, no CDN script you didn’t approve.