Try it locally β’ Try it online β’ Example β’ How it works
portico renders input as a three-layered visual abstraction.
- The LLM reads your input, classifies it, and decomposes it into three layers
_ii^: roof, pillars, base. - The renderer, a pure function from JSON to ASCII, turns those layers into a portico.
- The output is a tiny monument of abstraction that clarifies concepts.
| Glyph | Layer | Meaning |
|---|---|---|
^ |
Roof | The unifying idea |
ii |
Pillars | The load-bearing components |
_ |
Base | The foundation everything rests on |
uv tool install portico-cliportico README.md
portico https://example.com/article
portico ./src --no-legend
echo "your text here" | portico -Run portico in your browser, no install required:
The space uses π¦ Llama 3.3 70B via Groq. Paste input and render.
portico "https://en.wikipedia.org/wiki/Transformer_(deep_learning_architecture)"ββ encyclopedia article: Transformer βββββββββββββββββββββββββββββββββββββ
β β
^^^ β² ^^^
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Attention Is All You Need β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
////ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~\\\\
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββ ββββ ββββ ββββ ββββ
ββ ββ ββ ββ ββ
ββ ββ ββ ββ ββ
RNN to Core Training Variants and Broad
Transformer Architecture Paradigm Efficiency Applications
ββ ββ ββ ββ ββ
ββ ββ ββ ββ ββ
ββββ ββββ ββββ ββββ ββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Multi-head Attention β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
legend:
^ Attention Is All You Need: Replacing recurrence with multi-head self-
attention enables parallel, scalable sequence modelling.
ii RNN to Transformer: Sequential limitations of RNNs and seq2seq models
motivated the shift to parallel attention.
ii Core Architecture: Tokenization, positional encoding, encoder and decoder
layers form the transformer's structure.
ii Training Paradigm: Large-scale self-supervised pretraining followed by
task-specific fine-tuning drives performance.
ii Variants and Efficiency: Encoder-only, decoder-only, and encoder-decoder
designs, plus optimizations like FlashAttention and KV caching, adapt the
architecture to diverse needs.
ii Broad Applications: Transformers have expanded from NLP to vision, audio,
robotics, and multimodal generation.
_ Multi-head Attention: Scaled dot-product multi-head attention is the
mathematical substrate every transformer component rests on.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ built with _ii^ ββ
Run with claude-sonnet-4-6.
Five stages run in strict order. Each owns one responsibility and hands a typed value to the next. The CLI (cli.py) is the only place that wires them together and translates exceptions into exit codes.
ββββββββββββββββββββββββββββββββ
β LLM provider β
β claude / openai / gemini β
ββββββββββββββββββββββββββββββββ
β² β²
β (if oversized) β (analyze + retry)
input ββββββββββ ββββββββ΄ββββββ ββββββββββ βββββ΄βββββ ββββββββββββ ASCII
ββββββΆ β loader ββββΆβ summarizer ββββΆβ cache ββββΆβanalyzerββββΆβ renderer β βββββββΆ
ββββββββββ ββββββββββββββ ββββββββββ ββββββββββ ββββββββββββ
loaders/ summarize.py cache.py analyzer.py render/
- loader β reads the input (text, file, directory, URL, or repo) into a normalized
LoadedInput. - summarizer β chunks oversized inputs and recursively summarizes them via the LLM.
- cache β hashes
(text, provider, model)to JSON on disk; on hit, skips the analyzer. - analyzer β prompts the LLM for a three-layer decomposition; validates and retries on bad JSON.
- renderer β turns the analyzer's JSON into ASCII; pure function, never calls the LLM.
- Raw text or stdin
- Local files and directories
- URLs (page content is extracted)
- Git repositories
When an input doesn't fit a three-layer shape β poems, flat lists, gibberish β portico refuses honestly rather than fake one.
| Flag | What it does |
|---|---|
--no-legend |
Hide the per-layer summary (legend renders by default) |
--reapex=N |
Pin the apex to seed N (random by default; pool of 600+ variants) |
--json |
Emit the analyzer's JSON instead of rendering |
--diagnose |
Print a pipeline report (input type, model, fit quality) and exit |
Run portico --help for the full list.
The apex is the ornament crowning the portico -- picked at render time from a pool of 600+ variants.
π² --reapex=SEED pins a specific composition to reproduce.
portico https://0trm.blog/data-science-at-camp-nou/ --reapex=0ββ essay: Data Science at Camp Nou βββββββββββββββββ
β² * β²
~~~ β² ~~~
ββββββββββββββββββββββββββββββββββββββββββ
β Data-Driven Ticketing β
ββββββββββββββββββββββββββββββββββββββββββ
////ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~\\\\
ββββββββββββββββββββββββββββββββββββββββββββββ
ββββ ββββ ββββ
ββ ββ ββ
ββ ββ ββ
Analytics Experimentation Predictive
ββ ββ Modeling
ββ ββ ββ
ββ ββ ββ
ββββ ββββ ββββ
ββββββββββββββββββββββββββββββββββββββββββββββ
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Fan Behavior β
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
portico https://0trm.blog/data-science-at-camp-nou/ --reapex=1ββ essay: Data Science at Camp Nou βββββββββββββββββ
β β
βββ β βββ
ββββββββββββββββββββββββββββββββββββββββββ
β Data-Driven Ticketing β
ββββββββββββββββββββββββββββββββββββββββββ
////ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~\\\\
ββββββββββββββββββββββββββββββββββββββββββββββ
ββββ ββββ ββββ
ββ ββ ββ
ββ ββ ββ
Analytics Experimentation Predictive
ββ ββ Modeling
ββ ββ ββ
ββ ββ ββ
ββββ ββββ ββββ
ββββββββββββββββββββββββββββββββββββββββββββββ
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Fan Behavior β
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
portico https://0trm.blog/data-science-at-camp-nou/ --reapex=7ββ essay: Data Science at Camp Nou βββββββββββββββββ
Β· Β· Β·
βββ β² βββ
ββββββββββββββββββββββββββββββββββββββββββ
β Data-Driven Ticketing β
ββββββββββββββββββββββββββββββββββββββββββ
////ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~~ΒΊ~\\\\
ββββββββββββββββββββββββββββββββββββββββββββββ
ββββ ββββ ββββ
ββ ββ ββ
ββ ββ ββ
Analytics Experimentation Predictive
ββ ββ Modeling
ββ ββ ββ
ββ ββ ββ
ββββ ββββ ββββ
ββββββββββββββββββββββββββββββββββββββββββββββ
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Fan Behavior β
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
MIT
Built by with AI.
Β© trm
