Skip to content

1 Million Emojis

Source for a shared emoji canvas where Jev picks the next emoji and its placement after every stroke and judges if the shape is unfinished.

ProjectproductionMIT

Overview

This repository is the code behind the live 1 Million Emojis canvas: a shared 1,000 x 1,000 grid where anyone can paint with a limited, refilling supply of ink and every stroke appears live for all visitors. Jev, TypeSafe's System One model, paints next to the humans.

After each stroke the site sends one Jev request. It offers a typed set of options built from emoji that share keywords with what is painted nearby, each placed in a spot named relative to the stroke (above the line, at its end, inside the loop), and asks a yes/no on whether the stroke is unfinished. When Jev is sure, it closes the loop or extends the line; otherwise its pick is drawn from its probabilities, with a wider spread when it is less sure, and its top candidates flash before the pick lands. Only drawing data is sent, nothing about the painter.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich emoji, in which named spot relative to the stroke, goes next?e.g. above the line · at its end · inside the loop
Yes / noIs the stroke unfinished?yes · no

How it works

  1. Capture the stroke shape, its end point, nearby emoji names and a small text picture of nearby cells
  2. Send one Jev request with the named emoji/placement options and the unfinished-stroke question
  3. If confident the stroke is unfinished, close the loop or continue the line
  4. Otherwise sample a pick from the probabilities and flash top candidates first
  5. Route calls through Vercel AI Gateway with TypeSafe direct as fallback, under per-visitor rate limits and a daily spend cap

Strengths

  • Only drawing data is sent, no painter identity
  • Sampling from probabilities gives varied but confidence-aware picks
  • Gateway-first client with direct fallback and cost reporting
  • Unit tests run without any Jev calls

Caveats

  • Mirror of a private monorepo: pull requests are applied upstream
  • Requires a TypeSafe or gateway key to run the Jev part

Getting started

npm install && npm test && npm run typecheck

At a glance

Type
Project
Status
production
Language
TypeScript
Runtime
Node, browser
Has code
yes
Has tests
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • A shared 1000 × 1000 emoji canvas where humans paint and Jev paints alongside them: after each stroke, one Jev request chooses which emoji goes next to it and where, from typed options named against the stroke, and says whether the stroke is an unfinished shape.

    logicrw/awesome-jev-projects
  • A shared 1000 × 1000 emoji canvas, live for everyone, where Jev joins each stroke by choosing a square next to it and its emoji as one Choice.

    hellogumbo/awesome-jev

Frequently asked questions

What does Jev send back?

Probabilities over named emoji/placement options and a yes/no on whether the stroke is unfinished; it generates no text.

How is cost kept in check?

The README describes per-visitor rate limits, a daily site spend cap, and a client that reports cost.

Can I reuse the Jev client?

Yes, packages/jev is a small MIT client that tries Vercel AI Gateway first and TypeSafe directly as a fallback.

Related projects

  • Prompt-first music studio where Jev makes every compositional choice, from plan to each bar pattern, rendered as editable MIDI.

    ProjectbetaTypeScript
  • Emoji autocomplete that asks Jev eight parallel questions per typing pause: emoji choice, emotion, mood, urgency, sarcasm and more.

    ServiceprototypeTypeScript
  • Experiment where Jev turns a one-sentence brief into a coherent design system for a whole dashboard console.

    AppprototypeTypeScript
  • Generative painting canvas where Jev chooses paint materials and palettes for regions of 105 procedural sketches.

    ProjectprototypeTypeScript
  • Figma plugin that splits a one-sentence design instruction into small Jev choice questions, then code draws the result.

    PluginprototypeTypeScript
  • Can a System One model steer music? Jev picks only enum labels for a composition plan; code writes, engraves and plays the notes.

    AppprototypeTypeScript