← All projects

AI plugin · Conversational idea workspace

Spark

Spark

Give your ideas somewhere to go.

I built Spark to capture, organize, and develop ideas through AI conversations, with persistent data behind the conversation.

AI PluginsMCPAI ConnectorsOAuth 2.0TypeScriptSupabaseLLM Integration

Building AI-native tools, plugins & connectors

Historical ChatGPT capture: appending a note to a Spark idea

Use it where you think

Same ideas,
multiple assistants.

I wanted to learn how to build ChatGPT plugins while solving a problem I kept running into: useful ideas were scattered across chats. Spark gives them a persistent home.

Choose an AI assistant preview

ChatGPT · Shows Spark’s active ideas and the Subscription Savings Tracker.

Muse · Shows Spark’s active ideas and the Subscription Savings Tracker.

Capture in conversation

Save an idea without switching to another app.

Organize and develop

Add notes, track progress, and return to the next step.

One collection behind it

Approved clients reach the same backend and stored ideas.

ChatGPT capture showing Spark’s active ideas and the Subscription Savings TrackerSupplied Muse capture showing Spark’s active ideas and the Subscription Savings Tracker in Exploring status

How it works

Simple architecture,
practical by design.

The AI client handles the conversation. My TypeScript MCP server handles focused idea operations. Supabase provides OAuth and PostgreSQL persistence.

Explore the engineering decisions

Eight tools keep reading, updates, notes, history, trash, and restore explicit. Separate approved OAuth identities share one backend without copying ideas or sharing credentials.

The server validates signed access tokens for the exact resource, approved client, and owner. Consent callbacks are bound to the client requesting access.

The separate React landing page explains Spark. It does not connect to the backend.

AI clients

ChatGPT
Muse client support

Spark MCP

TypeScript · Node.js
Eight focused tools

Supabase

OAuth · PostgreSQL
One idea collection

Client-bound access · Owner-only authorization · Hosted on Vercel

Building Spark

How the project evolved.

From the first tools to a workspace built for more than one AI interface.

  1. One workspace, multiple approved clients

    I extended OAuth for a separate Muse application while keeping owner-only access, eight MCP tools, and one idea database.

    Deployed implementation · Live Muse verification pending.

    Read the multi-client story ↗
  2. A separate landing page

    I added an independent React and TypeScript frontend with an interactive iPhone demo.

  3. From four tools to eight

    Notes, persisted history, reversible trash, and restore expanded the original capture-and-retrieve loop.

Show 2 earlier milestonesHide earlier milestones
  1. Connected through ChatGPT

    The deployment record confirms owner connection and authenticated idea listing after the client authentication configuration was corrected.

    Read the first build story ↗
  2. The first MCP tools

    I started with save, list, get, and update, backed by Supabase storage and owner sign-in and consent.

What’s next · Exploration

Continuing to evolve.

My next focus is documenting live Muse discovery and retrieval, then exploring a smoother client-aware reconnection flow.

Read the latest engineering story