ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β __ __ _____ ____ _____ _____ ___ ____ _____ _ _ _____ β
β \ \ / /|_ _| __ ) | ____| / ____|/ _ \| _ \|_ _| \ | |/ ____| β
β \ V / | | | _ \ | _| | | | | | | | | | | | | \| | | __ β
β | | | | | |_) || |___ | |____| |_| | |_| | | | | |\ | |__| | β
β |_| |___||____/ |_____| \_____|\___/|____/ |___| |_| \_|\_____| β
β β
β Programming with Natural Language for Human Rights β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
We're standing on what Ethan Mollick calls the "jagged technological frontier" - AI capabilities are uneven, excelling in unexpected areas while failing in others. As human rights experts, we must experiment to discover where and how LLMs can be integrated into our work. No one will do it for us.
π Read: "Centaurs and Cyborgs on the Jagged Frontier" by Ethan Mollick
DEFINITION:
Natural Language Processing (NLP) is a field of artificial intelligence that enables computers
to understand, interpret, and generate human language. It's the bridge between human communication
and machine computation.
Key NLP tasks include:
β’ Search: Find relevant documents from large collections
β’ Classification: Categorize documents by topic, sentiment, or type
β’ Extraction: Pull out specific information (names, dates, concepts)
β’ Analysis: Discover patterns and trends in text data
β’ Summarization: Condense long documents into key points
DEFINITION:
Vibe-coding is programming through natural language conversation with AI assistants. Instead of writing code syntax, you describe what you want to build in plain English (or Italian!).
THE PARADIGM SHIFT:
{
"advantages": {
"accessibility": "Opens programming to non-technical experts",
"speed": "Rapid prototyping and iteration",
"focus": "Concentrate on solving problems, not syntax",
"learning": "Learn programming concepts as needed"
},
"limitations": {
"control": "Less fine-grained control over implementation",
"debugging": "Harder to understand generated code deeply",
"dependency": "Reliant on AI capabilities - need to leverage domain expertise",
"optimization": "May not produce the most efficient code"
},
"read_more": {
DataCamp: What is Vibe Coding?
}
}
Vibe-coding shines for simple, useful tools: a document search engine, a lightweight analytics dashboard, or a short report generator. Human rights experts often miss exactly these basics: decision/document search, filtering, and XLSX export. Build step by step and shift towards your own code changes as you learn. Over-ambitious first projects often end like this:
How to become expert at thing:
"LLMs are the new operating system - Software 3.0"
Watch: Software Is Changing (Again)
Writing code in Google Colab and implementing the data analysis process ourselves (extraction, cleaning, text classification) provides:
π‘ To start: Go to colab.research.google.com, sign in with Gmail (create a new account if needed), and click "New Notebook". It's the fastest way to start coding - no installation required!
Human rights work is fundamentally about text: treaties, reports, legal documents, testimonies.
Even basic NLP techniques can be gamechangers for human rights work:
Read about promisies and pitfalls of NLP and AI in judiciary in the recent report of the SR on Independence of Judges and Lawyers (A/80/169)
How machine learning helps advance access to human rights information
HURIDOCS is using machine learning to facilitate text classification for the UPR Info.
macOS:
python3python3 --version
Windows:
Quick setup for testing your app:
index.html (the html file you developed yesterday)ccpr.json (dataset that you already have)# Python python -m http.server 8000 --bind localhost # or python3 -m http.server 8000 --bind localhost
http://localhost:8000Example prompt:
"Create a complete web application for searching UN treaty body documents with the following functions:
1. Paragraph-Level Extraction - Extract the first 20 paragraphs from the UN document attached - Each paragraph maintains its original numbering (1-20) - Full text preservation with proper formatting 2. Thematic Labeling System - Each paragraph has been categorized with relevant UN human rights framework themes - come up with 6 most relevant. Display in the output why and how did you select and defined categories. 3. Advanced Search Functionality - Keyword Search: Find individual terms (e.g., "information," "speech") - Thematic Filtering: Filter by specific human rights themes - Highlight Results: Search terms highlighted in yellow - Real-time Search: Instant results as you type 4. User Interface - Modern, responsive design similar to OHCHR style - Live dashboard with stats about filtered documents - theme distribution, term frequency, and bigrams - Glass morphism effects and professional appearance - Color-coded theme tags for easy identification - Paragraph numbering system for reference - Intuitive copy text and ciattion function - Mobile-friendly responsive layout"
π BEYOND GOOGLE COLAB: CLAUDE CODE & CODEX
Once you're comfortable with vibe-coding basics, graduate to professional tools:
Claude Code / Codex - The Difference:
#!/bin/bash echo "=== ESSENTIAL TOOLS ===" echo "β’ Claude/Gemini - Your vibe-coding partner" echo "β’ LM Arena - Free (limited) access to cutting-edge models echo "β’ Google Colab - Free Python environment" echo "β’ Dataset (CCPR)" echo "β’ UN Treaty Body Database" echo "=== TOOLS FOR THE NEXT LEVEL ===" echo "β’ GitHub - Code sharing and version control" echo "β’ Hugging Face - Open source datasets, and models" echo "β’ PyCharm - Coding environment with educational license" echo "β’ PythonAnywhere - Easy web app deployment" echo "" echo "=== ADDITIONAL MATERIALS ===" echo "β’ Karpathy: Software Is Changing (Again)" echo "β’ Karpathy: Weβre summoning ghosts, not building animals [podcast]" echo "β’ Mollick: Centaurs and Cyborgs" echo "β’ Mollick: The Cybernetic Teammate" echo "β’ My favourite repo for PDF -> JSON conversion" echo "β’ Repo for powerful OCR (tested on travaux preparatoires) " echo "β’ DataCamp: What is Vibe Coding?< [Pros and Cons]" echo "β’ Two-week-long intensive summer school on human rights, law, and computational social sciences" echo "" echo "=== EXAMPLE PROJECTS ===" echo "β’ UN Treaty Body Database" echo "β’ Polish Constitutional Court Explorer" echo "β’ Your future projects here!"
Learning through building: I won't teach you programming theory. Instead, you'll build real tools for human rights work and learn what you need along the way.
Effort over entertainment: This course requires effort. It's not meant to be easy, but it will be rewarding when you build something that helps real people.
Compare to yourself: Don't worry about others' progress. Focus on what you couldn't do yesterday but can do today.
#!/bin/bash echo "Starting your vibe-coding journey..." echo "" echo "Remember:" echo " [β] You don't need to be a programmer" echo " [β] You already have domain expertise" echo " [β] AI will be your coding partner" echo " [β] You'll build something meaningful" echo "" echo "The best time to start was yesterday." echo "The second best time is now." echo "" read -p "Press [ENTER] to begin your transformation..." echo "" echo "Welcome to the future of human rights tech! π" echo "See you in Venice!"
AUTHOR:
Εukasz Szoszkiewicz
Adam Mickiewicz University, PoznaΕ
π lszoszk.github.io
VENUE:
Global Campus of Human Rights
Venice, Italy
QUESTIONS?
Bring them to class - the best questions come from confusion!
Remember: There are no stupid questions, only missed opportunities to learn.