Model Comparison
Model Editorial Structural Class Conf SETL Theme
@cf/meta/llama-4-scout-17b-16e-instruct lite 0.00 ND Neutral 0.90 0.00 Technology
@cf/meta/llama-3.3-70b-instruct-fp8-fast lite 0.00 ND Neutral 0.90 0.00 Tech Development
claude-haiku-4-5-20251001 +0.19 +0.19 Mild positive 0.14 0.00 Knowledge Sharing & Collaboration
Section @cf/meta/llama-4-scout-17b-16e-instruct lite @cf/meta/llama-3.3-70b-instruct-fp8-fast lite claude-haiku-4-5-20251001
Preamble ND ND ND
Article 1 ND ND ND
Article 2 ND ND ND
Article 3 ND ND ND
Article 4 ND ND ND
Article 5 ND ND ND
Article 6 ND ND ND
Article 7 ND ND ND
Article 8 ND ND ND
Article 9 ND ND ND
Article 10 ND ND ND
Article 11 ND ND ND
Article 12 ND ND ND
Article 13 ND ND ND
Article 14 ND ND ND
Article 15 ND ND ND
Article 16 ND ND ND
Article 17 ND ND 0.20
Article 18 ND ND ND
Article 19 ND ND 0.20
Article 20 ND ND ND
Article 21 ND ND ND
Article 22 ND ND ND
Article 23 ND ND 0.20
Article 24 ND ND ND
Article 25 ND ND ND
Article 26 ND ND 0.15
Article 27 ND ND 0.20
Article 28 ND ND 0.15
Article 29 ND ND 0.20
Article 30 ND ND ND
+0.19 Show HN: SplatHash – A lightweight alternative to BlurHash and ThumbHash (github.com S:+0.19 )
59 points by unsorted2270 2 days ago | 19 comments on HN | Mild positive Product · v3.7 · 2026-02-28 13:22:29 0
Summary Knowledge Sharing & Collaboration Acknowledges
This GitHub repository page documents SplatHash, an open-source image compression algorithm. The project engages tangentially with UDHR principles through MIT licensing (property rights), transparent technical documentation (education), and collaborative development structure (labor rights and community participation). The content is technically focused rather than explicitly rights-oriented, with mild positive signals toward intellectual freedom, knowledge sharing, and collaborative contribution.
Article Heatmap
Preamble: ND — Preamble Preamble: No Data — Preamble P Article 1: ND — Freedom, Equality, Brotherhood Article 1: No Data — Freedom, Equality, Brotherhood 1 Article 2: ND — Non-Discrimination Article 2: No Data — Non-Discrimination 2 Article 3: ND — Life, Liberty, Security Article 3: No Data — Life, Liberty, Security 3 Article 4: ND — No Slavery Article 4: No Data — No Slavery 4 Article 5: ND — No Torture Article 5: No Data — No Torture 5 Article 6: ND — Legal Personhood Article 6: No Data — Legal Personhood 6 Article 7: ND — Equality Before Law Article 7: No Data — Equality Before Law 7 Article 8: ND — Right to Remedy Article 8: No Data — Right to Remedy 8 Article 9: ND — No Arbitrary Detention Article 9: No Data — No Arbitrary Detention 9 Article 10: ND — Fair Hearing Article 10: No Data — Fair Hearing 10 Article 11: ND — Presumption of Innocence Article 11: No Data — Presumption of Innocence 11 Article 12: ND — Privacy Article 12: No Data — Privacy 12 Article 13: ND — Freedom of Movement Article 13: No Data — Freedom of Movement 13 Article 14: ND — Asylum Article 14: No Data — Asylum 14 Article 15: ND — Nationality Article 15: No Data — Nationality 15 Article 16: ND — Marriage & Family Article 16: No Data — Marriage & Family 16 Article 17: +0.20 — Property 17 Article 18: ND — Freedom of Thought Article 18: No Data — Freedom of Thought 18 Article 19: +0.20 — Freedom of Expression 19 Article 20: ND — Assembly & Association Article 20: No Data — Assembly & Association 20 Article 21: ND — Political Participation Article 21: No Data — Political Participation 21 Article 22: ND — Social Security Article 22: No Data — Social Security 22 Article 23: +0.20 — Work & Equal Pay 23 Article 24: ND — Rest & Leisure Article 24: No Data — Rest & Leisure 24 Article 25: ND — Standard of Living Article 25: No Data — Standard of Living 25 Article 26: +0.15 — Education 26 Article 27: +0.20 — Cultural Participation 27 Article 28: +0.15 — Social & International Order 28 Article 29: +0.20 — Duties to Community 29 Article 30: ND — No Destruction of Rights Article 30: No Data — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
Editorial Mean +0.19 Structural Mean +0.19
Weighted Mean +0.19 Unweighted Mean +0.19
Max +0.20 Article 17 Min +0.15 Article 26
Signal 7 No Data 24
Volatility 0.02 (Low)
Negative 0 Channels E: 0.6 S: 0.4
SETL 0.00 Balanced
FW Ratio 64% 25 facts · 14 inferences
Evidence 14% coverage
7M 24 ND
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: 0.00 (0 articles) Security: 0.00 (0 articles) Legal: 0.00 (0 articles) Privacy & Movement: 0.00 (0 articles) Personal: 0.20 (1 articles) Expression: 0.20 (1 articles) Economic & Social: 0.20 (1 articles) Cultural: 0.17 (2 articles) Order & Duties: 0.17 (2 articles)
HN Discussion 7 top-level · 7 replies
k2xl 2026-02-28 12:33 UTC link
Thanks for sharing. I didn’t even know this type of thing had multiple algorithms.

