What Arc Codex is built on
Models, voice, tools, fonts, artwork and software that other people made, with the licence each project states. Generated from this site's own configuration on 2026-10-02.
AI models
These write the analysis, the comments and the narration scripts, and translate on request. The cloud rule: a larger cloud model, run by a third party (Ollama), is used only to analyse published RSS/Atom news stories, and never for a publisher that asks AI crawlers to stay out. Anything a reader wrote or that identifies a reader, and every non-public story, stays on our own hardware.
Gemma 4 (small local variants)
Apache-2.0Google DeepMind
Analysis, comments, translation, quizzes, replies and narration scripts, run on our own hardware via Ollama. Everything a reader wrote is processed here and nowhere else.
Licence as shipped with the local model files.
Gemma 4 31B (cloud)
Apache-2.0 (the open Gemma 4 family)Google DeepMind, served by Ollama
Deeper analysis when our weekly cloud allowance is available.
Runs on Ollama's servers, not ours. Used only to analyse published RSS/Atom news stories (never reader-written text, never a publisher that blocks AI crawlers); when it is used, that story's text is sent there.
gpt-oss 20B (cloud)
Apache-2.0OpenAI, served by Ollama
Some of the council commenters, when the cloud allowance is available.
Runs on Ollama's servers. Used only for council comments on published RSS/Atom news stories (never reader-written text, never a publisher that blocks AI crawlers); when it is used, that story's text is sent there. Otherwise those commenters use the local Gemma model.
Ollama
MITOllama
Runs the local models.
Voice
Every narration is synthetic and says so.
Kokoro-82M (text-to-speech)
Apache-2.0hexgrad
Narration. Every narration says it is a synthetic voice.
No attribution is required; we give it anyway.
Language tools
The measures shown beside each story come from these open projects.
C. J. Hutto and E. Gilbert (Georgia Tech), via NLTK
The tone score shown beside each story.
Hutto, C.J. & Gilbert, E.E. (2014). VADER: A Parsimonious Rule-based Model for Sentiment Analysis of Social Media Text. ICWSM-14.
Explosion
Named entities in the text.
TextBlob
MITSteven Loria
Subjectivity of the text.
textstat
MITShivam Bansal and contributors
Reading-difficulty formulas.
trafilatura
Apache-2.0Adrien Barbaresi
Extracting a page's text for analysis.
Barbaresi, A. (2021). Trafilatura: A Web Scraping Library and Command-Line Tool for Text Discovery and Extraction. ACL 2021 demos.
langdetect
Apache-2.0Michal Danilak (port of Nakatani Shuyo's library)
Language of a story.
Fonts
Literata
SIL Open Font License 1.1Type Network / Google
Served from our own domain at build time by Next.js; no request to Google when you read.
Public Sans
SIL Open Font License 1.1U.S. Web Design System
Served from our own domain at build time by Next.js; no request to Google when you read.
Artwork
Default story artwork
AI-generated imageGenerated with Adobe Firefly
The picture shown when a story has none of its own.
Created by us from text prompts; not a photograph.
Texts and data
Project Gutenberg
Public domain in the United StatesProject Gutenberg Literary Archive Foundation
The books in our library.
"Project Gutenberg" is a registered trademark of the Project Gutenberg Literary Archive Foundation. Each book page links to its Gutenberg entry.
Publishers' feeds and pages
Each publisher's ownThe publishers named on each story
The stories we analyse; credited and linked on every story.
See Sources & credit for what we keep, show, say aloud, translate and post.
Software
Every library we depend on directly, with the licence its package declares. The whole site is open source, so you can read how each one is used.
Python (server) (95)
- annotated-doc 0.0.4MIT
- annotated-types 0.7.0MIT License
- babel 2.18.0BSD-3-Clause
- beautifulsoup4 4.14.3MIT License
- bleach 6.4.0Apache Software License
- blinker 1.9.0MIT License
- blis 1.3.3BSD
- brotli 1.2.0MIT
- catalogue 2.0.10MIT
- certifi 2026.2.25MPL-2.0
- charset-normalizer 3.4.4MIT
- click 8.5.0BSD-3-Clause
- cloudpathlib 0.23.0MIT License
- confection 0.1.5MIT
- courlan 1.3.2Apache 2.0
- cymem 2.0.13MIT
- dateparser 1.3.0BSD
- defusedxml 0.7.1PSFL
- en_core_web_sm 3.8.0MIT
- feedparser 6.0.12BSD-2-Clause
- Flask 3.1.3BSD-3-Clause
- flask-cors 6.0.2MIT
- Flask-Limiter 4.1.1MIT
- greenlet 3.3.2MIT AND PSF-2.0
- gunicorn 25.1.0MIT
- html2text 2025.4.15GPL-3.0-or-later
- htmldate 1.9.4Apache 2.0
- idna 3.15BSD-3-Clause
- itsdangerous 2.2.0BSD License
- Jinja2 3.1.6BSD License
- joblib 1.5.3BSD-3-Clause
- jusText 3.0.2The BSD 2-Clause License
- langdetect 1.0.9MIT
- limits 5.8.0MIT
- lxml 6.1.1BSD-3-Clause
- lxml_html_clean 0.4.5BSD-3-Clause
- markdown-it-py 4.0.0MIT License
- MarkupSafe 3.0.3BSD-3-Clause
- mdurl 0.1.2MIT License
- murmurhash 1.0.15MIT
- nltk 3.10.3Apache License, Version 2.0
- numpy 2.4.2BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0
- odfpy 1.4.1Apache Software License
- orjson 3.11.7MPL-2.0 AND (Apache-2.0 OR MIT)
- packaging 26.0Apache-2.0 OR BSD-2-Clause
- Pillow 12.3.0MIT-CMU
- playwright 1.58.0Apache-2.0
- preshed 3.0.12MIT
- prometheus_client 0.26.0Apache-2.0 AND BSD-2-Clause
- psutil 7.2.2BSD-3-Clause
- pydantic 2.12.5MIT
- pydantic_core 2.41.5MIT
- pyee 13.0.1MIT
- Pygments 2.20.0BSD-2-Clause
- pypdf 6.19.0BSD-3-Clause
- pyphen 0.17.2GNU General Public License v2 or later (GPLv2+)
- pysolr 3.11.0BSD
- python-dateutil 2.9.0.post0Dual License
- python-docx 1.2.0MIT
- python-dotenv 1.2.2BSD-3-Clause
- pytz 2026.1.post1MIT
- PyYAML 6.0.3MIT
- redis 7.2.1MIT
- regex 2026.2.28Apache-2.0 AND CNRI-Python
- requests 2.33.0Apache-2.0
- rich 14.3.3MIT
- setuptools 83.0.0MIT
- sgmllib3k 1.0.0BSD License
- shellingham 1.5.4ISC License
- six 1.17.0MIT
- smart_open 7.5.1MIT License
- soupsieve 2.9MIT
- spacy 3.8.11MIT
- spacy-legacy 3.0.12MIT
- spacy-loggers 1.0.5MIT
- srsly 2.5.2MIT
- termcolor 3.3.0MIT
- textblob 0.19.0MIT License
- textstat 0.7.13MIT
- thinc 8.3.10MIT
- tld 0.13.1MPL-1.1 OR GPL-2.0-only OR LGPL-2.1-or-later
- tqdm 4.67.3MPL-2.0 AND MIT
- trafilatura 2.0.0Apache 2.0
- typer 0.24.1MIT
- typer-slim 0.24.0MIT
- typing-inspection 0.4.2MIT
- typing_extensions 4.16.0PSF-2.0
- tzlocal 5.3.1MIT
- urllib3 2.8.0MIT
- wasabi 1.1.3MIT
- weasel 0.4.3MIT
- websocket-client 1.9.0Apache-2.0
- Werkzeug 3.1.6BSD-3-Clause
- wrapt 2.1.1BSD-2-Clause
- yt-dlp 2026.8.19Unlicense
JavaScript (website) (48)
- @radix-ui/react-accordion 1.2.20MIT
- @radix-ui/react-alert-dialog 1.1.23MIT
- @radix-ui/react-avatar 1.2.6MIT
- @radix-ui/react-collapsible 1.1.20MIT
- @radix-ui/react-dialog 1.1.23MIT
- @radix-ui/react-dropdown-menu 2.1.24MIT
- @radix-ui/react-label 2.1.15MIT
- @radix-ui/react-progress 1.1.16MIT
- @radix-ui/react-radio-group 1.4.7MIT
- @radix-ui/react-select 2.3.7MIT
- @radix-ui/react-slider 1.4.7MIT
- @radix-ui/react-slot 1.3.3MIT
- @radix-ui/react-switch 1.3.7MIT
- @radix-ui/react-tabs 1.1.21MIT
- @radix-ui/react-tooltip 1.2.16MIT
- @react-spring/web 9.7.3MIT
- @tailwindcss/typography 0.5.20MIT
- @tsparticles/basic 4.4.0MIT
- @tsparticles/engine 4.4.0MIT
- @tsparticles/preset-stars 4.4.0MIT
- @tsparticles/react 3.0.0MIT (stated in the tsParticles repository; the package file omits it)
- @use-gesture/react 10.3.1MIT
- axios 1.19.0MIT
- class-variance-authority 0.7.1Apache-2.0
- clsx 2.1.1MIT
- formidable 3.5.4MIT
- framer-motion 12.43.0MIT
- howler 2.2.4MIT
- lottie-react 2.4.1MIT
- lucide-react 0.544.0ISC
- mammoth 1.12.0BSD-2-Clause
- next 16.2.12MIT
- next-auth 5.0.0-beta.32ISC
- pdf-parse 1.1.4MIT
- react 19.2.4MIT
- react-aria-components 1.20.0Apache-2.0
- react-dom 19.2.4MIT
- react-intersection-observer 9.16.0MIT
- react-markdown 10.1.0MIT
- react-parallax-tilt 1.7.336MIT
- react-virtualized-auto-sizer 1.0.26MIT
- react-window 1.8.11MIT
- sanitize-filename 1.6.4WTFPL OR ISC
- sanitize-html 2.17.6MIT
- sharp 0.35.3Apache-2.0
- tailwind-merge 2.6.1MIT
- tailwindcss-animate 1.0.7MIT
- use-sound 5.0.0MIT
Something here is missing, wrong or credited badly? Tell us at ross@arc-codex.com and we will fix it.