Model Comparison 100% sign agreement
Model Editorial Structural Class Conf SETL Theme
deepseek/deepseek-v3.2-20251201 +0.01 +0.00 Neutral 0.23 0.09 Education & Community
@cf/meta/llama-4-scout-17b-16e-instruct lite 0.00 ND Neutral 1.00 0.00 education technology
@cf/meta/llama-3.3-70b-instruct-fp8-fast lite 0.00 ND Neutral 0.90 0.00 No human rights theme
claude-haiku-4-5-20251001 +0.24 +0.19 Mild positive 0.23 0.12 Education & Cultural Participation
Section deepseek/deepseek-v3.2-20251201 @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 0.00 ND ND 0.00
Article 1 0.00 ND ND 0.00
Article 2 0.00 ND ND 0.13
Article 3 0.00 ND ND ND
Article 4 0.00 ND ND ND
Article 5 0.00 ND ND ND
Article 6 0.00 ND ND ND
Article 7 0.00 ND ND ND
Article 8 0.00 ND ND ND
Article 9 0.00 ND ND ND
Article 10 0.00 ND ND ND
Article 11 0.00 ND ND ND
Article 12 0.00 ND ND 0.27
Article 13 0.00 ND ND ND
Article 14 0.00 ND ND ND
Article 15 0.00 ND ND ND
Article 16 0.00 ND ND ND
Article 17 0.00 ND ND ND
Article 18 0.00 ND ND ND
Article 19 0.00 ND ND 0.20
Article 20 0.00 ND ND 0.23
Article 21 0.00 ND ND ND
Article 22 0.00 ND ND 0.43
Article 23 0.00 ND ND 0.00
Article 24 0.00 ND ND ND
Article 25 0.00 ND ND ND
Article 26 0.12 ND ND 0.53
Article 27 0.03 ND ND 0.33
Article 28 0.00 ND ND ND
Article 29 0.00 ND ND 0.13
Article 30 0.00 ND ND ND
+0.24 Show HN: I built a self-hosted course platform in Clojure (clojure.stream S:+0.19 )
58 points by jacekschae 4 days ago | 12 comments on HN | Mild positive Landing Page · v3.7 · 2026-02-28 12:37:42 0
Summary Education & Cultural Participation Advocates
ClojureStream is a landing page for a subscription-based online learning platform specializing in Clojure programming education. The content demonstrates strong positive alignment with UDHR Article 26 (right to education) through structured, expert-reviewed, accessible courses designed to eliminate learning barriers, and with Article 27 (cultural and scientific participation) through community-driven knowledge sharing and contributor recognition. The platform advocates freedom of association (Article 20) and community participation (Article 22) through workshops and discussion forums, with mild positive engagement on privacy rights (Article 12). The primary limitation is the subscription model, which may restrict access for low-income learners.
Article Heatmap
Preamble: 0.00 — Preamble P Article 1: 0.00 — Freedom, Equality, Brotherhood 1 Article 2: +0.13 — 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: +0.27 — 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: ND — Property Article 17: No Data — 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: +0.23 — Assembly & Association 20 Article 21: ND — Political Participation Article 21: No Data — Political Participation 21 Article 22: +0.43 — Social Security 22 Article 23: 0.00 — 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.53 — Education 26 Article 27: +0.33 — Cultural Participation 27 Article 28: ND — Social & International Order Article 28: No Data — Social & International Order 28 Article 29: +0.13 — 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.24 Structural Mean +0.19
Weighted Mean +0.24 Unweighted Mean +0.20
Max +0.53 Article 26 Min 0.00 Preamble
Signal 11 No Data 20
Volatility 0.17 (Medium)
Negative 0 Channels E: 0.6 S: 0.4
SETL +0.12 Editorial-dominant
FW Ratio 51% 23 facts · 22 inferences
Evidence 23% coverage
3H 6M 2L 20 ND
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: 0.04 (3 articles) Security: 0.00 (0 articles) Legal: 0.00 (0 articles) Privacy & Movement: 0.27 (1 articles) Personal: 0.00 (0 articles) Expression: 0.21 (2 articles) Economic & Social: 0.21 (2 articles) Cultural: 0.43 (2 articles) Order & Duties: 0.13 (1 articles)
HN Discussion 5 top-level · 4 replies
jacekschae 2026-02-26 13:31 UTC link
Hey HN — I'm Jacek. I've been teaching Clojure through video courses (Reagent, Re-frame, Reitit, Datomic, Pedestal) for a few years, hosted on Podia.

