1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 <meta charset="utf-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1"> 7 <meta name="description" content="Riff doesn't have the answers. It has better questions, the kind that help you find yours. An AI reflection partner by the Stanford d.school, free for educators and learners."> 8 9 <title>rifflection.ai · reflect with AI</title> 10 11 <link rel="icon" href="riff-v2/favicon.svg" type="image/svg+xml"> 12 <link rel="alternate icon" href="assets/img/fav.png" sizes="16x16"> 13 14 <!-- Open Graph --> 15 <meta property="og:type" content="website"> 16 <meta property="og:url" content="https://riffbot.ai/"> 17 <meta property="og:title" content="rifflection.ai · reflect with AI"> 18 <meta property="og:description" content="Riff doesn't have the answers. It has better questions, the kind that help you find yours."> 19 <meta property="og:image" content="https://riffbot.ai/riff-v2/hero-riff.png"> 20 21 <!-- Fonts: Gloock (display) + Inter (body) + Fira Code (ticket â) --> 22 <link rel="preconnect" href="https://fonts.googleapis.com"> 23 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 24 <link href="https://fonts.googleapis.com/css2?family=Gloock&family=Inter:wght@400;500;600;700&family=Fira+Code&display=swap" rel="stylesheet"> 25 26 <link rel="stylesheet" href="riff-v2/landing.css"> 27</head> 28 29<body data-mode="riff"> 30 <div class="page"> 31 32 <!-- ====== top rail ====== --> 33 <header class="rail"> 34 <a class="rail-logo" href="#top"> 35 <span>rifflection</span><span class="dot"></span> 36 <small>by Stanford d.school</small> 37 </a> 38 <nav class="rail-nav"> 39 <a class="login" href="https://app.riffbot.ai/login" target="_blank" rel="noopener">Log in</a> 40 <a class="rail-cta" href="#access" data-open-modal="access">Get your code</a> 41 </nav> 42 </header> 43 44 <!-- ====== hero ====== --> 45 <section class="hero" id="top"> 46 <div class="hero-text"> 47 <div class="sidelabel">01 / reflection, reimagined</div> 48 <h1> 49 <span class="swap-line">Sharpen your</span> 50 <span class="swap-line red"><em>reflective skills</em></span> 51 <span class="swap-line">with AI.</span> 52 </h1> 53 <p class="lede">Riff doesn't have the answers. It has better questions, the kind that help you find yours.</p> 54 <div class="meta"> 55 <a class="btn btn-primary" href="#access" data-open-modal="access">Get your access code</a> 56 <a class="btn btn-ghost" href="https://bot.enchatted.com/riff?token=GKqBUIMDJD32OKuqDDt4EtfjR" target="_blank" rel="noopener" data-open-modal="demo">Try Riff as a learner</a> 57 </div> 58 <p class="footnote"><sup>*</sup> Riff is now free for everyone. No credit card, just an access code. Used by 1,000+ educators.</p> 59 </div> 60 <div class="hero-art" aria-hidden="true"> 61 <div class="hero-art-stage"> 62 <div class="hero-art-img"></div> 63 </div> 64 <div class="meet-note meet-note--riff"> 65 <div class="meet-text"> 66 <em>Meet Riff.</em> 67 <small>it asks the questions</small> 68 </div>
69 <svg class="meet-arrow" viewBox="0 0 100 70" preserveAspectRatio="none" aria-hidden="true"> 70 <path class="ma-curve" d="M 6 4 C 6 22, 18 36, 38 44 S 62 56, 78 60" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" pathLength="1"></path> 71 <path class="ma-head" d="M 70 54 L 80 60 L 70 66" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" pathLength="1"></path> 72 </svg> 73 </div> 74 </div> 75 </section> 76 77 <!-- ====== mechanic: the turned table ====== --> 78 <section class="section"> 79 <div class="section-kicker">the turned table</div> 80 <h2>Most chatbots answer. <em class="red">Riff asks.</em></h2> 81 <p class="lede">Reflection is a muscle. Riff is the partner that keeps gently turning the question back to you, where the learning actually happens.</p> 82 83 <div class="mechanic"> 84 <div class="mech-panel"> 85 <span class="mech-label">everything else</span> 86 <div class="mech-name">Any chatbot<span style="color: var(--accent)">.</span></div> 87 <p class="mech-role"><em>You ask. It answers.</em></p> 88 <div class="mech-flow"> 89 <span class="pill">You</span> 90 <span class="arrow">â</span> 91 <span class="pill">Question</span> 92 <span class="arrow">â</span> 93 <span class="pill">Bot</span> 94 </div> 95 </div> 96 97 <div class="mech-switch"><em>â</em></div> 98 99 <div class="mech-panel is-active"> 100 <span class="mech-label">Riff</span> 101 <div class="mech-name">Riff<span style="color: var(--accent)">.</span></div> 102 <p class="mech-role"><em>Riff asks. You reflect.</em></p> 103 <div class="mech-flow"> 104 <span class="pill">Riff</span> 105 <span class="arrow">â</span> 106 <span class="pill">Question</span> 107 <span class="arrow">â</span> 108 <span class="pill">You</span> 109 </div> 110 </div> 111 </div> 112 113 <div class="stats"> 114 <div class="stat"> 115 <div class="n">65,000+</div> 116 <div class="l">conversations</div> 117 </div> 118 <div class="stat"> 119 <div class="n">1,000+</div> 120 <div class="l">educators</div> 121 </div> 122 <div class="stat"> 123 <div class="n">3,000+</div> 124 <div class="l">bots created</div> 125 </div> 126 <div class="stat"> 127 <div class="n">1M+</div> 128 <div class="l">questions posed</div> 129 </div> 130 </div> 131 </section> 132 133 <!-- ====== get access ====== --> 134 <section class="section chat-section" id="access"> 135 <div class="section-kicker">free for all · get your code</div> 136 <div class="chat-wrap"> 137 <div class="copy"> 138 <h3>Riff is free now. You just need a code.</h3> 139 <p>Tell us who you are and how you plan to use Riff. It takes about a minute, and we'll email your access code as soon as it's granted.</p> 140 <div class="aside">If you're a student, use the link your teacher shared, or try Riff as a learner. The application is for educators, coaches, and school leaders.</div> 141 </div> 142 <div class="access-ticket" data-open-modal="access" role="button" tabindex="0" aria-label="Apply for a Riff access code"> 143 <div class="at-head"> 144 <span class="at-brand">riff<span class="at-dot"></span>access code</span>
145 <span class="at-no">â <em>····â····</em></span> 146 </div> 147 <div class="at-asks"> 148 <div class="at-caption">What we ask</div> 149 <div class="at-ask"> 150 <span class="at-num"><em>1.</em></span> 151 <span>Who you are</span> 152 </div> 153 <div class="at-ask"> 154 <span class="at-num"><em>2.</em></span> 155 <span>Where you teach, coach, or lead</span> 156 </div> 157 <div class="at-ask"> 158 <span class="at-num"><em>3.</em></span> 159 <span>How you plan to use Riff</span> 160 </div> 161 </div> 162 <div class="at-foot"> 163 <span class="at-note">Takes about a minute. Your code arrives by email.</span> 164 <a class="at-btn">Start your application</a> 165 </div> 166 </div> 167 </div> 168 </section> 169 170 <!-- ====== audiences ====== --> 171 <section class="section audiences-section" id="learners"> 172 <div class="section-kicker">two practices · one tool</div> 173 <h2 class="audiences-h"> 174 For the ones <em>asking,</em><br> 175 <span class="amp">&</span> the ones <em>answering.</em> 176 </h2> 177 <div class="audiences"> 178 <div class="aud-col aud-col--learners"> 179 <div class="aud-corner"> 180 <span class="aud-corner-tag">for learners</span> 181 <span class="aud-corner-role"> 182 <em>riff asks</em><span class="arrow">â</span> 183 </span> 184 </div> 185 <h3>Reflect, with backup.</h3> 186 <p class="aud-lede">Riff supports the part of learning that happens after class, the part you usually do alone.</p> 187 <ol class="aud-feats"> 188 <li class="aud-feat"> 189 <span class="aud-num"><em>1.</em></span> 190 <div class="aud-feat-body"> 191 <h4>Personal, not generic</h4> 192 <p>Every question Riff asks is shaped by what you just said. No prompts to copy in. No template to fill.</p> 193 </div> 194 </li> 195 <li class="aud-feat"> 196 <span class="aud-num"><em>2.</em></span> 197 <div class="aud-feat-body"> 198 <h4>Pause to think</h4> 199 <p>Riff is built to be patient. Conversations go where you let them, and stop when you say so.</p> 200 </div> 201 </li> 202 <li class="aud-feat"> 203 <span class="aud-num"><em>3.</em></span> 204 <div class="aud-feat-body"> 205 <h4>Yours to keep</h4> 206 <p>Export the transcript, anonymize it, share it with a coach, or keep it private. Your call, your data.</p> 207 </div> 208 </li> 209 </ol> 210 </div> 211 212 <div class="aud-divider" aria-hidden="true"> 213 <span class="aud-dot"></span> 214 </div> 215 216 <div class="aud-col aud-col--educators" id="educators"> 217 <div class="aud-corner"> 218 <span class="aud-corner-role"> 219 <span class="arrow">â</span><em>you author</em> 220 </span> 221 <span class="aud-corner-tag">for educators</span> 222 </div> 223 <h3>Build your own bot.</h3> 224 <p class="aud-lede"><em>no code.</em> Spin up a reflection bot tuned to your class, your prompt, your tone. Drop it into your LMS, a website, or a Friday email.</p> 225 <ol class="aud-feats"> 226 <li class="aud-feat">
227 <span class="aud-num"><em>1.</em></span> 228 <div class="aud-feat-body"> 229 <h4>Author in plain language</h4> 230 <p>Describe the kind of reflection you want. Riff handles the question generation; you handle the framing.</p> 231 </div> 232 </li> 233 <li class="aud-feat"> 234 <span class="aud-num"><em>2.</em></span> 235 <div class="aud-feat-body"> 236 <h4>See the patterns</h4> 237 <p>Read individual transcripts or zoom out to themes across a cohort. Spot what's surfacing, without surveilling.</p> 238 </div> 239 </li> 240 <li class="aud-feat"> 241 <span class="aud-num"><em>3.</em></span> 242 <div class="aud-feat-body"> 243 <h4>Embed anywhere</h4> 244 <p>A snippet, a link, an iframe. Riff goes wherever your students already are.</p> 245 </div> 246 </li> 247 </ol> 248 </div> 249 </div> 250 </section> 251 252 <!-- ====== use cases ====== --> 253 <section class="section"> 254 <div class="section-kicker">in the wild</div> 255 <h2>Four ways people actually use it.</h2> 256 <div class="usecases"> 257 <div class="usecase"> 258 <div class="uc-num">01</div> 259 <span class="uc-tag">riff</span> 260 <h4 class="uc-title">End-of-week journaling</h4> 261 <p class="uc-body">
261Five minutes on a Friday with a bot that asks better questions than "how was your week?"</p> 262 </div> 263 <div class="usecase"> 264 <div class="uc-num">02</div> 265 <span class="uc-tag">riff</span> 266 <h4 class="uc-title">Project retrospectives</h4> 267 <p class="uc-body">Close a sprint, a studio, or a group project with questions that dig past "it went fine."</p> 268 </div> 269 <div class="usecase"> 270 <div class="uc-num">03</div> 271 <span class="uc-tag">riff</span> 272 <h4 class="uc-title">Post-class debrief</h4> 273 <p class="uc-body">Hand learners a Riff link instead of an exit ticket. Get reflection instead of compliance.</p> 274 </div> 275 <div class="usecase"> 276 <div class="uc-num">04</div> 277 <span class="uc-tag">riff</span> 278 <h4 class="uc-title">Coaching between sessions</h4> 279 <p class="uc-body">Coaches hand clients a Riff link between 1:1s, so the thinking keeps moving and the next session starts deeper.</p> 280 </div> 281 </div> 282 </section> 283 284 <!-- ====== research & roots ====== --> 285 <section class="section" id="research"> 286 <div class="section-kicker">the thinking behind it</div> 287 <h2>Built on a small <em class="red">library.</em></h2> 288 <p class="lede lede--body" style="max-width: 52ch">Rifflection didn't fall out of the sky. It's a working hypothesis with a paper trail: an essay, a book, and a few decades of learning science underneath.</p> 289 290 <div class="research"> 291 <a class="read-card" href="https://medium.com/stanford-d-school/reflecting-with-ai-a-tool-to-develop-human-intelligence-88cec86babf" target="_blank" rel="noopener noreferrer"> 292 <div class="read-meta"> 293 <span class="read-kind">Essay</span> 294 <span class="read-year">2023</span> 295 </div> 296 <h3 class="read-title">Reflecting with AI: A Tool to Develop Human Intelligence</h3> 297 <div class="read-venue">Stanford d.school, on Medium</div> 298 <p class="read-blurb">Leticia introduces Riff and the bet behind it: that an AI which asks instead of answers can deepen reflection more than any single static prompt. The article lays out the four moves Riff makes in a conversation, and the learning-science lineage it's built on.</p> 299 <span class="read-cta">Read the essay â</span> 300 </a> 301 <a class="read-card" href="https://experimentsinreflection.com/" target="_blank" rel="noopener noreferrer"> 302 <div class="read-meta"> 303 <span class="read-kind">Book</span> 304 <span class="read-year">2024</span> 305 </div> 306 <h3 class="read-title">Experiments in Reflection</h3> 307 <div class="read-venue">Stanford d.school · Ten Speed Press</div> 308 <p class="read-blurb">A practical, illustrated guide to reflection as a tool not just for examining the past, but for imagining and shaping the future. Many of its exercises are the seeds Riff was built to deliver in conversational form. Free educator's guide available.</p> 309 <span class="read-cta">Visit experimentsinreflection.com â</span> 310 </a> 311 </div> 312 313 <div class="research-foot"> 314 <div class="lineage"> 315 <div class="lineage-title"> 316 <span class="lineage-asterisk">*</span> 317 Lineage 318 </div> 319 <ul class="lineage-list"> 320 <li> 321 <span class="lin-who">Roy Pea</span> 322 <span class="lin-what">Distributed intelligence. Minds rarely think alone; tools and people extend cognition.</span>
323 <span class="lin-cite">Pea, 1993</span> 324 </li> 325 <li> 326 <span class="lin-who">Donald Schön</span> 327 <span class="lin-what">The reflective practitioner. Knowing-in-action sharpened by reflecting-in-action.</span> 328 <span class="lin-cite">Schön, 1983</span> 329 </li> 330 <li> 331 <span class="lin-who">John Dewey</span> 332 <span class="lin-what">Experience becomes learning only when it's examined. The original case for reflection in education.</span> 333 <span class="lin-cite">Dewey, 1933</span> 334 </li> 335 </ul> 336 </div> 337 <div class="research-note"> 338 <div class="rn-eyebrow">About the author</div> 339 <h4 class="rn-title">Leticia Britos Cavagnaro</h4> 340 <p>A scientist-turned-designer (PhD, Developmental Biology, Stanford). She has taught at the d.school since 2006, created Advanced Reflective Practice in the MS Design Impact program, and co-founded the University Innovation Fellows, a community of students and educators from 300+ universities.</p> 341 </div> 342 </div> 343 </section> 344 345 <!-- ====== faq ====== --> 346 <section class="section" id="faq"> 347 <div class="section-kicker">questions about questions</div> 348 <h2>Frequently asked.</h2> 349 <div class="faq"> 350 <div class="qa open"> 351 <div class="qa-q"> 352 <h4>How is this different from ChatGPT?</h4> 353 <span class="qa-toggle">+</span> 354 </div> 355 <div class="qa-a"> 356 <p>ChatGPT is built to answer. Riff is built to do the opposite: it stays in the question-asking seat and keeps turning the conversation back to you, where the learning happens.</p> 357 </div> 358 </div> 359 <div class="qa"> 360 <div class="qa-q"> 361 <h4>How do I get an access code?</h4> 362 <span class="qa-toggle">+</span> 363 </div> 364 <div class="qa-a"> 365 <p>Riff is free for everyone, but we ask you to apply first. Share a few details (name, organization, how you plan to use Riff) in the chat on this page, and we'll email your code as soon as access is granted.</p> 366 </div> 367 </div> 368 <div class="qa"> 369 <div class="qa-q"> 370 <h4>Can I customize the bots for my class or team?</h4> 371 <span class="qa-toggle">+</span> 372 </div> 373 <div class="qa-a"> 374 <p>Yes. Educator access includes a no-code authoring tool. Describe the kind of reflection you want, the tone, the boundaries, and we shape the bot around that.</p> 375 </div> 376 </div> 377 <div class="qa"> 378 <div class="qa-q"> 379 <h4>What about data and privacy?</h4> 380 <span class="qa-toggle">+</span> 381 </div> 382 <div class="qa-a"> 383 <p>Conversations are stored so educators can read transcripts or see patterns longitudinally. Learners can stay anonymous; educators choose what's shared. As with any AI, we recommend clear guardrails, and we'll help you set them.</p> 384 </div> 385 </div> 386 </div> 387 </section> 388 389 <!-- ====== cta ====== --> 390 <section> 391 <div class="cta-block"> 392 <div> 393 <h2>Ready to be asked better questions?</h2> 394 <p>Riff is now free for everyone. You just need an access code, and applying takes about a minute.</p> 395 </div> 396 <div class="cta-actions"> 397 <a class="btn btn-solid" href="#access" data-open-modal="access">Get your access code</a> 398 <a class="btn btn-line" href="https://bot.enchatted.com/riff?token=GKqBUIMDJD32OKuqDDt4EtfjR" target="_blank" rel="noopener" data-open-modal="demo">Try as a learner</a> 399 </div> 400 </div> 401 </section> 402 403 <!-- ====== footer ====== --> 404 <footer class="footer"> 405 <div class="inner"> 406 <div class="brand"> 407 <h2>rifflection<span style="color: var(--accent)">.</span></h2> 408 <p>A Stanford d.school project on reflection, questioning, and the small habits that turn experience into learning.</p> 409 </div> 410 <div> 411 <h5>Riff</h5> 412 <ul> 413 <li><a href="#learners">For learners</a></li> 414 <li><a href="#educators">For educators</a></li> 415 <li><a href="https://app.riffbot.ai/login" target="_blank" rel="noopener">Authoring tool</a></li> 416 </ul> 417 </div> 418 <div> 419 <h5>Access</h5> 420 <ul> 421 <li><a href="#access" data-open-modal="access">
421Get your code</a></li> 422 <li><a href="https://app.riffbot.ai/login" target="_blank" rel="noopener">Log in</a></li> 423 <li><a href="/cdn-cgi/l/email-protection#4a23242c250a38232c2c28253e642b23">Support</a></li> 424 </ul> 425 </div> 426 <div> 427 <h5>About</h5> 428 <ul> 429 <li><a href="https://dschool.stanford.edu/" target="_blank" rel="noopener">Stanford d.school</a></li> 430 <li><a href="terms-of-service">Terms of Service</a></li> 431 <li><a href="privacy-policy">Privacy Notice</a></li> 432 </ul> 433 </div> 434 </div> 435 <div class="meta"> 436 <div>© 2026 Stanford d.school · rifflection.ai</div> 437 <div>Powered by <a href="https://enchatted.com" target="_blank" rel="noopener">Enchatted</a> · Founded by Leticia Britos Cavagnaro</div> 438 </div> 439 </footer> 440 441 </div> 442 443 <!-- ====== bot modals ====== --> 444 <div class="bot-modal-overlay" id="modal-demo" hidden> 445 <div class="bot-modal" role="dialog" aria-modal="true" aria-label="Try Riff as a learner"> 446 <div class="chat-head"> 447 <div class="who"> 448 <span class="badge" aria-hidden="true"></span> 449 <span>riff</span> 450 </div> 451 <div class="bot-modal-actions"> 452 <span class="mode-tag">riff mode · live</span> 453 <button class="bot-modal-close" aria-label="Close">Ã</button> 454 </div> 455 </div> 456 <iframe class="chat-frame" data-src="https://bot.enchatted.com/riff?token=GKqBUIMDJD32OKuqDDt4EtfjR" title="Try Riff as a learner" allow="clipboard-write"></iframe> 457 </div> 458 </div> 459 460 <div class="bot-modal-overlay" id="modal-access" hidden> 461 <div class="bot-modal" role="dialog" aria-modal="true" aria-label="Apply for a Riff access code"> 462 <div class="chat-head"> 463 <div class="who"> 464 <span class="badge" aria-hidden="true"></span> 465 <span>riff</span> 466 </div> 467 <div class="bot-modal-actions"> 468 <span class="mode-tag">apply · ~1 min</span> 469 <button class="bot-modal-close" aria-label="Close">Ã</button> 470 </div> 471 </div> 472 <iframe class="chat-frame" data-src="https://bot.enchatted.com/early-access-riff" title="Ap
472ply for a Riff access code" allow="clipboard-write"></iframe> 473 </div> 474 </div>
vendor: 114 bytes, lines 474-476
474 475 476 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
476<script src="riff-v2/landing.js"></script>
vendor: 1 bytes, line 476
476
477<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"ec271e8d7dbc40dabb45e39d1f527c4e","r":1,"spa":2}' crossorigin="anonymous"></script>
477 478</body> 479 480</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.