Skip to main content

Create a project

Every labeling activity in AfriAnnotate happens inside a project. A project owns:

  • A labeling configuration (the XML that defines what tags annotators see).
  • A dataset of tasks (your imported data).
  • A workspace assignment (or "unassigned" at the org root).
  • A set of members with per-project roles (annotator, reviewer, manager).
  • Optional review + quality settings.

You need permission to create projects: Owner, Admin, or Manager in your organisation. Annotators and reviewers don't see the Create Project button.

Finding a project​

The search box on the Projects page looks through every project of your organisation that you can open, not only the page in view. It matches the project's title; a deployment's extensions can add what else a project is found by. Results appear as you type, and paging works on the results.

Quick path (the wizard)​

The fastest way is the three-step wizard:

  1. From the home page or sidebar, click + Create Project.
  2. Name the project. Optional: add a description, pick a workspace, pick a colour. The name is what shows up in the sidebar β€” keep it short.
  3. Labeling setup β€” pick a template (Text Classification, Named Entity Recognition, Image Bounding Box, Audio Transcription, etc.) or write your own XML config from scratch.
  4. Data import β€” drag in CSVs, JSON, images, audio. AfriAnnotate parses the file headers + warns inline if any of the labeling config's required $varname keys are missing from the uploaded data.
  5. Click Save.

The project is now live and you're on its dashboard.

Validation gate

If the wizard shows a per-file warning like "Missing fields: $image" on an uploaded card β€” the upload is fine but the labeling config expects a field that file doesn't have. Either edit the data so it has the column, or adjust the labeling config to match the data's column names. The Save button stays disabled until the mismatch is resolved.

Detailed walkthrough​

1. Naming + workspace​

  • Name is required, max 50 chars, must be unique within your organisation.
  • Description is optional; surfaced on the project list card.
  • Workspace groups related projects. Use workspaces for campaigns, languages, or whatever your team's natural unit is. See Workspaces.
  • Colour is purely visual; it tints the project's card on the home page + the dashboard chrome.
  • The plan (all optional): a one-line goal, a target in tasks, the languages, and a planned-by date. The data card and every datasheet open with it as the dataset's purpose, and Analytics, Delivery shows how the target is tracking. Edit it later on Settings, General (the Plan card).

2. Labeling setup​

You have two paths:

Templates β€” pick from the curated list by data type (Text, Image, Audio, Video, Time Series, Multi-modal, HTML, PDF, structured data). Each template is a working starter you can tweak. The visual editor on the right shows what annotators will see; the XML on the left is the source.

Custom config β€” start from a blank <View> and add tags from the tag library. The visual editor re-renders as you type valid XML.

You can save reusable starters as org templates so other project owners in your organisation can re-use them. See Labeling config.

3. Data import​

Three ways to get data in:

  • Drag-drop files (one or many) β€” supports CSV/TSV, JSON, JSONL, TXT, plus media (images / audio / video / PDF).
  • Paste a URL β€” fetches a single dataset from a publicly-reachable HTTPS endpoint.
  • Cloud storage β€” connect a GCS/S3/Azure bucket from project settings AFTER initial creation. See Cloud storage.

For CSVs, the wizard asks: treat as a list of tasks (one row per task, columns = data fields) or as time series (the whole file is one task). Get this wrong and the labeling config sees the wrong columns; the per-file validation card flags it.

4. Save​

Save commits the project + flips the draft flag. The wizard hides itself and you land on the project dashboard.

First save

Up to this point the project is in a draft state β€” no annotators see it, no tasks have been ingested. The wizard would have created a hidden draft project as soon as you opened it, which is why abandoning the wizard (Cancel or close-tab) reliably cleans up behind you. If you see ghost projects in your list, see Troubleshooting.

After creation: project settings​

Can't find a setting? Type it. The project dashboard and the Settings sidebar both carry a Find a setting… box β€” type what you want in your own words ("how many annotators per task", "who can see this project", "pay rates") and jump straight to the right tab. No need to learn which section holds what.

The Danger Zone entry (accept-all, cache reset, delete the project) lives at the very end of the dashboard page, deliberately separated from the everyday actions.

The Settings sidebar is seven groups and the Danger Zone: General (General, Visibility, Security), Labeling, Review & quality, Governance (Consent, Licensing, Contributions), Data (Cloud Storage, Hugging Face Hub), Models (Model, Predictions) and Sharing (Webhooks); installed extensions add their pages to the group they belong to. Find a setting searches across all of them.

From the project dashboard, Settings opens the per-project config:

  • General β€” name, description, workspace, colour.
  • Labeling Interface β€” edit the XML config live. If the edited setup shows a field that some of the project's tasks do not have, saving asks first and says how many tasks lack it; those tasks show the field empty until data with it is imported.
  • Instructions β€” markdown shown to annotators (and reviewers).
  • Annotation β€” labeling instructions, prelabeling from predictions, per-task region rules.
  • Quality β€” review workflow, agreement metrics, accept-/reject pipeline.
  • Members β€” add team members to the project + set their per- project role.
  • Cloud Storage β€” connect GCS/S3/Azure for tasks + uploaded files. Source storage feeds tasks in; target storage exports annotations out.
  • Webhooks β€” fire HTTP POSTs on project events (task created, annotation submitted, etc.).
  • Danger Zone β€” accept all pending, reset cache, drop tabs, delete the project.

Common gotchas​

The Save button is greyed out. See the FAQ for the gating rules.

Data Import tab is disabled. You haven't picked a labeling configuration yet. Pick one in the Labeling Setup tab first.

Project doesn't appear in my list. You're probably looking at a different organisation. The org switcher is in the bottom-left of the sidebar β€” switch orgs and re-check. Projects belong to ONE org and don't appear across orgs.

What's next​