Can you share what are the reasons someone may want to compress and image to 16 bytes?

lifthrasiir 2026-02-28 12:37 UTC link
Interesting, but my testing suggests that SplatHash is very weak at preserving global features, at least for synthetic images [1]. Both BlurHash and ThumbHash were able to preserve most of them, at the expense of worse (but still non-zero) local feature reproduction, but SplatHash simply discarded all global features! I guess you need to store both local features (Gaussian splats) and global features (cosine bases) for the best result. The currently unused padding bit might be useful for that...

[1] I used my own avatars and icons as a test set. For example, https://avatars.githubusercontent.com/u/323836?s=400&v=4

therealdeal2020 2026-02-28 12:42 UTC link
so you turn images into colored bubbles? Why do people use this?
montroser 2026-02-28 12:49 UTC link
Very cool. To my eye, the splats are sometimes having too much contrast -- implying more "stark" visual features that don't actually manifest in the real image. Presumably the radius and the opacity curve of the gradients can be tuned to taste at the decoding phase, to make the splats softer?
GaggiX 2026-02-28 12:51 UTC link
The 6 blobs of colors look very weird after testing a few images, I feel like ThumbHash is much more natural and the downsides are minimal compare to SplatHash.
Dwedit 2026-02-28 16:05 UTC link
One other thing to compare it against is actual tiny JPEGs.

When you save a series of images as 16x16 JPEGs at the same JPEG quality level without optimization, you notice that there is a whole lot of common data between those files. Common data includes things like the file header (FF D8, FF E0 blocks), the Quantization tables, and the Huffman tables. If you cut away all the common data, the actual size of the image data is extremely tiny, usually under 64 bytes, though not a fixed size.

Here are the sizes of the four example images (just the unique image data) when resized to 16x16, then saved at quality 20:

First image: 48 bytes

Second image: 42 bytes

Third image: 31 bytes

Fourth image: 35 bytes

After appending back the 625 bytes of common data, you end up with a regular JPEG that can be decoded and displayed using fast native code from the browser.

ThumbHash page includes a comparison against "Potato WebP" which is probably a similar idea.

