Grounded in your Claude Code and Codex sessions, the 48 projects in this folder, and a current X/web scan (full sources in RESEARCH.md, same folder). The point is to teach you something and compound into your personal repo, not to be finished in a week. Every thread carries a red-team note, because your defining pattern is not starting projects: it is finishing them.
Three magnets run through almost everything you build, in every tool:
You actually ship when a project is content or data shaped, or built on real personal data. Static sites on Cloudflare Pages (lions-believe, ai-lions) are the things you have genuinely deployed, both driven by fandom and built partly for your dad.
You have depth in Swift apps and agent orchestration, and you are thin on hands-on backend and API work and on ML and evaluation. You consume model repos more than you build one end to end, and you have several half-built MCP servers or skills and nothing published.
| This week | # | Type | Plays to | Teaches you | Finish odds |
|---|---|---|---|---|---|
| — | Set up the new mac (48GB) | Enables 11 & 12 | Foundation for local models and George (not a project type) | — | |
| 1 | Take near-finished iOS apps to done | Native iOS, your goal | Apple Developer Program, TestFlight, CloudKit prod | Comfort | |
| 2 | Publish one MCP server or skill | Agent tooling | Packaging, publishing, external docs | Stretch | |
| 3 | A real backend plus an eval harness | Your biggest gap | Server design, metric-driven evaluation | Stretch | |
| 4 | AFL / Brisbane Lions data products | Fandom, static sites | Live APIs, sentiment, viz | Comfort | |
| 5 | Personal life OS / PKM | Personal data | Entity resolution, retrieval, LLM pipelines | Stall risk | |
| 6 | Family and kids apps | Family motivation | Child UX, content safety | Stall risk | |
| 7 | Quantified-self and bioinformatics | Personal data | Time-series, correlation discipline | Stretch | |
| 8 | Investing and wealth automation | Sustained interest | Modeling, backtesting, optimization | Stretch | |
| 9 | Applied ML end to end | Deliberate stretch | Train / test / eval discipline | Stretch | |
| 10 | Learn in public / content | Career transition | RAG, writing cadence, brand | Stall risk | |
| 11 | George: your OpenClaw home agent | Agents + home + personal data | Agent security, least-privilege, device integration | Comfort | |
| 12 | Test open-weight models | Agent tooling, the 48GB mac | Model eval, local inference, API routing | Stretch | |
| 13 | HTML hoster/editor on Glen's html-collab | HTML artefacts, static hosting, a real partner | Integrating an OSS tool, a review loop | Comfort |
daily-log, footy-goal and kid-quest all run as local Xcode builds and none has been deployed through the Apple Developer Program. The code exists and works locally; the wall is the Program: provisioning, TestFlight, App Store review, and CloudKit sync in production. This is exactly what "take near-finished things to completion" means.
Teaches you: Apple Developer Program enrolment, provisioning profiles, TestFlight distribution, App Store review, privacy manifests, and CloudKit in production. All new to you.
Examples: push Baseline Buddy (daily-log) through to TestFlight; submit footy-goal as a free game; TestFlight kid-quest onto your kids' real devices.
Indie iOS build-in-public is healthy. Follow @twostraws (Hacking with Swift), @seanallen_dev, @twannl (SwiftLee, CI/testing), @JordanMorgan10, and the Indie App Devs newsletter. Tooling: TestFlight public links (up to 10k testers), Fastlane, Xcode Cloud. Hook: "local build to TestFlight — what the Apple Developer Program actually takes" is under-served content versus starting-in-public.
| Thread | First move | Red team |
|---|---|---|
| Push daily-log to TestFlight | Enrol in the Apple Developer Program, wire the CloudKit production container (your M0.5 sync spike), invite three family testers via a public link. | Red teamThe 99-dollar enrolment plus review is the exact wall that has stalled you. Around 80 percent of this is non-code grind — screenshots, privacy labels, review rejections — that teaches process, not craft. Timebox it or it eats the week. |
| Submit footy-goal to the App Store | Freeze the schema, add store screenshots, submit the build that runs today. | Red teamGames draw stricter review, and you will want "just one more level". Polish-forever is the failure mode. Ship what already runs. |
| TestFlight kid-quest for your kids | Cut a TestFlight build and run a real usability test on their devices. | Red teamReal kids are brutal QA and may surface UX gaps that pull you back into a build loop. Decide up front this round is about distribution; log UX findings for later rather than fixing them now. |
You have gmail-mcp-server, gmail-mcp-test, read-whatsapp, mds-to-html and the pcorpus skills. None is published. You want reusable frameworks, and this is how you get one into the world with your name on it — while MCP momentum is peaking.
Teaches you: protocol design, packaging, publishing to npm and the MCP registry, semver, and docs a stranger can follow.
Examples: publish gmail-mcp-server properly; an AFL-stats MCP over the Squiggle API; the read-whatsapp skill as a distributable; a pcorpus recall MCP.
MCP went mainstream and X launched its own hosted MCP server on 30 June 2026 (api.x.com/mcp), joining GitHub, Slack, Notion, Stripe. There is an official registry plus directories (mcp.directory). Follow @mcpsummit and the modelcontextprotocol GitHub org; FastMCP (Python) makes authoring quick. MCP usage is reported growing ~35% month on month — a hot, low-competition niche for a good server plus docs.
| Thread | First move | Red team |
|---|---|---|
| Harden and publish gmail-mcp-server | Delete gmail-mcp-test, keep one canonical repo, add tests plus a README and an OAuth setup guide, publish to npm and the MCP registry. | Red teamYour forking habit is the enemy. The moment you feel a "v2 repo" coming, that is the stall. Publishing also means strangers file issues, and OAuth setup support becomes an ongoing tax. |
| An AFL-stats MCP over Squiggle | Wrap the Squiggle endpoints as read-only MCP tools and publish. | Red teamTiny audience (AFL plus MCP overlap). Watch Squiggle's terms and rate limits. Make the learning protocol design, not another thin API wrapper. |
| read-whatsapp as a distributable skill | Add docs and explicit safety warnings for the local SQLite access. | Red teamWhatsApp's local schema changes with app updates, so it will break; publishing a tool that reads a private messaging store is privacy-sensitive. Keep it personal unless you are ready to maintain it. |
Every source flags backend, API and evaluation as your thin spot. ai-trader's strategies and backtest directories are empty stubs. pcorpus quality is unmeasured, which is the root of your frustration with it. Building the layer you skip is where the most learning hides.
Teaches you: server design, historical data handling, metric-driven evaluation, and walk-forward discipline.
Examples: the ai-trader backtest engine; a pcorpus quality eval suite; a standalone AFL prediction service with an eval endpoint.
Eval consolidated in 2026 into CI harnesses plus observability platforms; LLM-as-judge and step-level agent tracing are table stakes. Tools: MLflow (top-rated for end-to-end tracing), AgentOps, LangSmith, and OSS leaders RAGAS and DeepEval. Follow @HamelHusain (the most practical evals voice) and @jerryjliu0. "Look-ahead bias" is a live research topic.
| Thread | First move | Red team |
|---|---|---|
| ai-trader backtesting engine | Pick one strategy, one ticker universe, one year of data, produce an honest metrics report: Sharpe, drawdown, hit rate. | Red teamBacktesting is an overfitting minefield; a good-looking backtest means almost nothing, and you will be tempted to tune to the past. Commit to out-of-sample and walk-forward before the first line, or it just flatters you. |
| A pcorpus eval suite | Hand-label 30 gold queries with expected entities and facts, score recall against them each run. | Red teamEval harnesses are unglamorous and this is the exact validation layer you abandon — but it is also the direct fix for the shallow-output problem that nearly made you bin pcorpus twice, so it earns its keep. |
| A standalone AFL prediction service | A small API serving one model's predictions, plus an eval endpoint comparing to results. | Red teamScope creep into a full data platform is the risk. Keep it one model, one endpoint, one eval. |
lions-believe, ai-lions, ai-roar-deal and footy_tipper are the projects you actually finish and deploy. Guaranteed follow-through. The trick is to add a new skill on top rather than building another static page.
Teaches you: live API integration, sentiment analysis and data visualisation, provided you stretch past the static-site comfort zone.
Examples: live Squiggle predictions on lions-believe; a season-long Roar Deal sentiment tracker; footy_tipper revived with a real model.
The AFL analytics stack is mature and open. fitzRoy (R, maintainer @jimmyday12) is the community data layer; the Squiggle API (@squiggleafl, Max Barry) aggregates predictive models and is where you would publish a model. Sources: AFL Tables, Footy Wire, Squiggle. Being on Squiggle's aggregation is instant niche credibility.
| Thread | First move | Red team |
|---|---|---|
| Live Squiggle tips on lions-believe | Fetch and render this round's model probabilities, with caching. | Red teamThe risk is another Lions static site with no new learning. Make the new muscle explicit — live data, caching, graceful failure when the API is down. |
| Season-long Roar Deal sentiment tracker | Transcript to per-episode sentiment to a timeline chart. | Red teamSpotify transcript scraping is brittle and terms-grey; you already fell back to Patreon. Line up a reliable source before building analysis on it. |
| footy_tipper 2.0 with a real model | Pull historical results, train a simple baseline, compare to Squiggle, consider publishing to the aggregation. | Red teamPublic models will beat you at first. Frame it as learning to build and evaluate a model, not winning your comp, or you will quit when accuracy disappoints. |
pcorpus, zk-notes, daily-log, home-hub and net-couple all orbit ingesting your own life data. pcorpus is active and sophisticated, and you have come close to binning it twice. The interest is real; so is the frustration.
Teaches you: entity-centric modeling, information-versus-transaction dates, retrieval, and getting LLM pipelines to behave without deterministic patches.
Examples: unify pcorpus, daily-log and calendar into one recall interface; a weekly life-review agent; the net-couple watchlist.
Local-first PKM is booming (Obsidian crossed 1.5M users). The 2026 personal-memory stack is Ollama plus Mem0 plus pgvector. Follow @mem0ai, @ollama, @obsdmd, @jerryjliu0. raold/second-brain is a fully-local reference build.
| Thread | First move | Red team |
|---|---|---|
| Nail the pcorpus data model, then build recall | Write and freeze the schema spec (entity-centric, information dates, confidence), then one recall query path, ideally on Mem0 plus pgvector. | Red teamYour deepest frustration zone. You nearly binned it twice because deterministic Python betrayed the skills-framework abstraction you wanted. Decide the architecture line before writing code, or you will rage-quit a third time. If you cannot commit to LLM-led processing, do not restart it. |
| Weekly life-review agent | One read-only weekly digest over daily-log, calendar and email. | Red teamAggregating all your personal data in one place is a real security surface. Keep it local and think about what a leak would expose before building ingestion. |
| Finish net-couple | Produce the joint-compatibility output from the profiles you already scraped. | Red teamNetflix scraping breaks often; treat it as disposable. Low stakes make it a fine warm-up, but be clear it teaches little new — do not let it soak up the week. |
kidsapp, kid-quest, parent-ai-guide, ai-game-creator and xmas-2025 show genuine, repeated motivation to build for your family. They also show your clearest stall: the web full-stack ones die at partial MVP once auth and CRUD are done and the AI wiring remains.
Teaches you: UX for children, content safety and moderation, and generative content pipelines.
Examples: ship ai-game-creator's single core loop; a repeatable xmas storybook generator; kid-quest content expansion.
The discourse shifted from "kids can make games" to age-appropriate safety architecture (COPPA, filtering, parental visibility) as the real engineering problem. Character-consistent image models (Nano Banana 2) make kid storybooks viable. Builder-influencer signal is thin here; track the safety-architecture writers instead.
| Thread | First move | Red team |
|---|---|---|
| ai-game-creator, one core loop only | Strip to no-login and local, get one kid making one game (chat to game to play). | Red teamThis is the exact web full-stack plus AI-wiring shape you have abandoned four times. Brutal scope is the only defence: one loop, one user, no accounts. The day you add auth, history says you stall. LLM content for kids also needs real safety guardrails. |
| xmas-2025 storybook as a yearly tool | Re-run last year's pipeline end to end on a fresh photo dump, fix what breaks. | Red teamSeasonal projects rot between uses. If you do not document the run, you rebuild from memory next December. The deliverable is a repeatable pipeline, not one more book. |
| kid-quest content expansion | Design a content format that lets you add mazes and age tracks without code. | Red teamContent-authoring tooling is a project in itself; gold-plating the editor is the trap. Build the smallest format that unblocks three levels, then add the levels. |
ai-health holds bloodwork and DNA analysis, daily-log tracks your daily signals, and ai-fit is stalled at just a venv. Real personal data is your follow-through fuel, and this turns it into skills you are thin on.
Teaches you: time-series analysis, bioinformatics basics, the discipline of not confusing correlation with causation, and data viz.
Examples: a Garmin .fit extraction pipeline; a bloodwork trend dashboard; correlating daily-log energy with sleep and exercise.
QS matured into metabolic and longevity dashboards; multi-device aggregation (Garmin, Suunto, COROS, Oura) is normal. jimmykane/quantified-self is an open-source multi-device analyzer directly relevant to ai-fit; fitdecode/fitparse handle .fit files. Follow @QuantifiedBob. The community rewards honest single-subject writeups.
| Thread | First move | Red team |
|---|---|---|
| ai-fit first extraction script | Parse one Garmin .fit file into a tidy dataframe and draw one chart, in a single sitting. | Red teamTextbook stall-before-code — the venv has sat empty. Do not plan a grand pipeline; the fix for this pattern is a tiny first win today. |
| Correlate daily-log energy signals | Export daily-log, one correlation plot of energy against sleep, exercise and coffee. | Red teamSmall-n personal data invites false conclusions. Treat findings as hypotheses, watch for confounders. |
| DNA / pharmacogenomics report | Produce one well-sourced trait from the AncestryDNA raw data, with citations. | Red teamConsumer DNA calls have real accuracy limits and ethical weight. Not medical advice; be careful what you generate about disease risk, for yourself or family. |
ai-invest, ai-trade, ai-trader, the fantasy_auction_optimizer and gbmixed show trading and modeling recurring. Three separate trading efforts is not a passing curiosity, and this sits right on your backend and ML gap.
Teaches you: financial modeling, backtesting, optimization and scenario analysis.
Examples: a property, equity and debt scenario modeler; ai-trader paper-trading with logged metrics; the fantasy auction as a real optimization problem.
The 2026 consensus is that naive LLM trading underperforms simple baselines like moving-average crossovers; LLMs help with sentiment, research, code-gen and risk narrative, not standalone alpha. State of the art is classical signals plus an LLM as support. Repos: ai-hedge-fund (@virattt, 45k+ stars), TradingAgents (Tauric Research), FinRL; backtrader, vectorbt, nautilus trader. Look-Ahead-Bench benchmarks the headline failure mode.
| Thread | First move | Red team |
|---|---|---|
| Paper-trade ai-trader for the week | Run it live on paper, log every decision and outcome to Supabase, review daily. | Red teamA week of paper trading is statistically meaningless as a verdict. Treat it strictly as a plumbing and observability exercise. Real money is a separate, riskier decision. |
| ai-invest scenario modeler | One parameterized scenario (property plus shares plus debt cycling) with a chart, from your existing scripts. | Red teamAU tax and finance logic must be accurate or the tool misleads you about your own money. Cite every rule; never mistake the model for advice. |
| fantasy_auction_optimizer writeup | Formalise the objective and constraints, solve, explain. | Red teamFun but low transfer. Only worth the week if you use it to learn optimization properly. Note the honest path for any of these is Type 3: build the backtest/eval first, then the strategy. |
gbmixed, gbmixed-local, the NFL model and Titanic tests show you exploring and packaging ML but rarely building and evaluating one model end to end. You clone lang_implementations and mcp-servers more than you build. This is the type that stretches you most.
Teaches you: real modeling, honest evaluation, and the part of the work an agent cannot do for you.
Examples: GBMixed on AFL player data (marries sport and ML); one model with a proper eval report; a Kaggle-style writeup.
Practical ML teaching still centres on @jeremyphoward (fast.ai / answer.ai), @AndrewYNg (data-centric AI) and @karpathy (Eureka Labs). Gradient boosting remains the tabular workhorse; the teachable skill is honest train/test/eval, not the fit. "Baseline beat my fancy model" writeups do well.
| Thread | First move | Red team |
|---|---|---|
| One GBMixed model on AFL data | One target such as disposals, a train/test split, a baseline versus GBMixed, and a writeup of what beat what and why. | Red teamModeling needs sustained solo focus that fights your agent-orchestration style, and the temptation is to let the agent hand-wave the eval. Resist — the learning is in the eval. Skip the honest comparison and you learned nothing. |
| Learn one unfamiliar method properly | One dataset, one method you do not know, one honest metrics report plus a short writeup. | Red teamThe failure mode is collecting another cloned repo instead of building. The deliverable must be your code and your evaluation, not a fork you read. |
Your sahil-bloom, dan-koe, paul-graham, karpathy and lenny synthesis pipelines, plus the career project, point at a content and brand ambition. Documented side projects are direct fuel for a consulting transition. The risk is content becoming an escape from building.
Teaches you: RAG over a corpus, a writing habit, personal brand, and turning builds into narrative.
Examples: a build-log site documenting one project per post; a RAG-over-authors tool; a newsletter distilling what you learn.
The 2026 playbook: revenue and milestone threads get the most engagement; threads beat single posts; posts with a screenshot or artifact travel furthest; a problem-education thread ending in a soft mention converts best. Consistency beats volume (~3-5 posts/week plus daily replies); expect 6-12 months to traction. X builds the brand, LinkedIn converts B2B leads — run both. Follow @levelsio, @swyx (coined "learn in public"), @simonw, @gregisenberg, @svpino, @marclou, @jackfriks. Consulting economics: $100-500/hr, first builds $3-6k, retainers $500-3k/mo, target $8-15k/mo in 18-24 months; referrals convert 3-5x cold.
| Thread | First move | Red team |
|---|---|---|
| A build-log site | On Cloudflare Pages (your comfort deploy), write post one about a project you took to done this week. | Red teamWriting easily becomes procrastination dressed as productivity. Cap it at one post per thing you actually shipped, so content trails the work. A blog with no shipped projects behind it is the worst outcome. |
| RAG over the thought-leader corpus | RAG over one author's work with cited answers (Obsidian plus Ollama plus a second-brain plugin is the common stack). | Red teamPublishing summaries of copyrighted writing is legally sensitive. Keep it personal, or transform heavily; do not republish their words. |
| A newsletter or transition thread | Write one issue, or the "going solo AI consulting in Brisbane, building in public from day 0" thread. | Red teamNewsletters only compound with cadence, and your pattern is bursts. Do not commit to a schedule you will not hold — start irregular and let it earn a rhythm. |
George is your live OpenClaw instance: repo at agent-projects/openclaw (with Dockerfile.sandbox, a security dir, INCIDENT_RESPONSE.md, and channels/tools/skills/plugins in ~/.openclaw/openclaw.json), running in Docker (openclaw:local, healthy for three weeks). The pile of openclaw.json.clobbered and .bak files says config churns on upgrades. Making George a proper project turns your most-used agent into a portfolio and consulting centrepiece, and it rides the defining 2026 trend.
Teaches you: agent security and sandboxing, least-privilege permission design, home-automation and device integration, migrating a service off Docker, and MCP/tool authoring.
Examples: add robot vacuum/mop control; migrate George off Docker on the iMac; scope down George's access before the new mac becomes your home laptop; fix the config churn.
OpenClaw / clawd.bot (Peter Steinberger, @steipete) is the viral 2026 personal-agent story — an agent with real permissions and 50+ integrations. It rides the MCP resurgence and X's own MCP server. The community's live safety concern is prompt injection and permission blast radius: an agent that can act can be manipulated into acting. Follow @steipete, @simonw (prompt injection), @mcpsummit.
| Thread | First move | Red team |
|---|---|---|
| Add the robot vacuum/mop to George | Choose the integration path — a Home Assistant or Matter bridge over an unofficial vendor cloud API — and expose one action (start, dock) as a George tool with a confirmation step. | Red teamConsumer vacs (Roborock, Dreame, Ecovacs) rarely have official local APIs; unofficial cloud APIs break on app updates and rate-limit. Handing an autonomous agent control of a device that physically moves through your house (kids, pets, 3am runs) needs a hard confirm, not free rein. |
| Move George out of Docker on the iMac | Decide the target runtime (native on the iMac, or the new mac) and reproduce the gateway without the container. | Red teamDocker is George's isolation layer — Dockerfile.sandbox exists for a reason. Dropping it onto a machine you use daily removes a boundary between an acting agent and your personal files. If you leave Docker, replace the sandbox (a separate macOS user, a VM, or a native sandbox profile); do not run it bare. |
| Reduce George's access before the new mac is your home laptop | Audit tools, channels and secrets in openclaw.json, apply least-privilege (drop unused tools, scope tokens, allowlist origins), document what it can touch. | Red teamOpenClaw's premise is real permissions to act on your behalf, which is exactly the prompt-injection blast radius. The new mac being your home laptop raises the stakes: a manipulated agent there reaches your personal life. Least-privilege plus a live INCIDENT_RESPONSE runbook is the actual project, not an afterthought. |
| Fix the config churn (optional) | The many clobbered and .bak openclaw.json files suggest upgrades corrupt config — add a validated, version-controlled config with backup-on-write. | Red teamWorth doing, but scope it. It is plumbing; do not let it eat the feature and security work. |
Open weights have closed most of the coding gap in 2026. Testing them across three avenues — a cheap cloud API (OpenRouter, glm-*), local hosting on the 48GB mac, and inside your own agents — teaches you how to evaluate a model on your own work and gives you cheaper and private options for bulk tasks.
Teaches you: model evaluation on your own tasks, local inference on Apple Silicon (Ollama, MLX, LM Studio), API routing, and cost versus privacy tradeoffs.
Examples: GLM-4.6 or GLM-5.2 via OpenRouter inside Claude Code; Qwen3-Coder-30B-A3B running locally; routing some George tasks to an open model.
GLM-5.2 (Z.ai) is the open-weight leader — first open model to beat GPT-5.5 on SWE-Bench Pro. GLM-4.6 is the affordable Claude-Sonnet alternative on OpenRouter (~$0.43 per M in, $1.74 out, 200K context) and drops into Claude Code, Cline, Roo and Kilo. On 48GB, keep the model to ~30GB: Qwen3-Coder-30B-A3B (MoE, ~32-52 tok/s) is the coding default; Qwen 3.6-27B dense at Q4-Q6 is the quality pick. Tools: Ollama (easiest), MLX / LM Studio (fastest on Apple Silicon), llama.cpp. Follow @simonw, @ArtificialAnlys, @ollama.
| Thread | First move | Red team |
|---|---|---|
| glm-* via OpenRouter in your agents | Point Claude Code at OpenRouter, run GLM-4.6 on a real task from one of your repos, compare cost and output to Claude side by side. | Red teamVendor benchmarks do not predict your workload — only your own tasks count. Routing a coding agent through a third party also means your code and prompts leave your machine, so mind what you send and read OpenRouter's data policy. |
| Local hosting on the 48GB mac | Install LM Studio or Ollama, pull Qwen3-Coder-30B-A3B, wire it into one real workflow and note tokens per second. | Red team48GB caps you at roughly a 30GB model, so you get a strong 30B, not a frontier model — set expectations. MLX is fastest but lags on brand-new models, and long context eats your RAM budget fast, so a big context window and a big model compete for the same memory. |
| Route some George / agent work to open models | Send bulk or private tasks to a local or open model, keep the frontier model for the hard reasoning. | Red teamQuality cliffs are real on long-horizon agent runs — an open model that looks fine on a one-shot can fail on a 20-step task. Measure with an eval before you trust it with anything consequential. This is where Type 3's harness earns its keep. |
You generate branded HTML constantly — mds-to-html and q-html outputs like this very report — and they currently sit as loose files. A hoster plus a light editor, built on Glen Maisey's open-sourced html-collab (which wraps an HTML doc so others can review it and send feedback back), turns those artefacts into shareable, reviewable, editable things. Glen already uses html-collab a fair bit and has suggested you send wrapped html-collab docs out for review.
Teaches you: integrating and extending someone else's open-source tool, a review and round-trip loop, and hosting or editing beyond static files. A real collaborator raises follow-through.
Examples: host this report plus an index at a Cloudflare URL; an in-browser editor to tweak generated HTML without re-running the pipeline; wrap outputs with html-collab and send for feedback.
Single-file, self-contained HTML artefacts are having a moment (Claude Artifacts and similar). html-collab is Glen's lightweight open-source take on collaborative review of them. External signal is thin — the real drivers are your own artefact output and Glen as a partner, not an X trend.
| Thread | First move | Red team |
|---|---|---|
| Stand up a hoster for your HTML artefacts | Deploy this report plus an index page to Cloudflare Pages or R2 with a shareable URL. | Red teamStatic deploy is already your comfort zone, so the risk is over-building a "platform" when a folder plus an index is enough. Scope to hosting first; earn the editor later. |
| Add a light editor on html-collab | Wire one artefact through html-collab's edit and round-trip rather than rolling your own WYSIWYG. | Red teamBuilding a real editor is a rabbit hole — lean on html-collab and keep the loop simple (edit, save, redeploy). Confirm its licence and how maintained it is before depending on it; it was "a few hours of one person's time". |
| Run Glen's review experiment | Wrap one non-sensitive doc, send it to a couple of people, do not explain it, and watch whether the process lands. | Red teamSending docs out for review is a confidentiality surface — apply the mds-to-html transcript rules and never wrap anything with pcorpus or meeting-transcript content. If reviewers cannot work out the UX unprompted, that is product signal, not user error. |