{
  "generatedFrom": "validated Astro content collections plus the published profile, education, credential, and earlier-work records",
  "policy": {
    "verificationStatus": "verified",
    "privacyClass": "public",
    "privateArchivesQueried": false
  },
  "records": [
    {
      "sourceId": "research:case-law-explorer",
      "title": "Case Law Explorer platform",
      "canonicalUrl": "/research/case-law-explorer",
      "sourceType": "research",
      "project": "case-law-explorer",
      "date": "2025–present",
      "status": "Active",
      "role": "Full-stack developer and researcher",
      "organizations": [
        "Brightlands Institute for Smart Society, Maastricht University",
        "BISS research and engineering teams"
      ],
      "capabilities": [
        "Search and retrieval systems",
        "Service architecture",
        "Authentication and authorization",
        "Rate limiting",
        "Docker and self-hosted deployment",
        "Cross-framework design systems"
      ],
      "collaborationTypes": [
        "Legal-data research",
        "Research software",
        "Data infrastructure"
      ],
      "locale": "en",
      "verificationStatus": "verified",
      "privacyClass": "public",
      "lastReviewed": "2026-08-25",
      "text": "A modular legal-research platform that joins court-data search, shared identity, scoped access, rate limits, APIs, and reproducible deployment. Role: Full-stack developer and researcher. Status: Active. Demonstrated capabilities: Search and retrieval systems, Service architecture, Authentication and authorization, Rate limiting, Docker and self-hosted deployment, Cross-framework design systems. System boundary Case Law Explorer is a legal data platform, not only a search screen. Its deployed request path is browser → SvelteKit server proxy → citations api → Postgres. Rechtspraak, HUDOC, and CELLAR enter through corpus specific extraction paths before converging on the cle v2 schema. Identity, entitlement, product delivery, and operations remain separate so that multiple research tools can share the corpus without sharing one application runtime. Contribution David's work spans the Case Law Explorer search experience, shared interface packages, the account service, scoped API access, rate enforcement, modularization, Docker based deployment, and server operations. It also includes work on the extraction and normalization path that supplies the research database. <div class=\"role note\" <strong Scope</strong The platform builds on earlier Case Law Explorer work and is developed within a wider Maastricht research ecosystem. David's stated scope does not imply sole authorship of the datasets or research programme. </div Consequential decisions One case relation, three corpus satellites. cases is the shared ECLI keyed entry point. rs document , echr document , and cjeu document retain corpus specific fields; case text stores language specific full text; and integer keyed case citation records the cross corpus graph. This avoids flattening source specific semantics into one oversized case table. Search and full text have different costs. The API exposes fifteen JSON routes across Rechtspraak, ECHR, CJEU, combined search and expansion, statistics, communities, summaries, and legal link resolution. Full text has a dedicated route per corpus, and the old generic /api/network route returns 410. The interface therefore loads large judgment bodies only when the reader asks for them. Identity is not entitlement. Keycloak establishes who the caller is. caselaw access separately decides whether that principal may use an endpoint, how much the route costs, which minute and daily limits apply, and why the request was allowed or denied. A valid identity therefore never silently becomes universal API access. Completeness travels with the graph. Cursor state, result caps, partialReasons , and statisticsSafe remain part of the API response. A truncated network cannot accidentally reach a centrality method while presenting itself as complete. Optional services remain optional in code. The core database, API, and frontend run without shared sign in or rate enforcement. Auth and access connect over explicit URLs and credentials; enabling one does not import it into every product runtime. Public search, guarded APIs, and research workspaces can therefore adopt different access postures without forking the corpus. Public and authenticated products share versioned interface primitives across Vue and Svelte. The deployment contract keeps each service replaceable and lets the search surface, research APIs, and internal workspaces evolve at different rates. Account export and erasure use subject bound, expiring service tokens on /internal/users/{subject} routes outside the public API prefix. Coolify composes the API, frontend, migrator, database, backup, signed SQL runner, and Airflow services; Airflow's bookkeeping remains in a different Postgres instance from the case law data. Ingestion CELLAR extraction is one component of this pipeline. European legal material is distributed across CELLAR, EUR Lex, InfoCuria, RDF records, and multiple document manifestations. The extractor retrieves base metadata, follows the public CELLAR SPARQL citation graph, and adds full text, summaries, keywords, provenance, and explicit missing data states. Separate paths cover CJEU style case law, national case law material, legislation, and consolidated versions. Outputs support both tabular research and graph ready node and edge projections. Missing values are retained with their causes because source absence, format drift, and incomplete enrichment affect the validity of downstream research. Evidence A live research interface at app.caselawexplorer.tech . Published JavaScript and Python packages for interface, ingestion, authentication, and access layers. Service specific repositories for extraction, API, shared UI, authentication, access policy, and deployment. Reproducible Docker configurations and documented operational boundaries. Reflection Good research infrastructure makes limits visible. Authentication remains optional where open access is appropriate; scopes and quotas are explicit where scarce resources need protection; and every service documents what it owns. Platform boundary: The public interface was checked alongside the local ingestion, API, identity, access, shared UI, and deployment repositories; this is a system scope, not a sole-authorship claim. Active service: The public research interface was reachable and serving the maintained application at review time. Contribution scope: The institutional profile names full-stack development and research; repository history supports the stated work across search, APIs, identity, access, shared UI, and deployment. Ingestion contract: The maintained package documents SPARQL metadata, citation enrichment, full text, provenance, explicit missing-data states, and graph-ready outputs as one ingestion component.",
      "evidence": [
        {
          "id": "cle-scope",
          "target": "summary",
          "label": "Platform boundary",
          "source": "Live Case Law Explorer and maintained service repositories",
          "reviewed": "2026-08-25",
          "attribution": "BISS research and engineering teams",
          "confidence": "high",
          "note": "The public interface was checked alongside the local ingestion, API, identity, access, shared UI, and deployment repositories; this is a system scope, not a sole-authorship claim.",
          "href": "https://app.caselawexplorer.tech"
        },
        {
          "id": "cle-status",
          "target": "status",
          "label": "Active service",
          "source": "Live Case Law Explorer interface",
          "reviewed": "2026-08-25",
          "attribution": "Brightlands Institute for Smart Society",
          "confidence": "high",
          "note": "The public research interface was reachable and serving the maintained application at review time.",
          "href": "https://app.caselawexplorer.tech"
        },
        {
          "id": "cle-role",
          "target": "role",
          "label": "Contribution scope",
          "source": "BISS institutional profile and repository contribution history",
          "reviewed": "2026-08-25",
          "attribution": "David Wicker within the wider BISS and Maastricht research teams",
          "confidence": "high",
          "note": "The institutional profile names full-stack development and research; repository history supports the stated work across search, APIs, identity, access, shared UI, and deployment.",
          "href": "https://www.biss-institute.com/en/team/david-wicker"
        },
        {
          "id": "cle-ingestion",
          "target": "result",
          "label": "Ingestion contract",
          "source": "Public CELLAR extraction package",
          "reviewed": "2026-08-25",
          "attribution": "Maastricht Law & Tech Lab contributors",
          "confidence": "high",
          "note": "The maintained package documents SPARQL metadata, citation enrichment, full text, provenance, explicit missing-data states, and graph-ready outputs as one ingestion component.",
          "href": "https://github.com/maastrichtlawtech/cellar-extractor"
        }
      ],
      "liveUrl": "https://app.caselawexplorer.tech"
    },
    {
      "sourceId": "projects:commonfold",
      "title": "Commonfold",
      "canonicalUrl": "/projects/commonfold",
      "sourceType": "project",
      "project": "commonfold",
      "date": "2026–present",
      "status": "Private product in active development",
      "role": "Product architecture, interaction design, and full-stack engineering",
      "organizations": [],
      "capabilities": [
        "Private retrieval systems",
        "Agent architecture",
        "Knowledge graphs",
        "Collaborative editing",
        "Privacy design"
      ],
      "collaborationTypes": [
        "Retrieval and evaluation",
        "Institutional knowledge systems",
        "Privacy-aware product architecture"
      ],
      "locale": "en",
      "verificationStatus": "verified",
      "privacyClass": "public",
      "lastReviewed": "2026-08-25",
      "text": "A private knowledge system where capture is reviewed before write, answers retain source receipts, and realtime collaboration never replaces recoverable Markdown. Role: Product architecture, interaction design, and full-stack engineering. Status: Private product in active development. Demonstrated capabilities: Private retrieval systems, Agent architecture, Knowledge graphs, Collaborative editing, Privacy design. Proposition Commonfold is a private knowledge system built around one entry point. A thought can become a reviewed capture; a question can become a source linked answer. Neither path hides the records or decisions underneath it. Architecture The current product uses Next.js 16 and React 19, Neon Postgres with pgvector and Drizzle, Claude for ingest planning and answers, OpenAI embeddings for semantic retrieval, Clerk identity, Liveblocks and Yjs for collaborative state, and TipTap with a Markdown source mode. Private content is scoped directly, or through its owning note or session, to an active space. A single notes table stores Markdown, folder, metadata, and a type drawn from the space's vocabulary. Wikilinks are extracted into queryable rows; 1,536 dimension chunks feed an HNSW cosine index. Keyword and semantic results are merged before the answer model sees them, and every returned source retains a route back to its note, conversation, or thread. Load bearing decisions Every durable knowledge object has a note representation; adjacent tables handle identities, membership, messages, and high mutation state. Capture can return skip, ask, or a create/update proposal; new types, folders, and unresolved entities remain reviewable before persistence. Entity resolution is a user decision: create a typed entity, link an existing note, or keep the phrase as text. Postgres is canonical. Yjs carries concurrent editor state but transient empty room state is prevented from overwriting a populated server copy. Version checkpoints attribute changes to a user, AI agent, or system operation and retain the instruction behind an AI authored revision. Export reconstructs folders, frontmatter, tags, and wikilinks as a round trippable Obsidian compatible Markdown vault. Privacy boundary The public site describes the system, not the contents of a private archive. It never queries a Commonfold vault or uses private notes as evidence. Reflection The hard part is not generating an answer. It is keeping capture reversible, retrieval attributable, collaborative edits recoverable, and the archive useful outside the product that created it. Those constraints shape the database, review interface, answer prompt, version history, and export format together. Product boundary: The public surface and application architecture support the stated capture, retrieval, source-grounding, canonical Postgres, and portable Markdown model. Private active product: The public website is live and the private application is under active development; no vault content was accessed or published. Product ownership: Repository history substantiates product architecture, interaction design, and full-stack engineering while keeping private records outside the public build.",
      "evidence": [
        {
          "id": "commonfold-scope",
          "target": "summary",
          "label": "Product boundary",
          "source": "Public product site and maintained application repository",
          "reviewed": "2026-08-25",
          "attribution": "David Henry Francis Wicker",
          "confidence": "high",
          "note": "The public surface and application architecture support the stated capture, retrieval, source-grounding, canonical Postgres, and portable Markdown model.",
          "href": "https://commonfold.space"
        },
        {
          "id": "commonfold-status",
          "target": "status",
          "label": "Private active product",
          "source": "Current production routing and application history",
          "reviewed": "2026-08-25",
          "attribution": "David Henry Francis Wicker",
          "confidence": "high",
          "note": "The public website is live and the private application is under active development; no vault content was accessed or published.",
          "href": "https://commonfold.space"
        },
        {
          "id": "commonfold-role",
          "target": "role",
          "label": "Product ownership",
          "source": "Application repository authorship and architecture records",
          "reviewed": "2026-08-25",
          "attribution": "David Henry Francis Wicker",
          "confidence": "high",
          "note": "Repository history substantiates product architecture, interaction design, and full-stack engineering while keeping private records outside the public build."
        }
      ],
      "liveUrl": "https://commonfold.space"
    },
    {
      "sourceId": "fieldwork:armenia-atlas",
      "title": "Contested evidence prototype",
      "canonicalUrl": "/fieldwork/armenia-atlas",
      "sourceType": "fieldwork",
      "project": "armenia-atlas",
      "date": "2024–present",
      "status": "Working prototype; research framing and verification in progress",
      "role": "Research design, data modelling, product design, and full-stack implementation",
      "organizations": [],
      "capabilities": [
        "Contested-claim modelling",
        "Citation infrastructure",
        "Human-audit workflow",
        "SvelteKit and PostgreSQL",
        "Graph and map interfaces"
      ],
      "collaborationTypes": [
        "Research infrastructure",
        "Source verification",
        "Contested-evidence methodology"
      ],
      "locale": "en",
      "verificationStatus": "verified",
      "privacyClass": "public",
      "lastReviewed": "2026-08-25",
      "text": "A working research-infrastructure prototype that binds politically sensitive claims to sources, locators, viewpoints, legal and policy records, and visible human-audit states. Role: Research design, data modelling, product design, and full-stack implementation. Status: Working prototype; research framing and verification in progress. Demonstrated capabilities: Contested-claim modelling, Citation infrastructure, Human-audit workflow, SvelteKit and PostgreSQL, Graph and map interfaces. Research problem Evidence in politically sensitive conflicts does not circulate in a neutral space. A factual statement, legal position, state narrative, policy response, or historical interpretation can describe the same event while depending on different institutions and standards of proof. Conventional narrative pages rarely expose that structure. This working prototype tests whether those dependencies can be made inspectable. Its current pilot concerns the Lachin corridor blockade, the September 2023 displacement from Nagorno Karabakh, and the EU and international response. The case is deliberately bounded; the system is not presented as a definitive history or a verified scholarly database. Implemented architecture The relational model connects events, places, people, parties, policies, legal rulings, heritage sites, sources, disputes, and viewpoints. Claim level citation anchors connect prose to source records and precise locators. Each claim can carry a role, status, source set, competing viewpoints, an editorial audit, and a human edited revision. The SvelteKit interface exposes those relationships through citation popovers, bibliographies, graph and map views, revision history, completeness metrics, short links, and research friendly CSV exports. PostgreSQL stores the records and audit trail; server side loaders resolve citations and apply verified revisions without silently replacing the original record. Verification model AI assisted drafting is treated as provisional material, not authority. A claim earns a verified state only after a person checks the source, locator, wording, and context. Other states—including corrected, disputed, rejected, unresolved, and unaudited—remain visible so that disagreement and correction are part of the method rather than hidden editorial residue. The next research phase narrows this into reviewable claim packets: claim text, sources, locators, current status, possible viewpoints, reviewer notes, and explicit confirm, correct, dispute, reject, or defer decisions. Why it matters here The work extends beyond cartography. It is an experiment in research infrastructure for source bound claims, human audited provenance, uncertainty, and correction. The Armenia–Azerbaijan case is the pilot through which that method is being tested, not the final intellectual boundary of the system. <div class=\"role note\" <strong Current boundary</strong The prototype, name, content, and institutional home remain provisional. It is not a Maastricht University project, a substitute for legal fact finding, or a verified scholarly resource unless an individual record is explicitly marked as human audited. </div",
      "evidence": [],
      "liveUrl": "https://armenia.wicker.life"
    },
    {
      "sourceId": "projects:hayeren",
      "title": "Hayeren",
      "canonicalUrl": "/projects/hayeren",
      "sourceType": "project",
      "project": "hayeren",
      "date": "2025–present",
      "status": "Live and in active development",
      "role": "Product design, language infrastructure, and full-stack engineering",
      "organizations": [],
      "capabilities": [
        "Multilingual product design",
        "Lexical data pipelines",
        "Learning systems",
        "Realtime collaboration",
        "AI tutoring and speech",
        "Web and native client architecture"
      ],
      "collaborationTypes": [
        "Language education",
        "Lexical data",
        "Institutional teaching tools"
      ],
      "locale": "en",
      "verificationStatus": "verified",
      "privacyClass": "public",
      "lastReviewed": "2026-08-25",
      "text": "An Eastern Armenian learning studio that connects a graded course, canonical grammar, an inflection-aware dictionary, an inspectable reader, spaced repetition, notebooks, tutoring, and classrooms. Role: Product design, language infrastructure, and full-stack engineering. Status: Live and in active development. Demonstrated capabilities: Multilingual product design, Lexical data pipelines, Learning systems, Realtime collaboration, AI tutoring and speech, Web and native client architecture. What was missing Eastern Armenian resources are often useful in isolation—a grammar, a word list, a reader—but learners still have to bridge between them. Hayeren treats those transitions as the product. What was built The public web platform includes a CEFR graded course, canonical grammar, a dictionary where inflected forms resolve to lemmas, a reader where every word can be inspected, spaced repetition, a linked notebook, an AI tutor, and classroom collaboration. The wider system includes an Expo client, a separate Swift implementation, reusable content and API packages, authored grammar and reading pipelines, lexicon import and validation tooling, and generated pronunciation audio kept in private Vercel Blob storage. The current Expo client deliberately proves the package split through authentication and a 399 word offline dictionary; it does not claim feature parity with the web application. Technical shape React and Vite power the web client. Vercel functions connect Neon Postgres and Neon Auth, Liveblocks/Yjs note rooms, OpenAI tutoring and speech, and private generated audio storage. The application does not let each client invent its own learning model. @hayeren/core carries morphology, spaced repetition scheduling, mastery, and permission rules; @hayeren/api client provides the typed transport boundary. Reviewed Markdown and source data generate the content package, while shared design values generate the token package used across web and native surfaces. Authentication stays first party at the browser boundary. /api/auth/ proxies Neon Auth so the session cookie remains first party; authenticated API calls carry a bearer token verified against Neon Auth JWKS. Durable progress, note projections, comments, memberships, and coursework live in Postgres rather than browser storage. Active shared Y.Doc state lives in Liveblocks, while private generated audio lives in Vercel Blob. The lexicon retains the relationship between an encountered surface form and its stable lemma. A dictionary forms mapping can therefore return the same entry—with lect, provenance, normalized senses, frequency, pronunciation, and valency—from the reader, direct dictionary search, review queues, and authoring tools. The maintained lexicon v2 measurement records 188,001 Eastern entries and 713,312 Eastern inflected forms; those are branch scoped dataset counts, not usage metrics. Realtime is deliberately narrower than collaboration. An unshared owner and every read only visitor render the Neon projection without opening a paid room. When a page is shared and the caller has edit access, api/collab.ts authorizes a Liveblocks room, presence elects one browser to persist the projection, and a ten minute Vercel Cron reconciles shared rooms back into Neon. The room is the live editing representation; the lossless projection is the durable read and recovery representation. Guard scripts check content, SQL, package boundaries, CSP, tokens, and component conventions as part of the build. Product principle The interface makes Armenian text primary. Explanations appear at the point of need, and the same lexical record supports reading, dictionary lookup, review, authoring, and teaching. Current work The active direction joins individual learning and institutional teaching: shared notebooks, classrooms, reusable course content, and a language data layer that can improve as source coverage grows. Product boundary: The live product and local codebases support the stated course, grammar, lexicon, reader, review, notebook, tutoring, classroom, and native-client scope. Live product: The public site was reachable and the actively maintained application repository contained current product work at review time. Design and engineering: Repository history supports the stated ownership of product design, language infrastructure, and full-stack implementation without exposing private product data. Shared learning model: Shared morphology, scheduling, mastery, permissions, typed transport, authored content, and token packages are verified in code rather than inferred from the public interface.",
      "evidence": [
        {
          "id": "hayeren-scope",
          "target": "summary",
          "label": "Product boundary",
          "source": "Live product and maintained web, native, and language-data repositories",
          "reviewed": "2026-08-25",
          "attribution": "David Henry Francis Wicker",
          "confidence": "high",
          "note": "The live product and local codebases support the stated course, grammar, lexicon, reader, review, notebook, tutoring, classroom, and native-client scope.",
          "href": "https://hayeren.io"
        },
        {
          "id": "hayeren-status",
          "target": "status",
          "label": "Live product",
          "source": "hayeren.io production interface and current deployment code",
          "reviewed": "2026-08-25",
          "attribution": "David Henry Francis Wicker",
          "confidence": "high",
          "note": "The public site was reachable and the actively maintained application repository contained current product work at review time.",
          "href": "https://hayeren.io"
        },
        {
          "id": "hayeren-role",
          "target": "role",
          "label": "Design and engineering",
          "source": "Repository authorship across the web, iOS, React Native, and language-data codebases",
          "reviewed": "2026-08-25",
          "attribution": "David Henry Francis Wicker",
          "confidence": "high",
          "note": "Repository history supports the stated ownership of product design, language infrastructure, and full-stack implementation without exposing private product data."
        },
        {
          "id": "hayeren-architecture",
          "target": "result",
          "label": "Shared learning model",
          "source": "Production package boundaries, migrations, and build guards",
          "reviewed": "2026-08-25",
          "attribution": "David Henry Francis Wicker",
          "confidence": "high",
          "note": "Shared morphology, scheduling, mastery, permissions, typed transport, authored content, and token packages are verified in code rather than inferred from the public interface.",
          "href": "https://hayeren.io"
        }
      ],
      "liveUrl": "https://hayeren.io"
    },
    {
      "sourceId": "projects:mobility-in-change",
      "title": "Mobility in Change",
      "canonicalUrl": "/projects/mobility-in-change",
      "sourceType": "project",
      "project": "mobility-in-change",
      "date": "2026",
      "status": "Live platform; current inquiry revision pending promotion",
      "role": "Design, content architecture, and full-stack implementation",
      "organizations": [
        "Mobility in Change"
      ],
      "capabilities": [
        "Client discovery experience",
        "Multilingual brand implementation",
        "Responsive art direction",
        "Qualified inquiry design",
        "Client-owned publishing"
      ],
      "collaborationTypes": [
        "Multilingual client platforms",
        "Editorial systems",
        "Qualified inquiry design"
      ],
      "locale": "en",
      "verificationStatus": "verified",
      "privacyClass": "public",
      "lastReviewed": "2026-08-25",
      "text": "Client work for Mobility in Change: a complete digital presence, guided inquiry journey, and publishing system designed and built around how the consultancy works with prospective clients. Role: Design, content architecture, and full-stack implementation. Status: Live platform; current inquiry revision pending promotion. Demonstrated capabilities: Client discovery experience, Multilingual brand implementation, Responsive art direction, Qualified inquiry design, Client-owned publishing. Brief Mobility in Change commissioned a digital presence that could represent the consultancy credibly, explain its work to prospective clients, and turn an initially unclear business need into a useful first conversation. Visitors often arrive with a commercial, organizational, or sustainability problem before they know which service name applies. Contribution David led the client work from information architecture and visual direction through full stack implementation. He designed the public experience and inquiry journey, built the production platform, and delivered an authenticated publishing workspace so the client can maintain the site without surrendering editorial control. Public experience The homepage does not begin with a catalogue of services. It establishes the Italy–Germany context, frames two practices, introduces Christine’s relevant experience, explains the working approach, and then asks the visitor to describe the need. Italian, English, German, and French routes carry the same structure with reviewed local copy and localized metadata. The language switcher preserves the current pathname, query, and fragment, so changing language does not discard the task a visitor was performing. The visual system uses a bright industrial palette, large Manrope typography, real founder credibility, and a single five second Higgsfield ambient film. The film is silent and nearly static. Reduced motion and data saving visitors receive the poster without first downloading the video. Inquiry design The latest maintained revision replaces a public booking calendar with a three step inquiry: need and market context, timing and readiness, then contact details and the preferred response. A visitor can explicitly say the problem is still unclear. Christine reviews every genuine submission and may reply with questions, an initial direction, or a private scheduling link. That inquiry revision is currently one commit ahead of the production branch reviewed on 25 August 2026 and still requires the documented production migration, mailbox, and release checks before promotion. Client control The administrator edits the actual public page inside a framed preview, switching page, locale, and desktop, tablet, or mobile width. A double click selects public text or media. Generated translations remain drafts; all four locale values must be present before save, and revision history provides restore. Versioned locale dictionaries remain a deployable fallback. Approved live text overlays them at render time, while replaceable images, localized alt text, and the ambient film are assigned through named media slots. Result The result is client work that extends beyond a marketing website: brand expression, service explanation, inquiry qualification, and day to day publishing form one maintained product. Its interface reflects the consultancy itself—understand the context before proposing the next step. Platform scope: The production surface and maintained code support the client strategy, responsive public experience, service information architecture, guided inquiry, localized routes, and client editing workflow described here. Delivered service: The four-locale public site was live at review time. Local main was one commit ahead of the production branch with the qualified inquiry revision and its deployment checklist. Delivery contribution: The implementation history supports the stated design, content architecture, and full-stack delivery role without publishing client administration data or private requests.",
      "evidence": [
        {
          "id": "mobility-scope",
          "target": "summary",
          "label": "Platform scope",
          "source": "Live multilingual site and maintained delivery repository",
          "reviewed": "2026-08-25",
          "attribution": "Mobility in Change and David Henry Francis Wicker",
          "confidence": "high",
          "note": "The production surface and maintained code support the client strategy, responsive public experience, service information architecture, guided inquiry, localized routes, and client editing workflow described here.",
          "href": "https://mobilityinchange.com"
        },
        {
          "id": "mobility-status",
          "target": "status",
          "label": "Delivered service",
          "source": "Production site and current maintenance history",
          "reviewed": "2026-08-25",
          "attribution": "Mobility in Change",
          "confidence": "high",
          "note": "The four-locale public site was live at review time. Local main was one commit ahead of the production branch with the qualified inquiry revision and its deployment checklist.",
          "href": "https://mobilityinchange.com"
        },
        {
          "id": "mobility-role",
          "target": "role",
          "label": "Delivery contribution",
          "source": "Repository history and production implementation",
          "reviewed": "2026-08-25",
          "attribution": "David Henry Francis Wicker for Mobility in Change",
          "confidence": "high",
          "note": "The implementation history supports the stated design, content architecture, and full-stack delivery role without publishing client administration data or private requests."
        }
      ],
      "liveUrl": "https://mobilityinchange.com"
    },
    {
      "sourceId": "fieldwork:west-bank-atlas",
      "title": "West Bank fieldwork and atlas",
      "canonicalUrl": "/fieldwork/west-bank-atlas",
      "sourceType": "fieldwork",
      "project": "west-bank-atlas",
      "date": "April 2025",
      "status": "Public atlas in development",
      "role": "Field research, photography, mapping, and publishing",
      "organizations": [],
      "capabilities": [
        "Documentary fieldwork",
        "Cartography",
        "Evidence infrastructure",
        "Editorial photography"
      ],
      "collaborationTypes": [
        "Documentary publishing",
        "Evidence-aware mapping",
        "Public-interest research"
      ],
      "locale": "en",
      "verificationStatus": "verified",
      "privacyClass": "public",
      "lastReviewed": "2026-08-25",
      "text": "Documentary fieldwork organized into a 56-location atlas and an institutional record, with publication separated from the private source archive. Role: Field research, photography, mapping, and publishing. Status: Public atlas in development. Demonstrated capabilities: Documentary fieldwork, Cartography, Evidence infrastructure, Editorial photography. Fieldwork In April 2025, David documented 56 locations across the West Bank. The public work connects photographs, structured observations, mapping, and contextual notes so that individual records can be understood as part of a wider geography. Documentary infrastructure The atlas is not a generic travel gallery. It treats location records, captions, source notes, and publication states as a connected editorial system. Public derivatives are separated from the private master archive. Privacy and rights Every selected image requires a caption, creator and rights record, sensitivity review, and consent status where a person is identifiable. Public derivatives must be stripped of EXIF and GPS metadata. No documentary frame is generated, extended, or restaged. Current publication state The atlas is public and remains in active development. Four processed, watermarked gallery images are reproduced here; original captures stay outside this repository. Documentary images are never generated, extended, or replaced with synthetic stand ins. Typed field gallery and focus-area links: The source defines the featured public sequence, section metadata, focus slugs, image variants, and April 2025 capture period. Public atlas build: The exhibition is publicly accessible and remains an actively developed atlas. Creator watermark and repository ownership: Public derivatives carry the creator watermark; the repository documents the implemented atlas and field-gallery pipeline.",
      "evidence": [
        {
          "id": "west-bank-atlas-summary",
          "target": "summary",
          "label": "Typed field gallery and focus-area links",
          "source": "Palestine Atlas useFieldGallery composable",
          "reviewed": "2026-08-25",
          "attribution": "David Henry Francis Wicker",
          "confidence": "high",
          "note": "The source defines the featured public sequence, section metadata, focus slugs, image variants, and April 2025 capture period.",
          "href": "https://github.com/davidwickerhf/palestine-atlas/blob/27392125f8bef4e38ced6840061dafec34de6bbf/app/composables/useFieldGallery.ts"
        },
        {
          "id": "west-bank-atlas-status",
          "target": "status",
          "label": "Public atlas build",
          "source": "Palestine Atlas live deployment",
          "reviewed": "2026-08-25",
          "attribution": "David Henry Francis Wicker",
          "confidence": "high",
          "note": "The exhibition is publicly accessible and remains an actively developed atlas.",
          "href": "https://palestine.wicker.life"
        },
        {
          "id": "west-bank-atlas-role",
          "target": "role",
          "label": "Creator watermark and repository ownership",
          "source": "Public gallery derivatives and source repository",
          "reviewed": "2026-08-25",
          "attribution": "David Henry Francis Wicker",
          "confidence": "qualified",
          "note": "Public derivatives carry the creator watermark; the repository documents the implemented atlas and field-gallery pipeline.",
          "href": "https://github.com/davidwickerhf/palestine-atlas"
        }
      ],
      "liveUrl": "https://palestine.wicker.life"
    },
    {
      "sourceId": "research:centrality-methods",
      "title": "Why some judgments matter more than others",
      "canonicalUrl": "/research/centrality-methods",
      "sourceType": "research",
      "project": "centrality-methods",
      "date": "2026",
      "status": "Accepted · ICAIL 2026",
      "role": "Full-stack developer and researcher",
      "organizations": [
        "Brightlands Institute for Smart Society, Maastricht University",
        "Gijs van Dijck"
      ],
      "capabilities": [
        "Network analysis",
        "Computational legal studies",
        "Reproducible research",
        "Scientific Python"
      ],
      "collaborationTypes": [
        "Citation-network methods",
        "Reproducible legal research",
        "Research visualization"
      ],
      "locale": "en",
      "verificationStatus": "verified",
      "privacyClass": "public",
      "lastReviewed": "2026-08-25",
      "text": "A reproducible comparison of centrality methods for citation networks in European human-rights case law. Role: Full-stack developer and researcher. Status: Accepted · ICAIL 2026. Demonstrated capabilities: Network analysis, Computational legal studies, Reproducible research, Scientific Python. Research question Citation counts flatten a judgment’s position in the wider legal network. This study tests when composite centrality measures outperform their individual components across unbalanced and ground truth balanced ECHR citation subnetworks. The methodological boundary The repository has two supported depths. make from metadata rebuilds citation edges and article edge networks from the canonical ECHR metadata export. The paper facing analyses deliberately start later, at fixed centrality enriched total df.csv bundles, so make paper results can regenerate the statistical tables, threshold tests, network family comparisons, priority comparison, and figures without recomputing every centrality result. That checkpoint is an explicit reproducibility decision: expensive network construction remains inspectable, while the claims made in the manuscript can be rerun quickly from stable inputs. What the comparisons found Across 66 subnetworks, Degree + Eigenvector composites beat their individual components in 45 networks against the importance ground truth and 43 against doctypebranch . Degree + InDegree won 45 of 66 under both ground truths. The optimized Degree + Eigenvector weighting changed from 0.30 to 0.35 between those ground truths, evidence that the ranking is contingent on what “important” is taken to mean. The alternative that prioritised lower relevance cases performed better in only 1 of 18 comparisons; the higher relevance approach performed better in 17, with an average difference of −31.6% for the low relevance variant. Traceability and contribution I worked across the research code and its reproducibility layer: metadata processing, citation edge and network generation, centrality experiments, comparison scripts, result packaging, and the claim to artifact map. Each retained quantitative claim is paired with the script that produces it and the concrete CSV, JSON, or figure output that supports it. Active scripts live under scripts/ ; notebook era and superseded experiment families are isolated under archive/ rather than left in the executable path. Publication state The paper, by Gijs van Dijck and David Henry Francis Wicker, is accepted for ICAIL 2026 . Final proceedings publication is pending and no DOI has been assigned yet. The complete citation, DOI, and public manuscript link will be added when released. Interpretation limits Centrality does not establish an objective legal importance ranking. The result depends on network construction, the selected ground truth, the measures combined, and the threshold used to combine them. The contribution is therefore not a universal winner; it is an inspectable account of how those decisions change which judgments move from peripheral to central. Research scope: The repository separates network reconstruction, fixed analysis inputs, paper-facing scripts, outputs, and archived experiment families. Publication state: Accepted for ICAIL 2026; final proceedings publication remains pending, so no DOI or public manuscript link is claimed. Authorship and implementation: The manuscript names both authors; the repository history substantiates David's work across the research code and reproducibility layer. Quantitative claims: Thresholds, aggregate wins, and priority comparisons are paired with the executable script and CSV, JSON, or figure output that produces each retained claim.",
      "evidence": [
        {
          "id": "centrality-scope",
          "target": "summary",
          "label": "Research scope",
          "source": "Reproducibility repository, manuscript, and traceability map",
          "reviewed": "2026-08-25",
          "attribution": "Gijs van Dijck and David Henry Francis Wicker",
          "confidence": "high",
          "note": "The repository separates network reconstruction, fixed analysis inputs, paper-facing scripts, outputs, and archived experiment families.",
          "href": "https://github.com/davidwickerhf/rankings"
        },
        {
          "id": "centrality-status",
          "target": "status",
          "label": "Publication state",
          "source": "Author confirmation and acceptance correspondence",
          "reviewed": "2026-08-25",
          "attribution": "Gijs van Dijck and David Henry Francis Wicker",
          "confidence": "high",
          "note": "Accepted for ICAIL 2026; final proceedings publication remains pending, so no DOI or public manuscript link is claimed."
        },
        {
          "id": "centrality-role",
          "target": "role",
          "label": "Authorship and implementation",
          "source": "Manuscript author list and repository history",
          "reviewed": "2026-08-25",
          "attribution": "Gijs van Dijck and David Henry Francis Wicker",
          "confidence": "high",
          "note": "The manuscript names both authors; the repository history substantiates David's work across the research code and reproducibility layer.",
          "href": "https://github.com/davidwickerhf/rankings"
        },
        {
          "id": "centrality-results",
          "target": "result",
          "label": "Quantitative claims",
          "source": "Claim-to-artifact map and generated result bundle",
          "reviewed": "2026-08-25",
          "attribution": "Paper analysis outputs",
          "confidence": "high",
          "note": "Thresholds, aggregate wins, and priority comparisons are paired with the executable script and CSV, JSON, or figure output that produces each retained claim.",
          "href": "https://github.com/davidwickerhf/rankings/blob/main/docs/TRACEABILITY.md"
        }
      ],
      "liveUrl": "https://github.com/davidwickerhf/rankings"
    }
  ],
  "profileRecords": [
    {
      "id": "profile:current-practice",
      "title": "Profile and current practice",
      "url": "/about",
      "kind": "profile",
      "date": "2026",
      "status": "Current public profile",
      "text": "Full-stack developer and researcher building legal research infrastructure, multilingual products, and public-interest software in Maastricht. At the Brightlands Institute for Smart Society, I work on Case Law Explorer and its surrounding services: source ingestion, normalized legal data, citation and semantic search APIs, authentication, rate limiting, containerized deployment, and the interfaces researchers use. Outside BISS, I build Hayeren, an Eastern Armenian learning platform, and Commonfold, a private knowledge system. I also deliver client strategy, design, and full-stack product work for Mobility in Change and coordinate educational work through Code.X. Legal research systems Citation networks, semantic retrieval, extraction, normalized data, APIs, access policy, and deployment. Language and knowledge products Hayeren and Commonfold connect careful data models to everyday reading, study, and memory. Institutional pathways University coordination and educational access for students affected by conflict, with strict privacy boundaries. Documentary and spatial practice Photography, public-history records, maps, and rights-aware publishing across physical places. 2026– Full-stack developer and researcher · BISS Legal research software, citation networks, semantic retrieval, and operated platform infrastructure. 2025– Hayeren, Commonfold, and Code.X Language infrastructure, private knowledge tools, mentorship coordination, and teaching for children in Gaza. 2024– Research and university pathways Law & Tech research, student representation, and institutional support for conflict-affected students. 2021–22 UWC Dilijan · Armenia International education, photography, sustainability work, outdoor leadership, and TEDxYouth organisation. 2019–21 Climate organising · Turin and international Fridays for Future organising, public speaking, a municipal climate-emergency motion, and documentary participation."
    },
    {
      "id": "profile:curriculum-vitae",
      "title": "Curriculum vitae",
      "url": "/cv",
      "kind": "background",
      "date": "2018–2026",
      "status": "Current public CV",
      "text": "David Wicker is a research assistant and full-stack developer in Maastricht working across legal technology, research software, language infrastructure, climate and documentary systems, and educational access. Law & Tech Lab, Maastricht University: research assistant, 2024–present, combining law and computer-science methods in research on digital transformation and legal technology, including citation-network analysis and research tooling for European case law. Brightlands Institute for Smart Society, Maastricht University: full-stack developer and researcher. Builds Case Law Explorer search interfaces, source extraction and normalization, legal-data APIs, shared product infrastructure, authentication, scoped access, rate enforcement, and Dockerized deployment. Research includes citation analysis, network methods, semantic search, and retrieval-augmented systems. Why Some Judgments Matter More Than Others: Advancing Network Centrality Analysis, with Gijs van Dijck, is accepted for ICAIL 2026; final proceedings publication is pending and no DOI has been assigned. Faculty of Science and Engineering, Maastricht University: student ambassador, 2024–present, representing the faculty, supporting events, and contributing to student engagement. Tap2: full-stack developer, 2024, developing and maintaining a hospitality platform for streamlined digital interactions and user engagement. Mediamente Consulting: intern, 2022, designed and programmed an internal company-car booking system. Independent products and practice: Hayeren language-learning infrastructure, Commonfold private knowledge tooling, documentary atlases, and client strategy, design, and full-stack delivery for Mobility in Change. Volunteering: lead coordinator for the Code.X Mentorship Program; volunteer full-stack developer for NewsCord; English and coding tutor through Code.X; institutional and student support for university pathways. Individual student material remains private. Education: BSc Computer Science at Maastricht University, 2023–2026; Applied Sciences at IIS Blaise Pascal, 2018–2023; International Baccalaureate DP1 at United World College Dilijan, 2021–2022. Awards: partial scholarship to UWC Dilijan through the Italian UWC committee in 2020; merit academic scholarships at IIS Blaise Pascal; Honorable Mention and Best Delegate at Turin Model United Nations in 2019. Technical range: Python, TypeScript, SQL, PostgreSQL, Vue, Svelte, React, Astro, data extraction and normalization, citation and graph analysis, authentication and authorization services, Dockerized deployment, and server operations."
    },
    {
      "id": "profile:education-credentials",
      "title": "Education, languages, and credentials",
      "url": "/learning",
      "kind": "background",
      "date": "2017–2026",
      "status": "Public record",
      "text": "2023–2026 Maastricht University BSc Computer Science Maastricht, the Netherlands · degree in progress 2021–2022 United World College Dilijan International Baccalaureate · DP1 Dilijan, Armenia · partial scholarship through UWC Italy 2018–2023 I.I.S. “Blaise Pascal” Applied Sciences diploma Giaveno, Italy · merit scholarships in 2018–19 and 2019–20 Italian Native Primary language English C2 Cambridge Advanced · Grade A, 2022 German B1 Goethe-Zertifikat, 2019 Arabic A2 Current learning level, 2025 Eastern Armenian Learning Language study informs Hayeren’s product design 2022 Certificate in Advanced English Cambridge English Grade A · 205/210 · CEFR C2 2019 Goethe-Zertifikat B1 Goethe-Institut CEFR B1 2018 First Certificate in English Cambridge English Grade A · 186/190 · CEFR C1 2017 Key English Test Cambridge English Pass with Distinction · 150/150 · CEFR B1 2021 CS50's Introduction to Artificial Intelligence with Python HarvardX  2021 6.00.1x: Introduction to Computer Science and Programming Using Python MITx  2025 Deep Learning Neuromatch Academy  2022 Oxford School of Climate Change Oxford Climate Society  2022 Object Oriented PHP & MVC Udemy  2022 MERN Stack Front to Back Udemy  2021 Flutter & Dart — The Complete Guide Udemy  2020 Java Programming Masterclass Udemy  2019 Complete Python Bootcamp Udemy "
    },
    {
      "id": "profile:earlier-work",
      "title": "Earlier software, organising, and teaching",
      "url": "/archive",
      "kind": "background",
      "date": "2019–2025",
      "status": "Public archive",
      "text": "2025– Code.X mentorship and teaching Lead coordinator · English and coding tutor Coordinates mentoring and delivers adapted English and introductory coding lessons for children in Gaza. 2022 TEDxYouth at UWC Dilijan Organising team · logistics and coordination Worked with students to produce a youth conference in Dilijan, coordinating tasks and event logistics. 2021–22 Sustainability and outdoor leadership · UWC Dilijan Committee member · outdoor leadership Worked on school sustainability initiatives, visual documentation, and outdoor activities while studying in Armenia. 2021 TED Countdown Summit · Edinburgh Invitee representing youth climate organising Joined international activists at the climate summit and contributed to discussions about movement strategy and accountability. 2019–21 Fridays for Future · Turin, Italy, and international network Local founder · national and international coordination Helped establish the Turin group, contributed to Italian coordination and digital infrastructure, and represented the network at European meetings and strikes. 2019 European climate meetings and public action Italian youth delegate Participated in meetings in Strasbourg, Brussels, Aachen, and Lausanne, connecting emerging local groups across borders. 2019 Climate-emergency motions Co-author and municipal advocate Co-drafted motions for Buttigliera Alta and Turin, working with local representatives to turn movement demands into municipal proposals. 2019–21 Computer-science tutoring · Blaise Pascal Student tutor Provided in-person and online support for students, coordinating lesson topics with the school’s computer-science teacher. 2024 NoteNest SvelteKit · TypeScript · Markdown An AI-assisted Markdown notebook and task tracker exploring structured notes, local writing, and retrieval. 2023 Mai Checkers Next.js · Three.js · Jotai An online 3D checkers game with typed board state, recursive move discovery, and Blender-authored pieces. 2022 Mai Letters Next.js · TypeScript · Jotai A personal online treasure hunt built as a sequence of puzzles, clues, and letters. 2021 Mai Choices Flutter · Dart An Android decision journal designed to help students categorize choices and reflect on recurring patterns. 2020 InstaClient Python · Selenium An early open-source Python automation library that provided programmatic access to Instagram interactions. 2023 The Revolution Will Not Be Litigated Interview contribution David’s experience in youth climate organising was included through an interview in the book edited by Katie Redford and Mark Gevisser. 2021 Stone Soup for a Sustainable World Profiled climate activist One of the young organisers profiled in Marianne Larned’s collection of climate-action stories. 2020 Ragazzi Irresponsabili Documentary participant Participated throughout the production of Ezio Maisto’s documentary about young people in the Italian climate movement."
    },
    {
      "id": "profile:collaboration",
      "title": "Collaboration routes",
      "url": "/collaborate",
      "kind": "collaboration",
      "date": "2026",
      "status": "Current contact route",
      "text": "David is a full-stack developer and researcher based in Maastricht, Limburg, the Netherlands. He is a strong fit for legal-data systems, research software, reproducible computational research, multilingual product infrastructure, source-aware retrieval, public-interest software, documentary mapping, and client platforms. He can discuss Maastricht- and Limburg-based work as well as remote collaboration. Current availability, commercial scope, institutional constraints, timelines, and fees require a direct conversation."
    }
  ]
}