I finally got around to building my own platform. It's Clojure on the backend, self-hosted, and gave me the chance to drop prices significantly since there's no platform cut anymore.

The migration from Podia is complete — all user accounts, subscriptions, and purchases carried over. Existing subscribers had their prices automatically lowered.

Happy to talk about the stack, the migration process, or the courses themselves.

EToS 2026-02-27 22:41 UTC link
snappy!
nickjj 2026-02-27 22:44 UTC link
Is the source code available? You mentioned it being self hosted, thought I might be able to find it on GitHub but didn't see it linked anywhere.
sakesun 2026-02-28 06:18 UTC link
Love the colors
uxcolumbo 2026-02-28 12:09 UTC link
Congrats. Always wanted to get into Clojure.

Did you use AI to help code the site?

Some feedback:

- Scrolling is slow. I'm on Firefox. It might be the background image or some other effects?

- Pricing isn't shown in USD but instead in CHF. Not sure whether users would want to go the extra step and do another search to do fx conversion.

tommica 2026-02-27 23:12 UTC link
Could you tell more about the stack? And also, you clearly know your way around it, so would be curious to hear your thoughts about the language itself - what do you like about it?
olivia-banks 2026-02-28 01:40 UTC link
It might not be; I did a couple of GitHub searches in their organization for strings on their homepage, and found no matches.
vagag 2026-02-28 16:18 UTC link
Congratulations!

I looked into Clojure a little bit, and my understanding is that it is a dynamically typed language and objects/values are formed on the fly via putting data into the a map (reminds me JS). And as someone having experience in both statically and dynamically typed languages - I definitely choose the first. My question is, how do you deal with this? Isn't dynamic typing getting on your way? How do you define contracts? How do you version schemas? Do you even have them? How do you know what to expect from the database? Or how don't you forget about mandatory fields in your objects?

Dynamic typing is scary. I had a production issue in NodeJS codebase manifesting only when two pods of the same service were fighting for updating the same resource in the cache. One pod gets lucky, updates the cache, and returns an array. Meanwhile, the same function, on the other pod, returns a map, because it failed to update the cache. And because both the function and calling side had no "contract" on what to return and what to expect, the runtime was happily converting my array into a map, and that was causing a huge problem downstream. Imagine how enjoyable was debugging this... Point is, this situation seems impossible in a statically typed language. I wonder how this issue could have been avoided in Clojure.

Thank you.

Edit: One-time code goes into spam folder on fastmail.com.

vagag 2026-02-28 16:18 UTC link
Interesting, scrolling is smooth on my side (wayland + firefox 147).
Editorial Channel
What the content says
+0.60
Article 26 Education
High Advocacy Framing Practice
Editorial
+0.60
SETL
+0.24

Platform explicitly advocates for right to education through multiple signals: 'Access structured learning paths,' 'hands-on' project-based courses with clear progression ('Step by steps - never get lost'), expert quality assurance, and commitment to preventing barriers ('never feel lost'). Educational philosophy emphasizes understanding and comprehension.

+0.50
Article 22 Social Security
High Advocacy Framing
Editorial
+0.50
SETL
+0.22

Platform actively advocates participation in technical and scientific community: 'learn about libraries, people, and companies that create value in Clojure community.' Podcast covers 'libraries, companies, and people...Architectures, Tools, Libraries' positioning users as participants in knowledge culture.

+0.40
Article 27 Cultural Participation
High Advocacy Practice
Editorial
+0.40
SETL
+0.20

Platform advocates for cultural and scientific participation in Clojure community. Content credits contributors extensively (15+ named individuals) and emphasizes 'Everything...has been reviewed, approved, or provided by Clojure expert,' protecting intellectual contributions. Framing as 'for the community, by the community' advocates community-driven science/culture.

+0.30
Article 20 Assembly & Association
Medium Advocacy Practice
Editorial
+0.30
SETL
+0.17