joshu 2026-02-28 16:26 UTC link
this is cool. i built something similar a while back using wavelets and matching pursuit in a similar manner but with a different goal; i wanted to make an image compressor that had different visual effects when the file format was glitched. here are some examples of it moving variance from the original above to the compressed image below: https://youtube.com/shorts/f2pZyZNXY0Q?si=HXf14pOs9DaAk7MZ https://youtube.com/shorts/-LIALRpU63o?si=p_MiFnT8MMX0C0b4
lifthrasiir 2026-02-28 12:38 UTC link
These things are called Low-Quality Image Placeholders (LQIP) and frequently used for front-end performance engineering.
montroser 2026-02-28 12:45 UTC link
For image placeholders while the real image is loading. At 16 bytes, that can easily be just another attribute on an html img tag.
unsorted2270 2026-02-28 13:05 UTC link
definitely, will take a look
unsorted2270 2026-02-28 13:06 UTC link
adding to my roadmap
esafak 2026-02-28 13:21 UTC link
For privacy preservation and progressive revelation.
liamwire 2026-02-28 13:35 UTC link
Inline it into a website's HTML to provide a low-res preview of an image as opposed to a blank placeholder or layout shift.
corysama 2026-02-28 15:46 UTC link
As a game engine dev, if I have an asset management app, it’s pretty reasonable that it might load the list of asset names and hashes before doing the significant work of decoding/generating thumbnails. This could give the app instant low quality thumbnails from loading the tiny array of data that’s already necessary just to get started.
Editorial Channel
What the content says
+0.20
Article 17 Property
Medium Framing
Editorial
+0.20
SETL
0.00

MIT license explicitly protects property and modification rights; frames intellectual property as open and collaboratively modifiable

+0.20
Article 19 Freedom of Expression
Medium Advocacy
Editorial
+0.20
SETL
0.00

Open-source project advocates for free expression through code sharing; README transparently documents technical ideas

+0.20
Article 23 Work & Equal Pay
Medium Advocacy Coverage
Editorial
+0.20
SETL
0.00

Collaborative development is highlighted; contributors are explicitly credited for their labor and intellectual work

+0.20
Article 27 Cultural Participation
Medium Framing Coverage
Editorial
+0.20
SETL
0.00

Project is presented as intellectual and cultural production; multi-language implementations demonstrate commitment to universal cultural access

+0.20
Article 29 Duties to Community
Medium Advocacy
Editorial
+0.20
SETL
0.00

Project structure emphasizes shared community responsibility and collaborative contribution; duties to community are embedded in open-source model

+0.15
Article 26 Education
Medium Framing Advocacy
Editorial
+0.15
SETL
0.00

Educational content is prominent: algorithm explanation, technical documentation, installation guides for multiple languages, benchmarking methodology

+0.15
Article 28 Social & International Order
Medium Framing
Editorial
+0.15
SETL
0.00

Open-source development model respects rights of participants to contribute and modify; collaborative norms are established through structure

ND
Preamble Preamble

Page does not engage with human dignity, freedom, or justice frameworks

ND
Article 1 Freedom, Equality, Brotherhood

No engagement with equal dignity or rights

ND
Article 2 Non-Discrimination

No discussion of discrimination or equality

ND
Article 3 Life, Liberty, Security

No engagement with life, liberty, or personal security

ND
Article 4 No Slavery

Not addressed

ND
Article 5 No Torture

Not addressed

ND
Article 6 Legal Personhood

Not addressed

ND
Article 7 Equality Before Law

Not addressed

ND
Article 8 Right to Remedy

Not addressed

ND
Article 9 No Arbitrary Detention

Not addressed

ND
Article 10 Fair Hearing

Not addressed

ND
Article 11 Presumption of Innocence

Not addressed

ND
Article 12 Privacy

No discussion of privacy, though image compression technology could have privacy applications

ND
Article 13 Freedom of Movement

Not addressed

ND
Article 14 Asylum

Not addressed

ND
Article 15 Nationality

Not addressed

ND
Article 16 Marriage & Family

Not addressed

ND
Article 18 Freedom of Thought

Not addressed

ND
Article 20 Assembly & Association

Not addressed

ND
Article 21 Political Participation

Not addressed

ND
Article 22 Social Security

Not addressed

ND
Article 24 Rest & Leisure

Not addressed

ND
Article 25 Standard of Living

Not addressed

ND
Article 30 No Destruction of Rights

Not addressed

Structural Channel
What the site does
+0.20
Article 17 Property
Medium Framing
Structural
+0.20
Context Modifier
ND
SETL
0.00

GitHub structure enforces license-based property rights through version control and attribution tracking

+0.20
Article 19 Freedom of Expression
Medium Advocacy
Structural
+0.20
Context Modifier
ND
SETL
0.00

GitHub's open repository structure enables unrestricted free expression through public code publication

+0.20
Article 23 Work & Equal Pay
Medium Advocacy Coverage
Structural
+0.20
Context Modifier
ND
SETL
0.00

