{
	"version": 1,
	"dataset": "digital-humanities",
	"url": "https://www.frederickmadore.com/api/digital-humanities.json",
	"count": 16,
	"items": [
		{
			"id": "iwac",
			"url": "https://www.frederickmadore.com/digital-humanities/iwac",
			"title": "Islam West Africa Collection",
			"years": "2023-",
			"shortDescription": "An open-access archive of over 14,700 items on Islam and Muslims in Benin, Burkina Faso, Côte d'Ivoire, Niger, Nigeria, and Togo.",
			"description": "\n\t\t<p>The <em>Islam West Africa Collection</em> (IWAC) is an open-access archive of the print and recorded culture of Muslim communities in West Africa: newspapers, Islamic magazines, pamphlets, archival documents, audiovisual recordings, and photographs. It brings together more than 14,700 items from Benin, Burkina Faso, Côte d'Ivoire, Niger, Nigeria, and Togo, most in French and also in Hausa, Arabic, Dendi, and English. Optical character recognition makes every document full-text searchable, an index of more than 4,600 people, places, organisations, events, and topics ties the materials together, and a bibliography of more than 850 references points to the wider scholarship.</p>\n\n\t\t<p>Much of this print culture is fragile and hard to consult, even inside the countries that produced it. IWAC puts it online without paywalls or registration, giving researchers in West Africa and elsewhere an alternative to archives that are often difficult to reach. I direct and develop the collection, which is hosted by the <a href=\"https://www.zmo.de/en\" target=\"_blank\" rel=\"noopener noreferrer\">Leibniz-Zentrum Moderner Orient (ZMO)<span class=\"sr-only\"> (opens in new tab)</span></a> and grows out of the award-winning <a href=\"/digital-humanities/islam-burkina-faso-collection\">Islam Burkina Faso Collection</a> I launched in 2021.</p>\n\n\t\t<h2>How it is built</h2>\n\t\t<p>IWAC runs on <a href=\"https://omeka.org/s/\" target=\"_blank\" rel=\"noopener noreferrer\">Omeka S<span class=\"sr-only\"> (opens in new tab)</span></a>, an open-source platform for digital collections, deployed as a self-hosted Docker installation at ZMO. To make a corpus of this size usable, I have written four custom modules that extend Omeka S well past its defaults. They cover discovery, visualisation, findability, and the bilingual interface, and each is released as open source.</p>\n\n\t\t<h3>Searching the collection</h3>\n\t\t<p>A faceted full-text search built on <a href=\"https://typesense.org/\" target=\"_blank\" rel=\"noopener noreferrer\">Typesense<span class=\"sr-only\"> (opens in new tab)</span></a> replaces Omeka's default search across the public site. Suggestions appear as you type, and results filter by type, country, newspaper, mentioned people, places, organisations, and subject, with a slider for narrowing by year.</p>\n\t\t<p>Two design choices make it forgiving. Search ignores accents, so \"Cote d'Ivoire\" finds the same documents as \"Côte d'Ivoire\"; on the live index, that one accent is the difference between a handful of results and nearly four hundred. And every query is hybrid: alongside ordinary keyword matching, the engine also compares the meaning of the words against the text, so a search for \"laïcité au Burkina\" surfaces relevant articles even when those exact words never appear. Each search view has its own web address, so any filtered result set can be bookmarked, shared, or cited.</p>\n\n\t\t<h3>Seeing the collection</h3>\n\t\t<p>A second module turns the archive into interactive dashboards, built with <a href=\"https://echarts.apache.org/\" target=\"_blank\" rel=\"noopener noreferrer\">ECharts<span class=\"sr-only\"> (opens in new tab)</span></a> and <a href=\"https://maplibre.org/\" target=\"_blank\" rel=\"noopener noreferrer\">MapLibre<span class=\"sr-only\"> (opens in new tab)</span></a>. They fall into four kinds:</p>\n\t\t<ul>\n\t\t\t<li><strong>Corpus overviews</strong> chart how the collection has grown, which languages and countries it covers, and which newspapers were published when.</li>\n\t\t\t<li><strong>Semantic and AI views</strong> place every newspaper article on a single map by similarity of content, trace thirty machine-derived themes across the decades, and compare how three AI models read the tone of coverage of Islam, with a fourth arbitrating where they disagree.</li>\n\t\t\t<li><strong>Networks and maps</strong> show which people, organisations, and places are written about together, and where the collection's geography concentrates.</li>\n\t\t\t<li><strong>Per-record dashboards</strong> give every person, place, organisation, event, article, and magazine issue its own set of charts: when and where it appears, what it connects to, and which items sit closest to it.</li>\n\t\t</ul>\n\t\t<p>Every chart follows the page's language and its light or dark setting, and takes its colours from the theme, so the visualisations always match the site around them.</p>\n\n\t\t<h3>Making it findable and citable</h3>\n\t\t<p>Out of the box, Omeka S tells search engines and reference managers very little about a page. A third module closes that gap. It adds structured data typed by what each item actually is (a person, a place, a newspaper article, a thesis), publishes an XML sitemap of the whole site, and embeds citation metadata so that the Zotero Connector or Google Scholar capture an item as a properly formed reference rather than a generic web page. Because IWAC is published as two parallel sites, one French and one English, the module also tells search engines that each page has a counterpart in the other language.</p>\n\n\t\t<h3>A bilingual, adaptable interface</h3>\n\t\t<p>The site itself is a custom Omeka S theme with a light/dark toggle and full French/English switching. It defines its colours and typography as a single set of design tokens, which the search and visualisation modules read as they run. A change to the site's brand colour then flows through to every chart and control without any change to their code.</p>\n\n\t\t<h2>The collection as a dataset</h2>\n\t\t<p>Omeka S is built for curating and browsing a collection, not for computing over one. A separate Python pipeline reads IWAC through Omeka's API and republishes it on <a href=\"https://huggingface.co/datasets/fmadore/islam-west-africa-collection\" target=\"_blank\" rel=\"noopener noreferrer\">Hugging Face<span class=\"sr-only\"> (opens in new tab)</span></a> as seven tables: newspaper articles, Islamic periodicals, archival documents, scholarly references, the index of people, places, organisations and events, audiovisual records, and photographs. Each loads into a notebook in a single line.</p>\n\n\t\t<p>The tables carry columns the archive itself does not hold, computed once and stored rather than re-derived by each user: sentence embeddings for every text and image, lemmatised text, the topic assignments behind the thirty themes charted above, word counts and readability scores, the Islamic-calendar date of each article, and the three models' sentiment readings with their written justifications and a measure of how far they agree. The dashboards on the site read these same columns, so a figure published there and a figure computed by an outside researcher rest on the same numbers.</p>\n\n\t\t<p>Rights vary item by item, and a good deal of the full text cannot be redistributed. The public dataset therefore masks text row by row instead of dropping it wholesale: an article keeps its text where the source item is public, which is the case for about three in five articles and nine in ten periodical issues. The computed columns are released for every row, since they were produced before masking and cannot reconstruct a page. This does mean the public dataset is a partial corpus, and not a random sample of one, since what is open tends to follow publisher and period. Counts taken from it describe what can be shared rather than what the collection holds.</p>\n\t",
			"skills": [
				"Omeka S",
				"Typesense",
				"ECharts",
				"MapLibre",
				"OpenRefine",
				"Metadata Standards",
				"Docker",
				"Linux",
				"Nginx",
				"Python",
				"Tesseract",
				"IIIF",
				"Linked Data",
				"Rclone",
				"spaCy",
				"pandas",
				"Hugging Face",
				"Embeddings",
				"Topic Modelling",
				"Web scraping"
			],
			"featured": true,
			"reviews": [
				{
					"text": "Anaïs Wion, \"Islam West Africa Collection: Dataset, Distant Reading, and Uses of AI for Discourse Analysis\", <em>The Digital Orientalist</em> 23 September 2025.",
					"url": "https://digitalorientalist.com/2025/09/23/islam-west-africa-collection-dataset-distant-reading-and-uses-of-ai-for-discourse-analysis/",
					"quote": "On the one hand, it is a database providing access to material that is difficult to access and highly specific, which can be reused by others and addressed with other research questions. But it is also an exemplary project that can inspire researchers to use the open access tools available to create their own platforms for analyzing and sharing their data. The care taken to comply with open access best practices is truly admirable."
				}
			],
			"image": "https://www.frederickmadore.com/images/digital-humanities/IWAC.webp",
			"links": [
				{
					"label": "site",
					"url": "https://islam.zmo.de/s/westafrica"
				},
				{
					"label": "site",
					"url": "https://islam.zmo.de/s/afrique_ouest"
				},
				{
					"label": "IwacSearch",
					"url": "https://github.com/fmadore/IwacSearch"
				},
				{
					"label": "IwacVisualizations",
					"url": "https://github.com/fmadore/IwacVisualizations"
				},
				{
					"label": "IWAC-SEO",
					"url": "https://github.com/fmadore/IWAC-SEO"
				},
				{
					"label": "IWAC-theme",
					"url": "https://github.com/fmadore/IWAC-theme"
				},
				{
					"label": "IWAC-Hugging-Face",
					"url": "https://github.com/fmadore/IWAC-Hugging-Face"
				},
				{
					"label": "data",
					"url": "https://huggingface.co/datasets/fmadore/islam-west-africa-collection"
				}
			]
		},
		{
			"id": "amira",
			"url": "https://www.frederickmadore.com/digital-humanities/amira",
			"title": "Africa Multiple Interactive Research Atlas (AMIRA)",
			"years": "2026",
			"shortDescription": "Interactive research atlas for the Africa Multiple Cluster of Excellence — browse, filter, and compare projects, people, institutions, and research items across partner centres in Africa, Brazil, and Germany.",
			"description": "\n\t\t<p>The Africa Multiple Interactive Research Atlas (AMIRA) is the public access point for the research metadata of the <a href=\"https://www.africamultiple.uni-bayreuth.de/\" target=\"_blank\" rel=\"noopener noreferrer\">Africa Multiple Cluster of Excellence</a>. Built on <a href=\"https://omeka.org/s/\" target=\"_blank\" rel=\"noopener noreferrer\">Omeka S</a> and hosted at <a href=\"https://data.africamultiple.uni-bayreuth.de/s/amira\" target=\"_blank\" rel=\"noopener noreferrer\">data.africamultiple.uni-bayreuth.de/s/amira</a>, it makes the collections of the <a href=\"https://www.africamultiple.uni-bayreuth.de/en/1_1-About-Us/african-cluster-centres/index.html\" target=\"_blank\" rel=\"noopener noreferrer\">Africa Multiple Research Centres</a> (AMRCs) — Université Joseph Ki-Zerbo in Ouagadougou, the University of Lagos, Moi University, and Rhodes University — and their partners searchable from one place. The Cluster is based at the <a href=\"https://www.uni-bayreuth.de/en\" target=\"_blank\" rel=\"noopener noreferrer\">University of Bayreuth</a> and works with these four centres alongside its privileged partner, the Federal University of Bahia.</p>\n\n\t\t<p>The atlas covers nearly 4,000 research items, more than 90 projects, around 1,600 associated people, and nearly 600 organisations and institutions, in 28 languages across 42 countries. Alongside the research items, it also brings together the Cluster's publications and other outputs, such as podcasts.</p>\n\n\t\t<h2>The DRE behind AMIRA</h2>\n\t\t<p>AMIRA is the visible layer of work carried out by the <a href=\"https://www.africamultiple.uni-bayreuth.de/en/1_5-Digital-Solutions1/index.html\" target=\"_blank\" rel=\"noopener noreferrer\">Digital Research Environment (DRE)</a>, the digital infrastructure unit of the Cluster. The DRE designs and maintains the data systems that connect researchers across the AMRCs and partner institutions, grounded in the FAIR and CARE principles and a commitment to multiple knowledge systems.</p>\n\t\t<p>Two principles shape the atlas. Curation is a joint effort: each centre describes the data it knows best, and the DRE runs the shared infrastructure that connects them. And storage stays distributed by default — data remains in its local repository, while Bayreuth holds the metadata layer that points to it. Research data becomes findable without being relocated. AMIRA is where that metadata comes together.</p>\n\n\t\t<h2>How it's built</h2>\n\t\t<p>AMIRA is built from three components I developed for Omeka S. They share one design system, so the search, the charts, and the pages all follow the same brand and the same light/dark theme:</p>\n\t\t<ul>\n\t\t\t<li><strong><a href=\"https://github.com/AM-Digital-Research-Environment/DRE-theme\" target=\"_blank\" rel=\"noopener noreferrer\">DRE-theme</a></strong> — a custom Omeka S theme. A \"Scholarly Modernism\" design system in the Cluster's Uni-Grün identity, built on OKLCH design tokens, with first-class light and dark modes.</li>\n\t\t\t<li><strong><a href=\"https://github.com/AM-Digital-Research-Environment/DRESearch\" target=\"_blank\" rel=\"noopener noreferrer\">DRE Search</a></strong> — a Typesense-backed search layer. Full-text search with autocomplete and faceted filtering across ten corpora (research items, projects, publications, people, research sections, organisations, genres, languages, locations, and subjects &amp; tags), plus a single federated search bar that queries all of them at once and groups suggestions by type.</li>\n\t\t\t<li><strong><a href=\"https://github.com/fmadore/ResourceVisualizations\" target=\"_blank\" rel=\"noopener noreferrer\">Resource Visualisations</a></strong> — an Omeka S module that adds interactive charts, maps, and network graphs (ECharts and MapLibre GL) to every resource page and to collection-wide overviews. These are the same visualisations developed for the Cluster's research dashboard, ported to Omeka S.</li>\n\t\t</ul>\n\n\t\t<h2>Querying AMIRA from an AI assistant</h2>\n\t\t<p>A growing share of researchers reach a collection by asking an AI assistant a question rather than by searching a catalogue. The <a href=\"https://github.com/AM-Digital-Research-Environment/amira-mcp-server\" target=\"_blank\" rel=\"noopener noreferrer\">AMIRA MCP server</a> is the mediated layer between the two: a read-only <a href=\"https://modelcontextprotocol.io/\" target=\"_blank\" rel=\"noopener noreferrer\">Model Context Protocol</a> server that lets an assistant search the atlas, retrieve full records, search inside video and podcast transcripts, and follow relations across the collection, with every answer citing the AMIRA page it came from.</p>\n\t\t<p>Its signature tool is <code>find_related</code>, which pivots from any entity — a subject, place, person, or project — to everything that co-occurs with it. Posing that kind of relational question would normally take both familiarity with the schema and a query language such as SPARQL; here it can be asked in plain language. The curatorial knowledge needed to query the atlas well (which tool to start from, that personal names resolve in either order, that the former free-text tags are folded into subjects) is carried in the tools' own descriptions, so it travels to any compliant client rather than living in a separate instruction file.</p>\n\t\t<p>The design keeps the collection with the institution that assembled it: queries run against AMIRA's own servers rather than handing the data over, the protocol is an open standard rather than one vendor's API, and every tool is read-only and auditable. It ships with an offline-capable bundled snapshot, so the server also answers when the site is unreachable.</p>\n\n\t\t<h2>What you can explore</h2>\n\t\t<ul>\n\t\t\t<li><strong>Search</strong>: full-text search with autocomplete and per-corpus facets, plus a federated search that spans every corpus at once</li>\n\t\t\t<li><strong>Who</strong>: the people associated with the collections, and nearly 600 organisations (institutions and groups), linked through their projects, roles, affiliations, and co-authorships</li>\n\t\t\t<li><strong>Where</strong>: items mapped by place of origin and current location, photo collections on a clustered map, and country-level choropleths</li>\n\t\t\t<li><strong>When</strong>: project and research-section timelines, Gantt views of project spans, and a \"What's New\" feed for the last 3, 6, or 12 months</li>\n\t\t\t<li><strong>What</strong>: browse and filter by resource type, genre, language, subject, tag, and target audience</li>\n\t\t\t<li><strong>Collections</strong>: image-rich item sets viewable as a masonry grid, a clustered map, or a timeline, all sharing one lightbox</li>\n\t\t\t<li><strong>Compare</strong>: side-by-side profiles for any two projects, people, institutions, subjects, or languages</li>\n\t\t\t<li><strong>Connections</strong>: per-item knowledge graphs, collaboration networks, and \"discursive communities\" that cluster the subjects appearing together across the archive</li>\n\t\t\t<li><strong>Publications</strong>: bibliographic analytics over the Cluster's bibliography — authors, venues, keywords, and co-authorship networks</li>\n\t\t</ul>\n\n\t\t<h2>Interface</h2>\n\t\t<p>Light and dark modes, a public Omeka S REST API behind every page, and a save-as-image button on each chart.</p>\n\t",
			"skills": [
				"Omeka S",
				"Typesense",
				"Docker",
				"Nginx",
				"Svelte 5",
				"TypeScript",
				"ECharts",
				"MapLibre GL",
				"MongoDB",
				"Model Context Protocol",
				"Data visualisation",
				"Network graphs"
			],
			"featured": true,
			"image": "https://www.frederickmadore.com/images/digital-humanities/amira.webp",
			"links": [
				{
					"label": "site",
					"url": "https://data.africamultiple.uni-bayreuth.de/s/amira"
				},
				{
					"label": "DRE-theme",
					"url": "https://github.com/AM-Digital-Research-Environment/DRE-theme"
				},
				{
					"label": "DRESearch",
					"url": "https://github.com/AM-Digital-Research-Environment/DRESearch"
				},
				{
					"label": "ResourceVisualizations",
					"url": "https://github.com/AM-Digital-Research-Environment/ResourceVisualizations"
				},
				{
					"label": "DRE-SEO",
					"url": "https://github.com/AM-Digital-Research-Environment/DRE-SEO"
				},
				{
					"label": "amira-mcp-server",
					"url": "https://github.com/AM-Digital-Research-Environment/amira-mcp-server"
				}
			]
		},
		{
			"id": "genocide-at-the-security-council",
			"url": "https://www.frederickmadore.com/digital-humanities/genocide-at-the-security-council",
			"title": "Genocide at the Security Council",
			"years": "2026-",
			"shortDescription": "A reproducible pipeline and interactive dashboard tracing how the word genocide was used across 106,302 UN Security Council speeches, 1992–2023. Built with Python and SvelteKit, with every figure traceable to the script that made it.",
			"description": "\n\t\t<p>Between 1992 and 2023 the UN Security Council heard 106,302 speeches. Someone said the word <em>genocide</em> in 3,273 of them, 3.08% of the corpus, 6,092 times in all. The material is the <a href=\"https://doi.org/10.7910/DVN/KGVSYH\" target=\"_blank\" rel=\"noopener noreferrer\">UN Security Council Debates</a> corpus (Schoenfeld, Eckhard, Patz, van Meegdenburg &amp; Pires, v6.1, CC0): 6,582 meetings, 66.4 million words, public domain. <a href=\"https://fmadore.github.io/genocide-at-the-security-council/\" target=\"_blank\" rel=\"noopener noreferrer\">Genocide at the Security Council</a> asks who said it, about what, and what the word was doing there.</p>\n\n\t\t<h2>Six views</h2>\n\t\t<ul>\n\t\t\t<li><strong>Overview</strong>: the question, the headline counts, and the annual series read two ways at once, as raw occurrences and as a share of speeches</li>\n\t\t\t<li><strong>Chronology</strong>: every term and lexical register over time, plotted against 35 reference dates traced to primary sources</li>\n\t\t\t<li><strong>Language</strong>: what the word travels with, by speaker and by period, measured by log-likelihood and log ratio side by side</li>\n\t\t\t<li><strong>Actors</strong>: who said it, as a share of their own speeches, with Council membership resolved year by year</li>\n\t\t\t<li><strong>Concordance</strong>: 79,569 lines across 22 terms, filterable by term, year, month, speaker and meeting, each expandable to the full speech</li>\n\t\t\t<li><strong>Methods</strong>: how every number was made, sourced and bounded</li>\n\t\t</ul>\n\n\t\t<p>Every chart says what it answers, how to read its marks and what it does not show, and names the script that produced the file behind it. Take any figure away as CSV with its provenance, or as SVG or PNG with the filters drawn into the image.</p>\n\n\t\t<h2>How it is built</h2>\n\n\t\t<p>Python does the counting, from the raw Dataverse download through to the finished tables. The dashboard is a static <a href=\"https://svelte.dev/\" target=\"_blank\" rel=\"noopener noreferrer\">SvelteKit</a> site with <a href=\"https://echarts.apache.org/\" target=\"_blank\" rel=\"noopener noreferrer\">ECharts</a> figures and a <a href=\"https://maplibre.org/\" target=\"_blank\" rel=\"noopener noreferrer\">MapLibre</a> locator map. The choices that need human judgement, among them the genocide lexicon and the reference dates, sit in versioned config files where anyone can inspect them and argue with them.</p>\n\n\t\t<p>The code is <a href=\"https://github.com/fmadore/genocide-at-the-security-council/blob/main/LICENSE\" target=\"_blank\" rel=\"noopener noreferrer\">MIT</a>, the derived tables and figures CC BY 4.0, the source corpus CC0.</p>\n\t",
			"skills": [
				"Python",
				"pandas",
				"Corpus Linguistics",
				"NLP",
				"Text Analysis",
				"Reproducible Research",
				"SvelteKit",
				"Svelte 5",
				"TypeScript",
				"ECharts",
				"MapLibre GL",
				"Data Visualisation",
				"GitHub Actions"
			],
			"seoKeywords": [
				"genocide",
				"UN Security Council",
				"corpus linguistics",
				"discourse analysis",
				"text as data",
				"digital humanities",
				"computational social science",
				"lexicometry",
				"concordance",
				"keyword in context",
				"reproducible research",
				"data visualisation",
				"international relations",
				"United Nations"
			],
			"image": "https://www.frederickmadore.com/images/digital-humanities/genocide-at-the-security-council.webp",
			"embeddableContent": [
				{
					"type": "iframe",
					"id": "genocide-security-council-embed",
					"src": "https://fmadore.github.io/genocide-at-the-security-council/",
					"title": "The dashboard",
					"description": "<p>The overview view, with the headline counts and the two figures that set up the rest. Follow the nav for the chronology, the collocates, the per-speaker rates and the full concordance.</p>",
					"showTitle": true,
					"variant": "responsive"
				}
			],
			"links": [
				{
					"label": "site",
					"url": "https://fmadore.github.io/genocide-at-the-security-council/"
				},
				{
					"label": "genocide-at-the-security-council",
					"url": "https://github.com/fmadore/genocide-at-the-security-council"
				},
				{
					"label": "Source corpus (Dataverse)",
					"url": "https://doi.org/10.7910/DVN/KGVSYH"
				}
			]
		},
		{
			"id": "iwac-mcp-server",
			"url": "https://www.frederickmadore.com/digital-humanities/iwac-mcp-server",
			"title": "IWAC MCP Server",
			"years": "2026-",
			"shortDescription": "A Model Context Protocol server and companion agent skill that give AI assistants structured, read-only access to the Islam West Africa Collection — overcoming the limitations of keyword search through structured, AI-mediated access to the corpus.",
			"description": "<p>Keyword search, the default entry point for most digital collections, struggles with a corpus like the <a href=\"https://islam.zmo.de/s/westafrica/\" target=\"_blank\" rel=\"noopener noreferrer\"><em>Islam West Africa Collection</em></a>. The term \"hadj\" retrieves both articles about the pilgrimage to Mecca and those mentioning individuals bearing the honorific \"El Hadj.\" A single imam may appear under more than twenty spelling variants. Searches miss synonyms and conceptual relationships: a query for \"hajj\" will not surface documents discussing \"pilgrimage to Mecca\" unless those exact words appear.</p><p>This <a href=\"https://modelcontextprotocol.io/docs/getting-started/intro\" target=\"_blank\" rel=\"noopener noreferrer\">Model Context Protocol</a> (MCP) server and its companion <a href=\"https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview\" target=\"_blank\" rel=\"noopener noreferrer\">agent skill</a> address these barriers by giving AI assistants structured, read-only access to the entire IWAC through the <a href=\"https://modelcontextprotocol.io/\" target=\"_blank\" rel=\"noopener noreferrer\">Model Context Protocol</a> — an open standard that does for AI what the <a href=\"https://iiif.io/\" target=\"_blank\" rel=\"noopener noreferrer\">International Image Interoperability Framework</a> (IIIF) does for images: a decentralised interface that preserves institutional data sovereignty while enabling discovery.</p><h2>What the server provides</h2><p>Sixteen read-only tools let any MCP-compatible AI assistant — Claude, ChatGPT, or open-source models — search and retrieve data from the collection without API credentials. The tools cover:</p><ul><li><strong>Article search:</strong> Find newspaper articles by keyword, country, newspaper, subject, date range, or any combination</li><li><strong>Full article retrieval:</strong> Access complete metadata and OCR text for individual articles</li><li><strong>Authority records:</strong> Query the index of persons, places, organisations, events, and subjects, with frequency statistics and date ranges</li><li><strong>Sentiment analysis:</strong> Retrieve and compare polarity, centrality, and subjectivity assessments from three AI models (Gemini, ChatGPT, Mistral) for any article</li><li><strong>Collection statistics:</strong> Get aggregate data on corpus size, newspaper coverage, and cross-country comparisons</li></ul><h2>The agent skill: from plumbing to intelligence</h2><p>A server alone provides plumbing — raw access to data. The companion <a href=\"https://github.com/fmadore/iwac-mcp-server/tree/main/.agents/skills/iwac-mcp\" target=\"_blank\" rel=\"noopener noreferrer\">agent skill</a>, a modular instruction set written in Markdown, encodes the domain knowledge that transforms tool access into methodical research. It structures the AI's reasoning into a five-phase workflow inspired by archival research practice:</p><ol><li><strong>Scoping:</strong> Assess collection coverage for a given topic across countries, newspapers, and time periods</li><li><strong>Systematic searching:</strong> Deploy French-language variants and Arabic-Islamic transliteration alternatives to overcome the vocabulary problem</li><li><strong>Deep reading:</strong> Retrieve and analyse full-text articles, comparing sentiment assessments across AI models</li><li><strong>Triangulation:</strong> Cross-reference findings across subsets — articles, index entries, publications, references — to build a fuller picture</li><li><strong>Synthesis:</strong> Produce structured findings with source attribution and confidence grading</li></ol><p>The skill also documents collection biases — which countries and decades have stronger coverage, which newspapers are over- or under-represented — so that the AI can contextualise its findings rather than present them as exhaustive.</p><h2>Why MCP rather than fine-tuning?</h2><p>Approaches like fine-tuning or retrieval-augmented generation require surrendering data to external training pipelines. MCP takes a different path: the collection stays on its own infrastructure while AI assistants query it through defined, inspectable tools. For African digital collections, historically subject to extractive knowledge practices, this matters. The institution retains full control over its data. The skill layer makes every assumption transparent and versionable. And because MCP is an open standard, any AI model — commercial or open-source — can use the same tools without vendor lock-in.</p>",
			"skills": [
				"Python",
				"Model Context Protocol",
				"LLM",
				"Prompt Engineering",
				"pandas",
				"Hugging Face",
				"JSON",
				"Omeka S API"
			],
			"seoKeywords": [
				"Model Context Protocol",
				"MCP server",
				"AI assistants",
				"digital humanities",
				"Islam West Africa",
				"IWAC",
				"semantic search",
				"agent skill",
				"data sovereignty",
				"open standard",
				"Claude",
				"archival research"
			],
			"image": "https://www.frederickmadore.com/images/digital-humanities/iwac-mcp-server.webp",
			"links": [
				{
					"label": "site",
					"url": "https://islam.zmo.de/s/westafrica/page/ai-access"
				},
				{
					"label": "code",
					"url": "https://github.com/fmadore/iwac-mcp-server"
				}
			]
		},
		{
			"id": "iwac-sentiment-analysis",
			"url": "https://www.frederickmadore.com/digital-humanities/iwac-sentiment-analysis",
			"title": "IWAC Sentiment Analysis",
			"years": "2025",
			"shortDescription": "Interactive visualisation of sentiment patterns in 12,280+ West African press articles on Islam, with multi-model comparison (ChatGPT, Gemini, Mistral) and third-party arbitration.",
			"description": "\n\t\t<p>An interactive dashboard exploring how West African newspapers portray Islam and Muslims, using AI-powered sentiment analysis of the <a href=\"https://islam.zmo.de/s/westafrica/\" target=\"_blank\" rel=\"noopener noreferrer\">Islam West Africa Collection (IWAC)</a> corpus. Three large language models (LLMs) analysed over 12,000 Francophone press articles to assess their tone, objectivity, and thematic focus on Islam.</p>\n\n\t\t<h2>Corpus</h2>\n\t\t<p><strong>12,280+ articles</strong> from <strong>56 newspapers</strong> across <strong>5 countries</strong> (Benin, Burkina Faso, Côte d'Ivoire, Niger, Togo), sourced from the <a href=\"https://huggingface.co/datasets/fmadore/islam-west-africa-collection\" target=\"_blank\" rel=\"noopener noreferrer\">IWAC Hugging Face dataset</a>.</p>\n\n\t\t<h2>Methodology</h2>\n\t\t<p>Each article was analysed by three LLMs using a task-specific French-language prompt:</p>\n\t\t<ul>\n\t\t\t<li><strong>OpenAI GPT-5 mini</strong> (ChatGPT)</li>\n\t\t\t<li><strong>Google Gemini 3.0 Flash</strong></li>\n\t\t\t<li><strong>Mistral Ministral 3 14B</strong></li>\n\t\t</ul>\n\t\t<p>The models evaluated each article across three analytical dimensions:</p>\n\t\t<ol>\n\t\t\t<li><strong>Polarity</strong>: Stance toward Islam and Muslims (very negative → very positive)</li>\n\t\t\t<li><strong>Subjectivity</strong>: Density of opinion vs. reported fact (1-5 scale)</li>\n\t\t\t<li><strong>Centrality</strong>: Thematic prominence of Islamic topics (marginal → very central)</li>\n\t\t</ol>\n\t\t<p>Each model was required to generate concise justifications for its classifications, producing an auditable dataset documenting both conclusions and inferential reasoning.</p>\n\t\t<p><strong>Cost</strong>: ~€16 each for Gemini and ChatGPT, €6 for Mistral, with 24 hours of batch processing—replacing months of potential manual coding.</p>\n\n\t\t<h2>Features</h2>\n\t\t<h3>Eight visualisation views</h3>\n\t\t<ol>\n\t\t\t<li><strong>Charts</strong>: Polarity and subjectivity distribution by newspaper</li>\n\t\t\t<li><strong>Trends</strong>: Temporal evolution of sentiments over the decades</li>\n\t\t\t<li><strong>Distribution</strong>: Cross-tabulation of polarity × subjectivity</li>\n\t\t\t<li><strong>Volume</strong>: Article counts by country over time</li>\n\t\t\t<li><strong>Heatmap</strong>: Centrality of Islam/Muslims by country and year</li>\n\t\t\t<li><strong>Table</strong>: Searchable article list with full details and AI justifications</li>\n\t\t\t<li><strong>Comparison</strong>: Side-by-side analysis of how different AI models interpreted the same articles</li>\n\t\t\t<li><strong>Extremes</strong>: Keywords associated with the most positive/negative portrayals</li>\n\t\t</ol>\n\n\t\t<h3>Multi-model comparison</h3>\n\t\t<p>To audit AI reliability, the dashboard compares how the three models interpreted each article. When models disagree, a more powerful AI (Gemini 3.0 Pro) serves as arbiter to evaluate which interpretation better fits the source text. This revealed that Gemini 3.0 Flash was the most reliable model overall.</p>\n\n\t\t<h3>Interface</h3>\n\t\t<ul>\n\t\t\t<li>Bilingual (French/English)</li>\n\t\t\t<li>Filter by country, newspaper, and sentiment criteria</li>\n\t\t\t<li>Shareable URLs and CSV export for further analysis</li>\n\t\t</ul>\n\n\t\t<h2>A \"vibe coding\" experiment</h2>\n\t\t<p>This dashboard was built entirely through natural-language collaboration with AI coding assistants (Claude Sonnet and Opus), without manually writing code. This approach demonstrates how researchers without programming expertise can now develop sophisticated analytical tools by articulating their vision in plain language—lowering barriers to digital humanities work for scholars at institutions with limited technical support.</p>\n\t",
			"skills": [
				"Svelte",
				"Data Visualisation",
				"ECharts",
				"Vite",
				"Tailwind CSS",
				"TypeScript",
				"Prompt Engineering",
				"LLM",
				"JSON"
			],
			"image": "https://www.frederickmadore.com/images/digital-humanities/iwac-sentiment-analysis.webp",
			"embeddableContent": [
				{
					"type": "iframe",
					"id": "iwac-sentiment-analysis-embed",
					"src": "https://iwac.frederickmadore.com/sentiment-analysis/",
					"title": "IWAC Sentiment Analysis",
					"showTitle": true,
					"variant": "responsive"
				}
			],
			"links": [
				{
					"label": "site",
					"url": "https://iwac.frederickmadore.com/sentiment-analysis/"
				},
				{
					"label": "IWAC-sentiment-analysis",
					"url": "https://github.com/fmadore/IWAC-sentiment-analysis"
				}
			]
		},
		{
			"id": "live-translation",
			"url": "https://www.frederickmadore.com/digital-humanities/live-translation",
			"title": "Live Translation and Subtitles",
			"years": "2026",
			"shortDescription": "A lightweight desktop app that captions a room as people speak, either translating into English or French or transcribing the spoken language. Built in Rust and Tauri for a bilingual workshop at STIAS in Stellenbosch.",
			"description": "\n\t\t<p>A lightweight desktop app that captions a room as people speak. It captures the presenter's microphone or the computer's own audio output, streams it to a realtime speech model, and displays the text in a transparent, always-on-top overlay that can be positioned over the slides.</p>\n\n\t\t<p>I wrote it for the <a href=\"https://fmadore.github.io/stias-dh-ai-workshop-2026/\" target=\"_blank\" rel=\"noopener noreferrer\">Digital Humanities and Artificial Intelligence in African Studies</a> <a href=\"/communications/stias-dh-ai-african-studies-workshop-2026\">workshop</a> at the Stellenbosch Institute for Advanced Study, 21–24 September 2026, where papers and discussion run in English and French. The workshop is hybrid, so the app can take the room microphone, the Teams or Zoom feed, or both at once.</p>\n\n\t\t<h2>Two modes</h2>\n\t\t<ul>\n\t\t\t<li><strong>Live translation</strong>: Google Gemini or OpenAI detects the spoken language and returns English or French.</li>\n\t\t\t<li><strong>Live subtitles</strong>: Mistral's Voxtral transcribes without translating. The transcript saves as plain text or Markdown.</li>\n\t\t</ul>\n\n\t\t<h2>What it costs to run</h2>\n\t\t<p>All three providers bill per minute of streamed audio, so a session costs money for as long as it is open. An hour of translation runs to about $1.25–2.21 on Gemini or $3.06 on OpenAI, an hour of subtitles about $0.36. Captioning two audio sources at once doubles those figures. The repository documents the per-minute rates behind them.</p>\n\n\t\t<h2>How it's built</h2>\n\t\t<p>A <a href=\"https://tauri.app/\" target=\"_blank\" rel=\"noopener noreferrer\">Tauri</a> app with a Rust core and a <a href=\"https://svelte.dev/docs/kit\" target=\"_blank\" rel=\"noopener noreferrer\">SvelteKit</a> front end, in two windows: an operator panel for controls, meters and export, and the click-through caption overlay. Rust handles capture, including WASAPI loopback for system audio on Windows, and the WebSocket session that deals with timeouts, reconnection and stale audio. API keys stay in the operating system's keychain and are read only by the Rust side. The code is <a href=\"https://github.com/fmadore/Live-translation/blob/main/LICENSE\" target=\"_blank\" rel=\"noopener noreferrer\">MIT</a>.</p>\n\t",
			"skills": [
				"Rust",
				"Tauri",
				"SvelteKit",
				"Svelte 5",
				"TypeScript",
				"WebSocket",
				"Real-time Audio",
				"Speech Recognition",
				"Machine Translation",
				"LLM",
				"Accessibility"
			],
			"seoKeywords": [
				"live translation",
				"live captions",
				"subtitles",
				"speech translation",
				"realtime speech recognition",
				"conference accessibility",
				"hybrid conference",
				"Tauri",
				"Rust",
				"Gemini",
				"OpenAI",
				"Mistral Voxtral",
				"digital humanities",
				"African studies"
			],
			"image": "https://www.frederickmadore.com/images/digital-humanities/live-translation.webp",
			"links": [
				{
					"label": "Live-translation",
					"url": "https://github.com/fmadore/Live-translation"
				},
				{
					"label": "STIAS workshop website",
					"url": "https://fmadore.github.io/stias-dh-ai-workshop-2026/"
				},
				{
					"label": "stias-dh-ai-workshop-2026",
					"url": "https://github.com/fmadore/stias-dh-ai-workshop-2026"
				}
			]
		},
		{
			"id": "omeka-s-docker",
			"url": "https://www.frederickmadore.com/digital-humanities/omeka-s-docker",
			"title": "Omeka S Docker Template",
			"years": "2026",
			"shortDescription": "A reusable Docker template for deploying production-ready Omeka S digital archive installations with automatic setup, module management, and SSL support.",
			"description": "<p>Digital archives and collections play a crucial role in preserving and sharing cultural heritage, yet setting up the infrastructure to host them remains a significant barrier for many research teams. This template removes that barrier by providing a ready-to-use deployment solution for <a href=\"https://omeka.org/s/\" target=\"_blank\" rel=\"noopener noreferrer\">Omeka S</a>, a widely adopted platform for building digital collections and exhibits.</p><p>Developed as part of my work with the <a href=\"https://www.africamultiple.uni-bayreuth.de/en/1_5-Digital-Solutions1/index.html\" target=\"_blank\" rel=\"noopener noreferrer\">Digital Research Environment (DRE)</a> at the University of Bayreuth's <a href=\"https://www.africamultiple.uni-bayreuth.de/en/index.html\" target=\"_blank\" rel=\"noopener noreferrer\">Africa Multiple Cluster of Excellence</a>, this template reflects a commitment to making research infrastructure more accessible. By lowering the technical threshold for deploying digital archives, this tool can help research teams focus on what matters most: curating and sharing their collections according to FAIR principles.</p><h2>What It Does</h2><p>The template handles the complete technical setup automatically: database configuration, web server optimisation, and security hardening. Researchers can have a fully functional Omeka S instance running with a single command, complete with essential modules for data import, geospatial mapping, faceted search, and IIIF image viewing.</p><h2>Key Features</h2><ul><li><strong>One-command deployment</strong> with automatic installation and configuration</li><li><strong>Pre-installed modules</strong> for CSV import, mapping, advanced search, and IIIF viewers</li><li><strong>Production-ready security</strong> with SSL/TLS encryption and hardened settings</li><li><strong>Built for sustainability</strong> with standardised configurations that simplify long-term maintenance</li></ul><p>This template is designed for research teams, librarians, and digital humanists who want to build digital archives without needing deep systems administration expertise.</p>",
			"skills": [
				"Docker",
				"Nginx",
				"PHP",
				"MySQL",
				"Linux",
				"Omeka S",
				"IIIF",
				"Bash"
			],
			"seoKeywords": [
				"Omeka S",
				"Docker",
				"digital archives",
				"digital collections",
				"IIIF",
				"cultural heritage",
				"digital humanities",
				"containerization",
				"museum collections",
				"library technology"
			],
			"image": "https://www.frederickmadore.com/images/digital-humanities/omeka-s-docker.webp",
			"links": [
				{
					"label": "omeka-s-docker",
					"url": "https://github.com/AM-Digital-Research-Environment/omeka-s-docker"
				}
			]
		},
		{
			"id": "global-heshmat",
			"url": "https://www.frederickmadore.com/digital-humanities/global-heshmat",
			"title": "Global Heshmat",
			"years": "2026",
			"shortDescription": "An interactive map tracing the public artworks of the Egyptian sculptor Hassan Heshmat across ten countries, developed for the Leibniz-Zentrum Moderner Orient (ZMO). Built with SvelteKit and MapLibre GL JS.",
			"description": "\n\t\t<p><a href=\"https://heshmat.zmo.de/\" target=\"_blank\" rel=\"noopener noreferrer\">Global Heshmat</a> is an interactive map that follows the Egyptian sculptor <strong>Hassan Heshmat</strong> and his artworks in public spaces around the world. It is a team project of the <a href=\"https://www.zmo.de/en\" target=\"_blank\" rel=\"noopener noreferrer\">Leibniz-Zentrum Moderner Orient (ZMO)</a> in Berlin; I developed the website.</p>\n\n\t\t<p>Heshmat was an internationally celebrated artist committed to the idea of \"Art for All\" (<em>Kunst für alle</em>). After training as a sculptor in Cairo, he travelled to Selb in Bavaria on a DAAD scholarship in 1957 to study porcelain, a medium that let him cast affordable multiples for a wide public. His monuments, reliefs, and sculptures still stand in parks, museums, and squares across several countries, and in 2000 he received Egypt's State Appreciation Award.</p>\n\n\t\t<h2>What you can explore</h2>\n\t\t<p>The map brings together 28 located works, most of them in Egypt and others in Germany, Poland, Sweden, Belgium, and the Netherlands, alongside 11 more that are documented but not yet located. In all it spans ten countries, and a \"to be found\" filter turns the gaps into an open call: visitors who recognise a Heshmat work in a public space are invited to report it.</p>\n\t\t<ul>\n\t\t\t<li><strong>Map</strong>: a WebGL vector-tile basemap with marker clustering that expands on zoom</li>\n\t\t\t<li><strong>Filter and search</strong>: filter by country or status, plus real-time search across artwork names, cities, and addresses</li>\n\t\t\t<li><strong>Relocations</strong>: works that have moved are drawn with a dashed line to a \"ghost\" marker at their former site</li>\n\t\t\t<li><strong>Detail panel</strong>: a multi-image gallery with a full-screen lightbox, metadata, source links, and embedded video</li>\n\t\t\t<li><strong>Deep linking</strong>: the selected artwork is synced to the URL, so any view can be shared</li>\n\t\t</ul>\n\n\t\t<h2>How it's built</h2>\n\t\t<p>Global Heshmat is a static <a href=\"https://svelte.dev/\" target=\"_blank\" rel=\"noopener noreferrer\">SvelteKit</a> site (Svelte 5 runes, TypeScript) with the map rendered by <a href=\"https://maplibre.org/\" target=\"_blank\" rel=\"noopener noreferrer\">MapLibre GL JS</a> over vector tiles. Each artwork lives in its own typed data file that is auto-discovered at build time, so adding a new work is a one-file edit. Per-page Open Graph, Twitter Card, and Schema.org JSON-LD metadata support sharing and search. The interface is fully responsive, with keyboard navigation throughout.</p>\n\n\t\t<h2>Credits</h2>\n\t\t<p>Global Heshmat is a collaborative project of the Leibniz-Zentrum Moderner Orient (ZMO):</p>\n\t\t<ul>\n\t\t\t<li><strong>Concept</strong>: <a href=\"https://www.zmo.de/en/people/dr-sonja-hegasy\" target=\"_blank\" rel=\"noopener noreferrer\">Dr Sonja Hegasy</a></li>\n\t\t\t<li><strong>Configuration</strong>: Jan Purtzel</li>\n\t\t\t<li><strong>Development</strong>: Frédérick Madore</li>\n\t\t\t<li><strong>Contributor</strong>: Samar Heshmat</li>\n\t\t</ul>\n\n\t\t<p>The site complements ZMO's <a href=\"https://www.zmo.de/en/knowledgetransfer/h-heshmat-digital\" target=\"_blank\" rel=\"noopener noreferrer\">audiovisual exhibition on Hassan Heshmat</a>.</p>\n\t",
			"skills": [
				"Svelte 5",
				"SvelteKit",
				"TypeScript",
				"MapLibre GL",
				"WebGL",
				"Interactive mapping",
				"Data visualisation"
			],
			"image": "https://www.frederickmadore.com/images/digital-humanities/global-heshmat.webp",
			"embeddableContent": [
				{
					"type": "iframe",
					"id": "global-heshmat-embed",
					"src": "https://heshmat.zmo.de/",
					"title": "The map",
					"description": "<p>The 28 located works and the 11 still to be found. Filter by country or status, search by artwork, city or address, and select a marker for its images, metadata and sources.</p>",
					"showTitle": true,
					"variant": "responsive"
				}
			],
			"links": [
				{
					"label": "site",
					"url": "https://heshmat.zmo.de/"
				},
				{
					"label": "Global-Heshmat",
					"url": "https://github.com/ZMO-Berlin/Global-Heshmat"
				}
			]
		},
		{
			"id": "iwac-ai-pipelines",
			"url": "https://www.frederickmadore.com/digital-humanities/iwac-ai-pipelines",
			"title": "IWAC AI Pipelines",
			"years": "2026",
			"shortDescription": "Python workflows for processing the Islam West Africa Collection using Large Language Models—automating OCR, NER, transcription, and summarisation at scale.",
			"description": "<p>With over 14,500 items and 30 million words—the equivalent of more than 300 books—the <a href=\"https://islam.zmo.de/s/westafrica/\" target=\"_blank\" rel=\"noopener noreferrer\">Islam West Africa Collection</a> has long exceeded what any individual researcher could process manually. What began as years of fieldwork accumulation risked becoming \"digital clutter\": thousands of documents gathered but never fully accessible.</p><p>These open-source Python pipelines address that challenge by integrating Large Language Models (Google Gemini, OpenAI, Mistral) into document processing workflows. They automate labor-intensive tasks that would otherwise consume months of work—or simply never get done. The goal is not to replace scholarly judgment, but to make large documentary collections tractable so researchers can focus on interpretation rather than data wrangling.</p><h2>What the pipelines do</h2><ul><li><strong>OCR extraction & correction:</strong> Extract text from PDF scans using multimodal vision models, and correct errors in legacy OCR including ALTO XML with coordinate preservation</li><li><strong>Named entity recognition:</strong> Identify people, places, and organisations with authority reconciliation and fuzzy matching to handle variant spellings common in West African names</li><li><strong>Summarisation:</strong> Generate French summaries for document discovery across large collections</li><li><strong>Audio & video processing:</strong> Transcribe interviews and oral histories (including Hausa content) and summarise videos with visual descriptions</li><li><strong>Handwritten text recognition:</strong> Read manuscripts in French, Arabic, or mixed scripts</li><li><strong>Magazine indexing:</strong> Extract and index individual articles from digitised periodicals with complex layouts</li></ul><h2>AI-NER-Validator</h2><p>A companion web application (<a href=\"https://github.com/fmadore/AI-NER-Validator\" target=\"_blank\" rel=\"noopener noreferrer\">AI-NER-Validator</a>) provides quality control for automatically extracted entities. Researchers can review articles with AI-extracted entities side by side, validate or reject each entity, add missing ones manually, and export clean CSV files. The tool ensures human oversight remains central to the workflow.</p><h2>Open source</h2><p>The code is open source and documented for adaptation. As lightweight open-source models improve, these workflows could eventually run locally without relying on commercial APIs—an important consideration for data sovereignty and long-term sustainability.</p><h2>Limitations</h2><p>These tools are research aids, not replacements for scholarly judgment. LLMs operate as black boxes with algorithmic opacity. Models trained predominantly on Western data may misrepresent African contexts and naming conventions. Unlike traditional OCR, which signals failure through garbled text, AI-generated errors appear as fluent prose—shifting the burden from fixing visible mistakes to detecting hidden ones. Effective use requires domain expertise and familiarity with the source material.</p>",
			"skills": [
				"Python",
				"LLM",
				"Prompt Engineering",
				"OCR",
				"HTR",
				"NER",
				"NLP",
				"Docker",
				"Omeka S API"
			],
			"seoKeywords": [
				"AI pipelines",
				"LLM",
				"OCR",
				"NER",
				"named entity recognition",
				"handwritten text recognition",
				"audio transcription",
				"digital humanities",
				"Islam West Africa",
				"IWAC",
				"Google Gemini",
				"OpenAI",
				"Mistral",
				"archival processing"
			],
			"image": "https://www.frederickmadore.com/images/digital-humanities/iwac-ai-pipelines.webp",
			"links": [
				{
					"label": "iwac-ai-pipelines",
					"url": "https://github.com/fmadore/iwac-ai-pipelines"
				},
				{
					"label": "AI-NER-Validator",
					"url": "https://github.com/fmadore/AI-NER-Validator"
				}
			]
		},
		{
			"id": "dh-ai-african-studies",
			"url": "https://www.frederickmadore.com/digital-humanities/dh-ai-african-studies",
			"title": "Charting New Territory: Digital Humanities and AI in African Studies",
			"years": "2025-2026",
			"shortDescription": "The website for a VolkswagenStiftung scoping workshop held in Hanover in February 2026, which documents its programme and 26 participants and carries a filterable bibliography of over 200 works, a concept map of the literature, six filmed interviews, and the forthcoming position paper.",
			"description": "\n\t\t<p><a href=\"https://fmadore.github.io/dh-ai-african-studies-2026/\" target=\"_blank\" rel=\"noopener noreferrer\"><em>Charting New Territory: Digital Humanities and AI in African Studies</em></a> is the website for a scoping workshop that <a href=\"https://www.kcl.ac.uk/people/vincent-hiribarren\" target=\"_blank\" rel=\"noopener noreferrer\">Vincent Hiribarren</a> and I organised at the Xplanatorium Herrenhausen in Hanover from 18 to 20 February 2026, funded by the <a href=\"https://www.volkswagenstiftung.de/en/funding/funding-offer/scoping-workshops\" target=\"_blank\" rel=\"noopener noreferrer\">VolkswagenStiftung</a>. It gathered 26 researchers from 16 countries across Africa, Europe and beyond for three days of structured discussion rather than presentations.</p>\n\n\t\t<p>I designed and built the site. It announced the workshop in advance and now documents its outcomes. The event itself is listed under <a href=\"/communications/volkswagenstiftung-dh-ai-african-studies-workshop-2026\">conference activity</a>, and it belongs to a wider <a href=\"/research/dh-ai-african-studies\">research agenda</a>.</p>\n\n\t\t<h2>Programme and participants</h2>\n\t\t<p>Tabs split the three-day programme by day and sync to the URL, so any session can be linked to directly. A searchable directory covers all 26 participants: browse them by thematic group, or see where they work on an interactive map of their institutional affiliations.</p>\n\n\t\t<h2>References</h2>\n\t\t<p>The reading list gathered to prepare the workshop is now a standing bibliography of over <strong>200 works</strong> on digital humanities, artificial intelligence and African studies: journal articles, books, chapters, theses, blog posts, videos and web pages, in English, French and German.</p>\n\t\t<p>It filters by type, language and year, and by any of <strong>943 keywords</strong> covering data sovereignty, digital colonialism, African language technologies and AI ethics. Every entry carries an abstract and a link to the work itself, and any selection exports to BibTeX or RIS, so readers can pull the bibliography into Zotero instead of only reading it on the page.</p>\n\n\t\t<h2>Concept map</h2>\n\t\t<p>Reading 215 works produces notes; the harder question is what they collectively say. I read and annotated each reference in Obsidian and captured recurring themes as interlinked concept notes.</p>\n\t\t<p>Fifty-five foundational concepts seeded the map, matched to the workshop's thematic groups. The wiki-links between notes then surfaced connections nobody had planned, and the network grew to <strong>105 concepts joined by 863 relationships</strong>. A Python script converts that graph to JSON and a D3 force layout draws it: node size follows connection density, seeds are marked, and clusters emerge around archives, epistemologies and decoloniality, infrastructure and governance, and language technologies.</p>\n\t\t<p>The map is a reading of a corpus, drawn from annotation rather than from memory. The script that produced it is in the repository. On the <a href=\"https://fmadore.github.io/dh-ai-african-studies-2026/concepts\" target=\"_blank\" rel=\"noopener noreferrer\">live map</a>, Ctrl+scroll to zoom, drag the background to pan, and drag a node to reposition it.</p>\n\n\t\t<h2>Interviews and photographs</h2>\n\t\t<p>Six short interviews, filmed by Calum Houston, let participants set out their own positions: Emmanuel Ngue Um on African language resources, Duncan Money on archival digitisation, Karen Byera Ijumba on restitution data, Fallou Ngom on Ajami manuscripts, Menno van Zaanen on digital language resources, and Albrecht Hofheinz on Arabic manuscript analysis. A photo gallery covers all three days.</p>\n\n\t\t<h2>Position paper</h2>\n\t\t<p>The workshop's main outcome is a co-authored position paper on the ethical integration of digital humanities and AI in African studies, written for specialists and policy readers. A drafting committee has been working on it since the workshop closed, and it will appear in the <a href=\"https://www.zmo.de/en/publications/translate-to-english-zmo-programmatic-texts\" target=\"_blank\" rel=\"noopener noreferrer\">ZMO Programmatic Texts</a> series. The site carries a page for the paper and will publish the details on release.</p>\n\n\t\t<h2>How it's built</h2>\n\t\t<p>The site is a static <a href=\"https://svelte.dev/docs/kit\" target=\"_blank\" rel=\"noopener noreferrer\">SvelteKit</a> build (Svelte 5 runes, TypeScript, Tailwind CSS) deployed to GitHub Pages, with <a href=\"https://d3js.org/\" target=\"_blank\" rel=\"noopener noreferrer\">D3</a> for the concept map and <a href=\"https://leafletjs.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Leaflet</a> for the participant map. Two standard-library Python scripts do the data work: one fetches and normalises the references, the other extracts the concept graph from the Obsidian vault. The interface has a light and dark mode, meets WCAG 2.1 Level AA, and publishes JSON-LD structured data.</p>\n\t",
			"skills": [
				"Svelte 5",
				"SvelteKit",
				"TypeScript",
				"Tailwind CSS",
				"D3.js",
				"Leaflet",
				"Python",
				"Zotero",
				"Metadata Standards",
				"Data Visualisation",
				"Network graphs"
			],
			"seoKeywords": [
				"digital humanities",
				"artificial intelligence",
				"African studies",
				"scoping workshop",
				"VolkswagenStiftung",
				"concept map",
				"network visualisation",
				"bibliography",
				"data sovereignty",
				"digital colonialism",
				"African language technologies",
				"AI ethics"
			],
			"image": "https://www.frederickmadore.com/images/digital-humanities/dh-ai-african-studies.webp",
			"links": [
				{
					"label": "site",
					"url": "https://fmadore.github.io/dh-ai-african-studies-2026/"
				},
				{
					"label": "dh-ai-african-studies-2026",
					"url": "https://github.com/fmadore/dh-ai-african-studies-2026"
				}
			]
		},
		{
			"id": "zmo-ai-pipelines",
			"url": "https://www.frederickmadore.com/digital-humanities/zmo-ai-pipelines",
			"title": "ZMO AI Pipelines",
			"years": "2025",
			"shortDescription": "Google Colab notebooks that make AI accessible for researchers: transcribe audio/video, extract text from documents (OCR/HTR), and generate summaries—no installation required.",
			"description": "<p>Tasks such as transcribing interviews, deciphering handwriting and summarising documents devour research time. AI can handle them well, but technical barriers often get in the way. Many social scientists are intimidated by the prospect of managing Python environments and dependencies, as they don't see themselves as \"power users\".</p><p>These Google Colab notebooks remove that barrier. If you can click \"Play,\" you can run them. No installation, no setup — everything runs in your browser. The code stays fully visible for anyone who wants to inspect, adapt, or extend it.</p><h2>Three Core Tools</h2><ul><li><strong>Audio & Video Transcription:</strong> Convert interviews, focus groups, and lectures into text with speaker identification. Supports MP3, WAV, MP4, and more.</li><li><strong>OCR/HTR:</strong> Extract text from printed and handwritten documents. Specialised modes for French and Arabic handwriting, plus multilingual support.</li><li><strong>Text Summarisation:</strong> Generate summaries and extract keywords from large documents. Batch-process hundreds of files via Excel integration.</li></ul><h2>Beyond Western Languages</h2><p>Most AI tools perform well on English and major European languages. These pipelines tackle more demanding material:</p><ul><li><strong>Handwritten text:</strong> Arabic manuscripts</li><li><strong>Printed documents:</strong> Hindi, Old Tatar</li><li><strong>Audio transcription:</strong> Hausa, Arabic, Swahili, Kurmanji</li></ul><p>The notebooks handle long archival files page by page and automatically chunk lengthy audio recordings.</p><h2>Get Started</h2><p>All tools are <a href=\"https://github.com/fmadore/zmo-ai-pipelines\" target=\"_blank\" rel=\"noopener noreferrer\">available on GitHub</a>. You need a Gemini API key and can optionally connect Google Drive to save your results.</p>",
			"skills": [
				"Python",
				"Google Colab",
				"NLP",
				"OCR",
				"HTR",
				"LLM",
				"Prompt Engineering"
			],
			"seoKeywords": [
				"AI tools",
				"transcription",
				"OCR",
				"HTR",
				"handwriting recognition",
				"Google Gemini",
				"qualitative research",
				"digital humanities",
				"text analysis",
				"audio transcription",
				"Google Colab",
				"multilingual AI"
			],
			"image": "https://www.frederickmadore.com/images/digital-humanities/zmo-ai-pipelines.webp",
			"links": [
				{
					"label": "code",
					"url": "https://github.com/fmadore/zmo-ai-pipelines"
				}
			]
		},
		{
			"id": "zmo-visualisations",
			"url": "https://www.frederickmadore.com/digital-humanities/zmo-visualisations",
			"title": "ZMO Visualisations",
			"years": "2025",
			"shortDescription": "Two static web apps built using data scraped monthly from the ZMO website: a word cloud showing the topics covered by each research unit, and a dashboard providing an overview of the institute's complete publication history since 1994.",
			"description": "\n\t\t<p>An institute's website already holds a great deal of what it would want to say about itself: which themes its research units return to, what it has published and with whom. That material is spread across hundreds of pages and readable only one page at a time. These two apps read it computationally instead. Both are built for the <a href=\"https://www.zmo.de/en\" target=\"_blank\" rel=\"noopener noreferrer\">Leibniz-Zentrum Moderner Orient (ZMO)</a> in Berlin, published in English and German, and both draw on data scraped from zmo.de rather than maintained by hand.</p>\n\n\t\t<h2>The word cloud</h2>\n\t\t<p>The most frequent terms in each research unit's own description and project abstracts. Pick one of the three units or view them combined, set how many words to show, hover a word for its frequency, and export the result as a PNG. Both language pages accept URL parameters, so a specific unit and word count can be linked to or embedded directly.</p>\n\t\t<p>The scraper follows each unit's overview page to every linked project, and also picks up the umbrella projects whose descriptions are printed on the listing page rather than linked. Missing those would quietly drop several hundred words per unit. Researcher bylines are stripped so that personal names do not become terms.</p>\n\n\t\t<h2>The publications dashboard</h2>\n\t\t<p>Everything in ZMO's <a href=\"https://www.zmo.de/en/publications/publication-search\" target=\"_blank\" rel=\"noopener noreferrer\">publication register</a> — <strong>1,962 publications, 656 authors, 1994 to 2026</strong> — as five linked views: output per year stacked by document type, the document types themselves, the most-published authors, where ZMO publishes, and who publishes with whom, over the full list underneath.</p>\n\t\t<p><strong>Every chart is also a filter.</strong> Click a column, a bar, a legend entry or an author node and the whole dashboard narrows to it. Choices stack, each appearing as a chip that can be removed. Every chart counts against all the active filters except its own, so selecting one document type leaves the others visible to switch to rather than collapsing the panel to a single bar.</p>\n\t\t<p>Rankings run to hundreds of entries, so the ranked charts page rather than truncating at a top-ten: there are 656 authors and 526 journals, and a top-N would hide most of them. The co-authorship network opens on the 60 most-published authors and grows on request.</p>\n\n\t\t<h2>Decisions the data forced</h2>\n\t\t<p>The year chart is stacked by document type, and eight is the ceiling for a categorical palette that stays distinguishable, including to a colourblind reader — so seven types are drawn as their own series and the smallest are grouped. The eight hues were checked against the page's white surface (worst adjacent pair ΔE 9.1 under protanopia) and their <em>order</em> is what makes that hold, so slots are assigned in sequence rather than shuffled. Three of the eight sit below 3:1 contrast on white, which is why every series is named in the legend instead of being left to colour alone.</p>\n\t\t<p>\"Where ZMO publishes\" ranks journals and publishers, and deliberately omits the register's <em>series</em> field: it is filled on 187 of 1,962 records and holds 175 distinct values among them, so ranking it produced a list of ones. The field still names the venue on a working paper in the list below, and is still searched. A field can be worth keeping without being worth charting.</p>\n\n\t\t<h2>How it's built</h2>\n\t\t<p>Neither app has a build step: plain ES modules loaded straight by the browser, drawn with <a href=\"https://d3js.org/\" target=\"_blank\" rel=\"noopener noreferrer\">D3</a>, no bundler and no install. Python pipelines fetch from zmo.de and write JSON into each app's data directory, and GitHub Actions rerun them monthly and commit the result, so both refresh without anyone touching them. The raw scraper output is committed too, which means a scrape produces a readable diff of exactly what changed on the website. The unit scraper fails loudly when a page yields no abstract or no projects, since the selectors it depends on come from ZMO's TYPO3 theme: a redesign should surface as a visible error rather than as a quietly shrinking word cloud.</p>\n\t",
			"skills": [
				"Python",
				"Web scraping",
				"D3.js",
				"Data Visualisation",
				"Network graphs",
				"JSON",
				"GitHub Actions"
			],
			"seoKeywords": [
				"ZMO",
				"Leibniz-Zentrum Moderner Orient",
				"data visualisation",
				"word cloud",
				"publications dashboard",
				"bibliometrics",
				"co-authorship network",
				"web scraping",
				"D3",
				"digital humanities"
			],
			"image": "https://www.frederickmadore.com/images/digital-humanities/zmo-visualisations.webp",
			"embeddableContent": [
				{
					"type": "iframe",
					"id": "zmo-units-wordcloud-embed",
					"src": "https://zmo-berlin.github.io/visualisations/units_wordcloud/en/",
					"title": "Word cloud",
					"description": "<p>The most frequent terms across ZMO's three research units. Pick a unit or view them combined, and adjust how many words are shown.</p>",
					"showTitle": true,
					"variant": "responsive"
				},
				{
					"type": "iframe",
					"id": "zmo-publications-dashboard-embed",
					"src": "https://zmo-berlin.github.io/visualisations/publications_dashboard/en/",
					"title": "Publications dashboard",
					"description": "<p>1,962 publications across five linked views. Click any column, bar, legend entry or author node to filter the whole dashboard; the choices stack.</p>",
					"showTitle": true,
					"variant": "responsive"
				}
			],
			"links": [
				{
					"label": "site",
					"url": "https://zmo-berlin.github.io/visualisations/en/"
				},
				{
					"label": "Word cloud",
					"url": "https://zmo-berlin.github.io/visualisations/units_wordcloud/en/"
				},
				{
					"label": "Publications dashboard",
					"url": "https://zmo-berlin.github.io/visualisations/publications_dashboard/en/"
				},
				{
					"label": "ZMO-Berlin/visualisations",
					"url": "https://github.com/ZMO-Berlin/visualisations"
				}
			]
		},
		{
			"id": "remoboko",
			"url": "https://www.frederickmadore.com/digital-humanities/remoboko",
			"title": "Remoboko Visualisations",
			"years": "2018-2024",
			"shortDescription": "Interactive visualisations for the Remoboko research group, including a points of interest map for my book and charts documenting the group's publications, activities, and collaborative network.",
			"description": "<p>I created a series of interactive visualisations for <a href=\"https://remoboko.hypotheses.org/\" target=\"_blank\" rel=\"noopener noreferrer\">Remoboko</a> (<em>Religion, Morality and Boko in West Africa: Students Training for a Good Life</em>), a Leibniz Junior Research Group based at the Zentrum Moderner Orient (ZMO) that ran from 2018 to 2023. The project examined the presence of Salafism and Pentecostalism on university campuses in Niger, Nigeria, Togo, and Benin. <a href=\"https://remoboko.hypotheses.org/visualisations\" target=\"_blank\" rel=\"noopener noreferrer\">These visualisations</a> make the group's research outputs and collaborative network more accessible.</p><h2>Book: Points of Interest Map</h2><p>This interactive map accompanies my book <a href=\"/publications/religious-activism-campuses\"><em>Religious Activism on Campuses in Togo and Benin</em></a> (De Gruyter, 2025), part of the Remoboko project. It plots the geographic locations mentioned throughout the book—universities, mosques, churches, headquarters of religious associations, and other significant sites in Togo, Benin, and the broader West African region.</p><h2>Research Group Outputs</h2><p>Over its five-year lifespan, Remoboko collaborated with 93 researchers from 24 countries, producing over 180 publications and activities. I created visualisations to document this collective output:</p><h3>Publications and Activities at a Glance</h3><ul><li><strong>Stacked bar chart and treemap</strong> showing the evolution and breakdown of publications and activities from 2018 to 2024, categorised by type (journal articles, book chapters, conference papers, lectures, PhD dissertations, etc.)</li><li><strong>Word clouds</strong> (French and English) generated from abstracts, highlighting the key themes and concepts across the group's work</li></ul><h3>Collaborators at a Glance</h3><ul><li><strong>Gender distribution</strong> — pie chart showing the breakdown of collaborators (37.6% female, 62.4% male)</li><li><strong>Geographic distribution</strong> — bar chart of collaborators by country, with Germany, USA, Niger, and Nigeria among the most represented</li><li><strong>Institutional affiliations</strong> — overview of the universities and research centers involved</li></ul>",
			"skills": [
				"Data Visualisation",
				"pandas",
				"Plotly",
				"Python",
				"Folium",
				"NLTK",
				"Leaflet",
				"D3.js"
			],
			"image": "https://www.frederickmadore.com/images/digital-humanities/remoboko.webp",
			"embeddableContent": [
				{
					"type": "iframe",
					"id": "remoboko-poi-map",
					"src": "https://fmadore.github.io/Remoboko/Book_DeGruyter/Maps/points_of_interest.html",
					"title": "Points of Interest Map",
					"description": "<p>Interactive map showing the main locations mentioned in my recent book <a href='/publications/religious-activism-campuses' target='_blank' rel='noopener noreferrer'>Religious Activism on University Campuses in West Africa</a>.</p>",
					"showTitle": true,
					"variant": "responsive"
				},
				{
					"type": "image",
					"id": "remoboko-collaborators-gender-chart",
					"src": "https://raw.githubusercontent.com/fmadore/Remoboko/master/Final%20report/collaborators_gender.png",
					"alt": "Chart showing gender distribution of Remoboko collaborators",
					"title": "Collaborators by Gender",
					"showTitle": true,
					"containerClass": "image-embed-container"
				},
				{
					"type": "iframe",
					"id": "remoboko-collaborators-country",
					"src": "https://fmadore.github.io/Remoboko/Final%20report/collaborators_by_country.html",
					"title": "Collaborators by Country",
					"description": "<p>Geographical distribution of the 93 Remoboko research group collaborators across 24 different countries.</p>",
					"showTitle": true,
					"variant": "responsive"
				},
				{
					"type": "iframe",
					"id": "remoboko-collaborators-map",
					"src": "https://fmadore.github.io/Remoboko/Final%20report/collaborators_map.html",
					"title": "Collaborators Affiliations Map",
					"description": "<p>Map displaying the institutional affiliations of Remoboko research group collaborators.</p>",
					"showTitle": true,
					"variant": "responsive"
				},
				{
					"type": "iframe",
					"id": "remoboko-activities-time",
					"src": "https://fmadore.github.io/Remoboko/Final%20report/activities_type_over_time.html",
					"title": "Publications and Activities Over Time",
					"description": "<p>This stacked bar chart illustrates the evolution of Remoboko's scientific publications and activities from 2018 to 2024. It categorises publications and activities by type, showing the diverse contributions of members and collaborators across different formats each year.</p>",
					"showTitle": true,
					"variant": "responsive"
				},
				{
					"type": "iframe",
					"id": "remoboko-treemap",
					"src": "https://fmadore.github.io/Remoboko/Final%20report/treemap_chart.html",
					"title": "Publications and Activities Treemap",
					"description": "<p>This treemap provides a proportional breakdown of all Remoboko publications and activities by type, showing the relative weight of each category within the group's total output.</p>",
					"showTitle": true,
					"variant": "responsive"
				},
				{
					"type": "image",
					"id": "remoboko-wordcloud-en",
					"src": "https://raw.githubusercontent.com/fmadore/Remoboko/master/Final%20report/WordClouds/english_wordcloud.png",
					"alt": "Word cloud of English terms related to Remoboko research",
					"title": "Word Clouds",
					"description": "<p>These word clouds provide an insight into the work of the Remoboko research group, derived from the available abstracts of all publications and activities of members and collaborators. Presented in French and English, they highlight the most common terms and provide a visual summary of the key themes and concepts that define our research.</p>",
					"showTitle": true,
					"containerClass": "image-embed-container"
				},
				{
					"type": "image",
					"id": "remoboko-wordcloud-fr",
					"src": "https://raw.githubusercontent.com/fmadore/Remoboko/master/Final%20report/WordClouds/french_wordcloud.png",
					"alt": "Nuage de mots des termes français liés à la recherche Remoboko",
					"showTitle": true,
					"containerClass": "image-embed-container"
				}
			],
			"links": [
				{
					"label": "Book: points of interest map",
					"url": "https://fmadore.github.io/Remoboko/Book_DeGruyter/Maps/points_of_interest.html"
				},
				{
					"label": "Book: timeline",
					"url": "https://fmadore.github.io/Remoboko/Book_DeGruyter/Timeline/"
				},
				{
					"label": "site",
					"url": "https://remoboko.hypotheses.org/visualisations"
				},
				{
					"label": "Remoboko",
					"url": "https://github.com/fmadore/Remoboko"
				}
			]
		},
		{
			"id": "iwac-bibliographic-data-wikidata",
			"url": "https://www.frederickmadore.com/digital-humanities/iwac-bibliographic-data-wikidata",
			"title": "IWAC Bibliographic Data on Wikidata",
			"years": "2023",
			"shortDescription": "Over 850 bibliographical references from the Islam West Africa Collection uploaded to Wikidata, enabling SPARQL queries and automatic visualisations through Scholia.",
			"description": "<p>The <a href=\"https://islam.zmo.de/s/westafrica/page/home\" target=\"_blank\" rel=\"noopener noreferrer\"><em>Islam West Africa Collection</em></a> (IWAC) includes over 850 bibliographical references on Islam in West Africa. To align with open science principles and the <a href=\"https://meta.wikimedia.org/wiki/WikiCite\" target=\"_blank\" rel=\"noopener noreferrer\">WikiCite</a> initiative, I uploaded the metadata for these references to <a href=\"https://www.wikidata.org/\" target=\"_blank\" rel=\"noopener noreferrer\">Wikidata</a>, the free knowledge base that acts as central storage for structured data across Wikimedia projects.</p><p>By integrating IWAC's bibliographic data into Wikidata's linked data environment, the references become more discoverable, interoperable, and reusable by the global research community. Researchers can run complex SPARQL queries to explore relationships between works, authors, topics, and institutions—connections that would be difficult to surface in a traditional bibliography.</p><h2>Visualisations with Scholia</h2><p>A key benefit of this integration is the ability to generate automatic visualisations through <a href=\"https://scholia.toolforge.org/\" target=\"_blank\" rel=\"noopener noreferrer\">Scholia</a>, a service that creates scholarly profiles from Wikidata. For example, the topic page for <a href=\"https://scholia.toolforge.org/topic/Q3081878\" target=\"_blank\" rel=\"noopener noreferrer\">Islam in Burkina Faso</a> displays:</p><ul><li><strong>Publications per year</strong> — a timeline of scholarly output on the topic</li><li><strong>Authors publishing about the topic</strong> — ranked list of researchers with publication counts</li><li><strong>Author score</strong> — bubble chart showing researchers weighted by publications and citations</li><li><strong>Co-author graph</strong> — network visualisation of collaborative relationships</li><li><strong>Co-occurring topics</strong> — graph and map showing thematic connections</li><li><strong>Citation analysis</strong> — works and authors most frequently cited</li><li><strong>Institutional map</strong> — geographic distribution of affiliated organisations</li></ul><p>These visualisations update automatically as new data is added to Wikidata.</p>",
			"skills": [
				"Wikidata",
				"OpenRefine",
				"Scholia",
				"SPARQL",
				"Linked Data",
				"Metadata Standards"
			],
			"image": "https://www.frederickmadore.com/images/digital-humanities/iwac-bibliographic-data-wikidata.svg",
			"links": [
				{
					"label": "Islam in Benin",
					"url": "https://scholia.toolforge.org/topic/Q3155361"
				},
				{
					"label": "Islam in Burkina Faso",
					"url": "https://scholia.toolforge.org/topic/Q3081878"
				},
				{
					"label": "Islam in Côte d'Ivoire",
					"url": "https://scholia.toolforge.org/topic/Q4119820"
				},
				{
					"label": "Islam in Niger",
					"url": "https://scholia.toolforge.org/topic/Q3087639"
				},
				{
					"label": "Islam in Togo",
					"url": "https://scholia.toolforge.org/topic/Q522809"
				}
			]
		},
		{
			"id": "burkina-faso-digital-exhibits",
			"url": "https://www.frederickmadore.com/digital-humanities/burkina-faso-digital-exhibits",
			"title": "Digital Exhibits on Islam in Burkina Faso",
			"years": "2021",
			"shortDescription": "Two digital exhibits featuring curated materials from the Islam West Africa Collection, each with an interactive timeline, contextual narratives, and selective bibliography.",
			"description": "<p>These two digital exhibits bring together curated selections of materials from the <a href=\"https://islam.zmo.de/s/westafrica/page/home\" target=\"_blank\" rel=\"noopener noreferrer\"><em>Islam West Africa Collection</em></a> around specific themes. Each exhibit features an interactive timeline built with <a href=\"https://timeline.knightlab.com/\" target=\"_blank\" rel=\"noopener noreferrer\">TimelineJS</a>, contextual narratives to help interpret the primary sources, and a selective bibliography for further reading.</p><h2>Hajj in Burkina Faso</h2><p>This exhibit traces the history of the pilgrimage to Mecca (<em>hajj</em>) from Burkina Faso (formerly Upper Volta), drawing on newspaper articles from the Collection. The timeline covers the colonial period to the present, documenting topics such as early overland pilgrimages, colonial administration of the hajj, the evolution of state-organized pilgrimages after independence, and contemporary debates around hajj management.</p><h2>Student Activism in Burkina Faso</h2><p>This exhibit explores the emergence and development of Islamic student movements in Burkina Faso, with particular focus on the Association des Élèves et Étudiants Musulmans au Burkina (AEEMB). The timeline texts draw from my doctoral dissertation and trace the history of Muslim youth organizing from early groupings in Ouagadougou through the consolidation of francophone Muslim intellectual networks. The exhibit addresses themes including intergenerational dynamics within Islamic associations, the rise of reformist currents, and student engagement with broader questions of citizenship and religious authority.</p>",
			"skills": [
				"Timeline JS"
			],
			"image": "https://www.frederickmadore.com/images/digital-humanities/burkina-faso-digital-exhibits.webp",
			"embeddableContent": [
				{
					"type": "iframe",
					"id": "hajj-burkina-faso-timeline",
					"title": "Hajj in Burkina Faso",
					"src": "https://cdn.knightlab.com/libs/timeline3/latest/embed/index.html?source=1StFgUqQxqOMlo6GqiKGQWP2GC92W1YG51vHvoNijDdQ&font=Default&lang=en&initial_zoom=2&height=650",
					"height": "650px",
					"variant": "fixed",
					"showTitle": true
				},
				{
					"type": "iframe",
					"id": "student-activism-burkina-faso-timeline",
					"title": "Student activism in Burkina Faso",
					"src": "https://cdn.knightlab.com/libs/timeline3/latest/embed/index.html?source=1AmCWiL1QbMztXxJ48TXNUgaoodYc8aBFG-7dFsiz3jc&font=Default&lang=en&initial_zoom=2&height=650",
					"height": "650px",
					"variant": "fixed",
					"showTitle": true
				}
			],
			"links": [
				{
					"label": "site",
					"url": "https://islam.zmo.de/s/westafrica/page/hajj-bf"
				},
				{
					"label": "site",
					"url": "https://islam.zmo.de/s/westafrica/page/student-activism-bf"
				}
			]
		},
		{
			"id": "islam-burkina-faso-collection",
			"url": "https://www.frederickmadore.com/digital-humanities/islam-burkina-faso-collection",
			"title": "Islam Burkina Faso Collection",
			"years": "2018-2023",
			"shortDescription": "An open-access digital database developed to address a critical gap in research infrastructure for West African Islamic studies, containing over 2,900 documents on Islam and Muslims in Burkina Faso. Now archived within the Islam West Africa Collection (IWAC).",
			"description": "<p>The <em>Islam Burkina Faso Collection</em> is an open-access digital database that I developed between 2018 and 2023 to address a critical gap in research infrastructure for West African Islamic studies. The collection contains over 2,900 archival documents, newspaper articles, Islamic publications, and photographs documenting Islam and Muslims in Burkina Faso—materials that are often difficult or impossible to access outside, and sometimes even inside, the country.</p><p>Beyond primary sources, the database indexes more than 275 bibliographical references (books, chapters, journal articles, dissertations, and theses) and provides a comprehensive index of nearly 1,000 events, locations, organizations, people, and topics. Optical character recognition (OCR) has been applied to all documents, enabling full-text search across the entire collection.</p><p>The project was one of the first digital humanities initiatives published under <a href=\"https://librarypress.domains.uflib.ufl.edu/\" target=\"_blank\" rel=\"noopener noreferrer\">LibraryPress@UF</a>, a program of the University of Florida Libraries and University of Florida Press that develops public scholarship across digital formats.</p><p><strong>Note:</strong> The <em>Islam Burkina Faso Collection</em> served as the foundational project for my ongoing digital humanities work and has now been archived. All materials have been integrated into the expanded <a href=\"https://islam.zmo.de/s/westafrica/\" target=\"_blank\" rel=\"noopener noreferrer\"><em>Islam West Africa Collection (IWAC)</em></a>, which covers six countries and continues to grow.</p>",
			"skills": [
				"Omeka S",
				"Tesseract",
				"Metadata Standards",
				"OpenRefine",
				"Zotero",
				"Linked Data"
			],
			"award": "I won a <a href='https://etcl.uvic.ca/2023/01/17/2023-open-scholarship-awards/' target='_blank' rel='noopener noreferrer'>2023 Emerging Open Scholarship Award</a>, sponsored by the <a href='https://c-ski.ca/' target='_blank' rel='noopener noreferrer'>Canadian Social Knowledge Institute (C-SKI)</a> and its partners, for my work on the Islam Burkina Faso Collection.",
			"publication": {
				"text": "To learn more about this project, see Frédérick Madore, \"La Collection Islam Burkina Faso : promesses et défis des humanités numériques\". <em>Revue d'Histoire Contemporaine de l'Afrique</em> 2021.",
				"url": "https://doi.org/10.51185/journals/rhca.2021.e610"
			},
			"reviews": [
				{
					"text": "Robert Launay, \"Review: Islam Burkina Faso Collection\", <em>Reviews in Digital Humanities</em> 4, no. 4 (2023).",
					"url": "https://doi.org/10.21428/3e88f64f.89e71c81",
					"quote": "The collection is an invaluable research tool for scholars in or outside Burkina Faso, offering access to material that is difficult or impossible to find outside — and sometimes even inside — the country [...] The collection is an extremely important contribution and critical aid to scholarship on Islam in West Africa."
				},
				{
					"text": "Vincent Hiribarren, \"Review of Frédérick Madore 'Islam Burkina Faso Collection'\", <em>Mande Studies</em> 24 (2022): 325-27.",
					"url": "https://doi.org/10.2979/mnd.2022.a908483",
					"quote": "Obviously, this is an impressive achievement, and the project launched in 2021 by Frédérick Madore will become an increasingly useful repository since travel in and to Burkina Faso has become more difficult. [...] What the interface also clearly offers is a potential re-interpretation of the documents used by Madore and new possible enquiries for students and professional researchers. The two exhibitions available on the website demonstrate the potential of such an approach and the way the database can also become part of our teaching. [...] the Islam Burkina Faso Collection is already a fascinating resource with a significant potential for future researchers."
				}
			],
			"image": "https://www.frederickmadore.com/images/digital-humanities/islam-burkinafaso-banner.webp",
			"links": [
				{
					"label": "islam.domains.uflib.ufl.edu (Internet Archive)",
					"url": "https://web.archive.org/web/20240312164955/https://islam.domains.uflib.ufl.edu/s/bf/page/home"
				}
			]
		}
	]
}