Platform explicitly advocates connection and assembly: 'Connect with others who are also eager to learn. Learn from others observations, and questions.' Frames participation as peaceful gathering around shared learning interest.

+0.20
Article 2 Non-Discrimination
Medium Advocacy
Editorial
+0.20
SETL
+0.14

Platform advocates inclusive community approach ('for the community, by the community') without apparent exclusion criteria. Diverse contributor list signals non-discriminatory access to community.

+0.20
Article 12 Privacy
Medium Practice
Editorial
+0.20
SETL
-0.17

Newsletter signup statement 'No spam, ever. Unsubscribe anytime' acknowledges user control over personal communication, supporting privacy autonomy.

+0.20
Article 19 Freedom of Expression
Medium Framing Practice
Editorial
+0.20
SETL
0.00

Workshop format includes 'Get your questions answered' and podcast features 'conversations' about topics, enabling users to express ideas and engage in dialogue.

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

Platform advocates community responsibility through quality standards: 'Everything what is included has been reviewed, approved, or provided by Clojure expert.' Frames content curation as community duty.

0.00
Preamble Preamble
Medium
Editorial
0.00
SETL
ND

Landing page does not explicitly address foundational principles of human dignity, equality, or freedom; focuses on educational product offering.

0.00
Article 1 Freedom, Equality, Brotherhood
Low
Editorial
0.00
SETL
ND

No explicit discussion of equal rights and freedom for all members of human family.

0.00
Article 23 Work & Equal Pay
Low
Editorial
0.00
SETL
ND

No discussion of right to work, fair wages, or favorable work conditions.

ND
Article 3 Life, Liberty, Security

Right to life, liberty, security of person not addressed in educational platform content.

ND
Article 4 No Slavery

Slavery and servitude provisions not addressed.

ND
Article 5 No Torture

Torture and cruel treatment not addressed.

ND
Article 6 Legal Personhood

Right to recognition as person before law not addressed.

ND
Article 7 Equality Before Law

Equality before law not addressed.

ND
Article 8 Right to Remedy

Right to effective remedy not addressed.

ND
Article 9 No Arbitrary Detention

Freedom from arbitrary arrest/detention not addressed.

ND
Article 10 Fair Hearing

Right to fair and public hearing not addressed.

ND
Article 11 Presumption of Innocence

Presumption of innocence and fair trial not addressed.

ND
Article 13 Freedom of Movement

Freedom of movement and residence not addressed.

ND
Article 14 Asylum

Right to asylum not addressed.

ND
Article 15 Nationality

Right to nationality not addressed.

ND
Article 16 Marriage & Family

Family and marriage rights not addressed.

ND
Article 17 Property

Right to property not addressed.

ND
Article 18 Freedom of Thought

Freedom of thought, conscience, religion not addressed.

ND
Article 21 Political Participation

Right to participate in government/public affairs not addressed.

ND
Article 24 Rest & Leisure

Right to rest and leisure not addressed.

ND
Article 25 Standard of Living

Right to adequate standard of living, health, social security not addressed.

ND
Article 28 Social & International Order

Just and favorable social order not addressed.

ND
Article 30 No Destruction of Rights

Not addressed.

Structural Channel
What the site does
+0.50
Article 26 Education
High Advocacy Framing Practice
Structural
+0.50
Context Modifier
ND
SETL
+0.24

Site structure provides systematic access to learning (courses, workshops, podcasts); clear pathways reduce barriers to educational access; expert review mechanism ensures quality education.

+0.40
Article 22 Social Security
High Advocacy Framing
Structural
+0.40
Context Modifier
ND
SETL
+0.22

Structure enables access to scientific knowledge (libraries, tools, architectures) and participation through workshops and community contribution.

+0.30
Article 12 Privacy
Medium Practice
Structural
+0.30
Context Modifier
ND
SETL
-0.17

Site provides Privacy policy link in footer; unsubscribe mechanism in newsletter signup respects right to control personal information.

+0.30
Article 27 Cultural Participation
High Advocacy Practice
Structural
+0.30
Context Modifier
ND
SETL
+0.20

Site structure enables contribution (community experts listed); podcasts amplify community voices ('people...that create value'); archives knowledge in structured courses.

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

