CC-1 is an LLM-powered word arithmetic calculator designed & developed by Maximillian Piras as an experiment to explore AI UX beyond chatbots. It allows you to insert concepts, as in any collection of words representing some notion of cultural significance, to perform mathematical operations (+, -, ×, ÷) resulting in a logical ‘solution’.
As you’ll see if you take a look at the system prompt (see src/lib/prompts.js), these are each operation’s current definitions. The intent was to draw a logical counterpart to their mathematical operation which would yield an equivalent semantic result, but this is still a work in progress.
(+) Addition Combine defining traits or core characteristics to expand on or blend input concepts while maintaining their identifiable characteristics.
(-) Subtraction Remove defining traits or core characteristics, leading to a diminished or simplified version of the input concepts.
(×) Multiplication Amplify or exaggerates defining traits or core characteristic, resulting in a more powerful, enhanced version of the input concepts. The output should feel greater than the sum of its parts.
(÷) Division Breakdown input concepts into specific, smaller components or fragments, with a narrower scope or purpose. The result should be more specific or focused, often resulting in a subset or fragment of the input concepts.
Default API models aim for cost efficiency: OpenAI GPT-5.4 mini (concept solver), GPT-5.4 nano (emoji), and Anthropic Claude Haiku 4.5 (alternate solver). Override these with the optional environment variables OPENAI_MODEL_CONCEPT, OPENAI_MODEL_EMOJI, and ANTHROPIC_MODEL_CONCEPT (see src/lib/models.js).
This app is a Next.js 15 / React 19 project.
npm install
npm run dev # http://localhost:3000
npm run build # production build
npm start # serve the production buildRequired environment variables (set in .env.local for local dev, and in the Vercel project for deploys):
OPENAI_API_KEYANTHROPIC_API_KEYPOSTGRES_URL(optional — equations are skipped if unset)
CC-1 is under the MIT License.
