Vilqor

AI Memory Timeline

AI chats

About

A thread through past entries, each a dot with a day and a note, ending in the one happening now. Words in [brackets] become quiet tags, so the same names recur from day to day. From the Midnight template.

Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds AI Memory Timeline to your project and fits it to your theme.

Code

How AI Memory Timeline is used: the demo's code. The component's own source comes with a free account.

Usage.tsx

import type { CSSProperties } from "react"

import { MemoryTimeline } from "@/components/ui/memory-timeline"

const fonts =
  "@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght,SOFT@0,9..144,300..600,0..100;1,9..144,300..600,0..100&family=Geist:wght@400..600&family=Geist+Mono:wght@400..500&display=swap');"

const settings = {
  background: "#f7f5f0",
  card: "#ffffff",
  text: "#141a2e",
  muted: "#4a5166",
  primary: "#a8803a",
}

// Midnight by day as theme tokens: warm paper, night-blue ink, deep gold with white text on it,
// Fraunces for headings, Geist for text, Geist Mono for figures. The component itself only reads the tokens.
function day(s: typeof settings) {
  const t: Record<string, string> = {
    background: s.background,
    foreground: s.text,
    card: s.card,
    primary: s.primary,
    "muted-foreground": s.muted,
  }
  return {
    ...Object.fromEntries(Object.entries(t).flatMap(([k, v]) => [[`--${k}`, v], [`--color-${k}`, v]])),
    "--font-display": "Fraunces, ui-serif, Georgia, serif",
    "--font-sans": "Geist, ui-sans-serif, system-ui, sans-serif",
    "--font-mono": "'Geist Mono', ui-monospace, Menlo, monospace",
  } as CSSProperties
}

export default function Demo(props: Partial<typeof settings>) {
  const s = { ...settings, ...props }
  return (
    <div
      className="flex min-h-svh w-full items-center justify-center px-5 py-12"
      style={{ ...day(s), fontFamily: "Geist, ui-sans-serif, system-ui, sans-serif", background: s.background, color: s.text } as CSSProperties}
    >
      <style>{fonts}</style>
      <div
        className="w-full max-w-[520px] rounded-[28px] p-8 md:p-10"
        style={{ background: s.card, boxShadow: "inset 0 0 0 1px rgb(20 26 46 / 0.07), 0 1px 2px rgb(20 26 46 / 0.05), 0 16px 32px -20px rgb(20 26 46 / 0.22)" }}
      >
        <p className="text-[14px] font-medium" style={{ color: "#8a6a2e" }}>
          Context
        </p>
        <h3 className="mt-3 text-[26px] leading-[32px] font-semibold tracking-[-0.025em] text-balance">
          <span>Context that carries over.</span> <span style={{ color: s.muted }}>Every meeting picks up where the last one ended.</span>
        </h3>
        <MemoryTimeline
          className="mt-10"
          entries={[
            { when: "Mon", text: "[Acme] wants the pilot to start in [March]" },
            { when: "Tue", text: "[Legal] asked for the data processing terms" },
            { when: "Wed", text: "[Priya] at [Acme] owns the rollout" },
          ]}
          current={{ when: "Today", text: "Call with [Priya]: confirm [March] and send the [Legal] terms" }}
        />
      </div>
    </div>
  )
}

Dependencies

More by Vilqor

View all
  • Card Carousel to Grid

    Card Carousel to Grid

  • AI Email Reply with Tones

    AI Email Reply with Tones

  • Use Cases Tabs Section

    Use Cases Tabs Section

  • Pricing Section with Toggle

    Pricing Section with Toggle

  • Logo Cloud Marquee

    Logo Cloud Marquee

  • Testimonials Marquee

    Testimonials Marquee

  • AI Agent Workflow Diagram

    AI Agent Workflow Diagram

  • Footer with Big Wordmark

    Footer with Big Wordmark

More in AI chats

View all
  • AI Actions

    AI Actions

    345
  • Aquarium Prompt

    Aquarium Prompt

    72
  • Agent Chat

    Agent Chat

    19
  • Color Picker

    Color Picker

    180
  • Commit

    Commit

    35
  • Illos Knowledge Sources

    Illos Knowledge Sources

    44
  • Chat Bubble

    Chat Bubble

    201
  • System Message

    System Message

    78