Platform structure allows users to participate in live Q&A, workshops, and community discussions, facilitating freedom of expression.

+0.20
Article 20 Assembly & Association
Medium Advocacy Practice
Structural
+0.20
Context Modifier
ND
SETL
+0.17

Workshop structure enables synchronous assembly of learners; community features and contributor recognition facilitate association.

+0.10
Article 2 Non-Discrimination
Medium Advocacy
Structural
+0.10
Context Modifier
ND
SETL
+0.14

Site provides signup mechanism for newsletter and course access without stated barriers; structure allows broad participation within community.

+0.10
Article 29 Duties to Community
Medium Advocacy
Structural
+0.10
Context Modifier
ND
SETL
+0.14

Expert review requirement creates structural commitment to responsible knowledge sharing.

0.00
Preamble Preamble
Medium
Structural
0.00
Context Modifier
ND
SETL
ND

Platform structure is neutral toward preamble principles; neither advances nor undermines human dignity commitments.

0.00
Article 1 Freedom, Equality, Brotherhood
Low
Structural
0.00
Context Modifier
ND
SETL
ND

No observable structural commitment to Article 1 principles.

0.00
Article 23 Work & Equal Pay
Low
Structural
0.00
Context Modifier
ND
SETL
ND

Paid subscription model for courses; no information about compensation to instructors or fair labor practices.

ND
Article 3 Life, Liberty, Security

No observable structural engagement.

ND
Article 4 No Slavery

No observable structural engagement.

ND
Article 5 No Torture

No observable structural engagement.

ND
Article 6 Legal Personhood

No observable structural engagement.

ND
Article 7 Equality Before Law

No observable structural engagement.

ND
Article 8 Right to Remedy

No observable structural engagement.

ND
Article 9 No Arbitrary Detention

No observable structural engagement.

ND
Article 10 Fair Hearing

No observable structural engagement.

ND
Article 11 Presumption of Innocence

No observable structural engagement.

ND
Article 13 Freedom of Movement

No observable structural engagement.

ND
Article 14 Asylum

No observable structural engagement.

ND
Article 15 Nationality

No observable structural engagement.

ND
Article 16 Marriage & Family

No observable structural engagement.

ND
Article 17 Property

No observable structural engagement.

ND
Article 18 Freedom of Thought

No observable structural engagement.

ND
Article 21 Political Participation

No observable structural engagement with governance participation.

ND
Article 24 Rest & Leisure

No observable structural engagement.

ND
Article 25 Standard of Living

No observable structural engagement.

ND
Article 28 Social & International Order

No observable structural engagement.

ND
Article 30 No Destruction of Rights

No observable structural engagement.

