johnfire / johnfire/flashkarte

Strategy: in-app AI course builder for users without an agent of their own

Open
#143 0 comments 0 reactions 0 assignees View on GitHub
idea
Dominant language
TypeScript
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

**From the same 2026-09-15 strategy conversation as #140/#141/#142. Chris: "im already seriously thinking og building in an AI (using API key) that can, in app, build a new set of decks for a user that doesnt have AI. it would interview the user, find out what they desire to learn, then build a custom course for the user."**

## The idea

An in-app AI, paid for with flashkarte's own API key rather than the user's — the second of two ways to be "AI-native" (see `~/Downloads/mcp-app-guide-pattern.md`'s BYOA-vs-built-in split). It would interview a user with no connected agent of their own ("what do you want to learn?"), then drive the same course-building service that `build_a_course` already drives over MCP, to produce a real course.

This isn't a competing bet against #140's MCP-first direction — it's the mass-market front door next to it. #140-142 assume the user already has a capable agent in tow; most people arriving at flashkarte in 2026 don't. Two front doors, one service layer: BYOA/MCP for users who bring an agent, in-app AI for users who don't.

## Why this matters

The AI-native pitch on the landing page only reaches users who already have an AI to hand it to. Without an in-app option, everyone else still has to build decks by hand — which undercuts the pitch for exactly the audience that would benefit most from it (people who don't already have an agent workflow, i.e. most non-technical users).

## Decisions to make

- **Grounding.** The landing page's core claim is "grounds content in real sources, doesn't make facts up." An open-ended interview ("what do you want to learn?") starts with no source material — the AI would be generating from its own knowledge, the exact case the pitch says it avoids. Resolve by having the interview end in a real source (link, pasted notes, a syllabus) before building, or by explicitly labeling unsourced cards as "built from the model's own knowledge, verify as you go."
- **Cost model.** This is flashkarte's first standing LLM opex line — today, inference cost is entirely offloaded onto whatever agent the user brings via MCP. An in-app builder means flashkarte pays per interview/course-build. Needs a cost-control story (rate limits, plan tiers, caching) before shipping, not after.
- **Which model powers it.** Raised but not resolved in the source conversation — Opus and Fable were both floated. This is a separate question from "should another model help brainstorm the design" (decided: no, not needed yet) — it's about what actually runs in production.
- **Report-back applies here too.** Same trust-layer need as #141 — a user who wasn't part of a live chat with the in-app AI still needs a legible account of what it built and why, probably more than an MCP-driven build does, since there's no existing chat transcript for the user to scroll back through.

## Reuse

Builds on the same course-building service layer already speced caller-agnostic in `docs/plans/2026-09-15-courses-design.md` — this would be a second caller alongside the MCP tool, not a rewrite. See also `~/Downloads/mcp-app-guide-pattern.md`'s "Open question: is BYOA still the default" section for the fuller framing.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading docs/plans/2026-09-15-courses-design.md and the existing build_a_course MCP entry point to understand the caller-agnostic service boundary. Resolve the grounding, cost, production-model, and report-back requirements before proposing the in-app caller; done means those decisions are documented and the scope is actionable.

Written by the indexing model from the issue text.

Assessment

Domain
ai, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.