GitHub's contributor attribution system respects and recognizes labor contributions through user linking and commit history

+0.20
Article 27 Cultural Participation
Medium Framing Coverage
Structural
+0.20
Context Modifier
ND
SETL
0.00

Open-source GitHub model treats code as shared cultural and intellectual heritage

+0.20
Article 29 Duties to Community
Medium Advocacy
Structural
+0.20
Context Modifier
ND
SETL
0.00

GitHub architecture enforces community contribution norms through pull requests, issues, and transparent development

+0.15
Article 26 Education
Medium Framing Advocacy
Structural
+0.15
Context Modifier
ND
SETL
0.00

Repository organization (docs/ folder, ALGORITHM.md, README) structures educational materials for public access

+0.15
Article 28 Social & International Order
Medium Framing
Structural
+0.15
Context Modifier
ND
SETL
0.00

Contribution workflow and transparent licensing respect participant rights to modify and distribute code

ND
Preamble Preamble

Repository structure does not address UDHR preamble themes

ND
Article 1 Freedom, Equality, Brotherhood

No structural signals regarding human dignity

ND
Article 2 Non-Discrimination

No discriminatory barriers or practices observed

ND
Article 3 Life, Liberty, Security

No relevant structural signals

ND
Article 4 No Slavery

Not addressed

ND
Article 5 No Torture

Not addressed

ND
Article 6 Legal Personhood

Not addressed

ND
Article 7 Equality Before Law

Not addressed

ND
Article 8 Right to Remedy

Not addressed

ND
Article 9 No Arbitrary Detention

Not addressed

ND
Article 10 Fair Hearing

Not addressed

ND
Article 11 Presumption of Innocence

Not addressed

ND
Article 12 Privacy

No privacy-related structural signals

ND
Article 13 Freedom of Movement

Not addressed

ND
Article 14 Asylum

Not addressed

ND
Article 15 Nationality

Not addressed

ND
Article 16 Marriage & Family

Not addressed

ND
Article 18 Freedom of Thought

Not addressed

ND
Article 20 Assembly & Association

Not addressed

ND
Article 21 Political Participation

Not addressed

ND
Article 22 Social Security

Not addressed

ND
Article 24 Rest & Leisure

Not addressed

ND
Article 25 Standard of Living

Not addressed

ND
Article 30 No Destruction of Rights

Not addressed

Supplementary Signals
How this content communicates, beyond directional lean. Learn more
Epistemic Quality
How well-sourced and evidence-based is this content?
0.87 low claims
Sources
0.8
Evidence
0.9
Uncertainty
0.8
Purpose
0.9
Propaganda Flags
No manipulative rhetoric detected
0 techniques detected
Emotional Tone
Emotional character: positive/negative, intensity, authority
measured
Valence
+0.3
Arousal
0.2
Dominance
0.6
Transparency
Does the content identify its author and disclose interests?
0.50
✓ Author
More signals: context, framing & audience
Solution Orientation
Does this content offer solutions or only describe problems?
0.91 solution oriented
Reader Agency
0.8
Stakeholder Voice
Whose perspectives are represented in this content?
0.30 2 perspectives
Speaks: individuals
About: usersdevelopers
Temporal Framing
Is this content looking backward, at the present, or forward?
present medium term
Geographic Scope
What geographic area does this content cover?
global
Complexity
How accessible is this content to a general audience?
technical high jargon domain specific
Longitudinal 795 HN snapshots · 5 evals
+1 0 −1 HN
Audit Trail 8 entries
2026-02-28 16:04 eval_success Lite evaluated: Neutral (0.00) - -
2026-02-28 16:04 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED: Neutral tech presentation
2026-02-28 15:59 eval_success Lite evaluated: Neutral (0.00) - -
2026-02-28 15:59 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral)
reasoning
ED: Neutral tech presentation
2026-02-28 15:58 eval_success Lite evaluated: Neutral (0.00) - -
2026-02-28 15:58 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral)
reasoning
PR tech content
2026-02-28 13:22 eval Evaluated by claude-haiku-4-5-20251001: +0.19 (Mild positive) +0.02
2026-02-28 12:16 eval Evaluated by claude-haiku-4-5-20251001: +0.17 (Mild positive)