Supplementary Signals
How this content communicates, beyond directional lean. Learn more
Epistemic Quality
How well-sourced and evidence-based is this content?
0.65 medium claims
Sources
0.7
Evidence
0.6
Uncertainty
0.5
Purpose
0.9
Propaganda Flags
3 manipulative rhetoric techniques found
3 techniques detected
appeal to authority
Page states 'Everything what is included has been reviewed, approved, or provided by Clojure expert' and lists 15 named expert contributors with GitHub links.
loaded language
Uses terms like 'idiomatic Clojure,' 'cohesive units,' 'never get lost,' and 'grasp how things work together'—technical terminology framed positively.
bandwagon
Phrase 'for the community, by the community' appears twice, inviting readers to join a movement.
Emotional Tone
Emotional character: positive/negative, intensity, authority
hopeful
Valence
+0.6
Arousal
0.5
Dominance
0.6
Transparency
Does the content identify its author and disclose interests?
0.75
✓ Author
More signals: context, framing & audience
Solution Orientation
Does this content offer solutions or only describe problems?
0.88 solution oriented
Reader Agency
0.8
Stakeholder Voice
Whose perspectives are represented in this content?
0.50 3 perspectives
Speaks: corporationindividuals
About: communitylearners
Temporal Framing
Is this content looking backward, at the present, or forward?
prospective short term
Geographic Scope
What geographic area does this content cover?
global
Complexity
How accessible is this content to a general audience?
accessible medium jargon domain specific
Longitudinal 629 HN snapshots · 27 evals
+1 0 −1 HN
Audit Trail 47 entries
2026-03-02 08:48 eval_success Evaluated: Neutral (0.01) - -
2026-03-02 08:48 eval Evaluated by deepseek-v3.2: +0.01 (Neutral) 10,253 tokens -0.02
2026-03-02 01:19 eval_success Evaluated: Neutral (0.02) - -
2026-03-02 01:19 eval Evaluated by deepseek-v3.2: +0.02 (Neutral) 9,418 tokens -0.22
2026-03-02 01:02 dlq_auto_replay DLQ auto-replay: message 97965 re-enqueued - -
2026-03-01 13:44 eval_success Evaluated: Mild positive (0.24) - -
2026-03-01 13:44 rater_validation_warn Validation warnings for model deepseek-v3.2: 0W 2R - -
2026-03-01 13:44 eval Evaluated by deepseek-v3.2: +0.24 (Mild positive) 9,226 tokens
2026-03-01 03:00 dlq_auto_replay DLQ auto-replay: message 97871 re-enqueued - -
2026-02-28 22:55 dlq Dead-lettered after 1 attempts: Show HN: I built a self-hosted course platform in Clojure - -
2026-02-28 22:55 eval_failure Evaluation failed: AbortError: The operation was aborted - -
2026-02-28 22:49 eval_failure Evaluation failed: AbortError: The operation was aborted - -
2026-02-28 21:52 dlq Dead-lettered after 1 attempts: Show HN: I built a self-hosted course platform in Clojure - -
2026-02-28 21:52 eval_failure Evaluation failed: AbortError: The operation was aborted - -
2026-02-28 21:31 eval_failure Evaluation failed: AbortError: The operation was aborted - -
2026-02-28 21:00 dlq Dead-lettered after 1 attempts: Show HN: I built a self-hosted course platform in Clojure - -
2026-02-28 21:00 eval_failure Evaluation failed: AbortError: The operation was aborted - -
2026-02-28 20:52 eval_failure Evaluation failed: AbortError: The operation was aborted - -
2026-02-28 20:18 dlq Dead-lettered after 1 attempts: Show HN: I built a self-hosted course platform in Clojure - -
2026-02-28 20:17 eval_failure Evaluation failed: AbortError: The operation was aborted - -
2026-02-28 20:17 eval_failure Evaluation failed: AbortError: The operation was aborted - -
2026-02-28 16:49 dlq Dead-lettered after 1 attempts: Show HN: I built a self-hosted course platform in Clojure - -
2026-02-28 16:49 eval_failure Evaluation failed: AbortError: The operation was aborted - -
2026-02-28 15:38 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED neutral tech tutorial site
2026-02-28 15:30 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial no rights stance
2026-02-28 15:25 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial no rights stance
2026-02-28 12:37 eval Evaluated by claude-haiku-4-5-20251001: +0.24 (Mild positive) -0.02
2026-02-28 11:25 eval Evaluated by claude-haiku-4-5-20251001: +0.26 (Mild positive)
2026-02-28 10:22 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED neutral tech tutorial site
2026-02-28 08:55 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED neutral tech tutorial site
2026-02-28 08:53 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial no rights stance
2026-02-28 08:53 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED neutral tech tutorial site
2026-02-28 08:48 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial no rights stance
2026-02-28 07:56 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED neutral tech tutorial site
2026-02-28 07:34 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial no rights stance
2026-02-28 05:32 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial no rights stance
2026-02-28 05:25 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial no rights stance
2026-02-28 04:23 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial no rights stance
2026-02-28 02:50 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED neutral tech tutorial site
2026-02-28 02:26 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED neutral tech tutorial site
2026-02-28 02:24 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial no rights stance
2026-02-28 01:50 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial no rights stance
2026-02-28 01:41 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED neutral tech tutorial site
2026-02-28 01:33 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial no rights stance
2026-02-28 01:09 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral)
reasoning
Tech tutorial no rights stance
2026-02-28 01:00 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED neutral tech tutorial site
2026-02-28 00:53 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral)
reasoning
ED neutral tech tutorial site