Design a Feminist Chatbot

Brought by: FutureLearn

Overview

Discover the importance of feminism in generative ai

We live in an age of conversations powered by artificial intelligence. From customer service chatbots to bots that help you meditate, conversational interfaces are becoming part of our everyday lives.

Yet chatbots can easily reinforce harmful gender stereotypes or promote discriminatory behaviour if their designers aren’t careful.

On this four-week course, you’ll study feminism and its relationship to technology in order to help you build a feminist chatbot.

Explore gender bias and the problem of AI bias

By applying ideas from feminism to technology development, we can help people create products and services that promote equality and positive social change, rather than making social problems like inequality or prejudice worse.

You’ll explore the problem of bias and how it can be amplified in generative AI, such as chatbots. With this knowledge, you’ll start to unpack why AI bais matters and what kind of harm this can cause.

Learn how to apply feminist design principles

To help you explore how gender relates to technology, you’ll develop your understanding of feminism.

You’ll then gain an introduction to the feminist design tool to see a feminist chatbot design process in action. This practical exercise will help you understand how to design feminist chatbot conversations.

Gain prototyping and coding skills

Finally, you’ll learn basic coding skills to design and program a chatbot of your own. You’ll be guided step-by-step to learn how to prototype in code to create your chatbot prototype.

By the end of the course, you’ll know how to use feminist design tools to ensure you can design a chatbot that doesn’t reinforce bias.

This course is for anyone interested in the social implications of technology, specifically the ethical issues surrounding chatbot design.

People curious about coding would benefit from this course, as would academics in the feminist or tech communities.

You might also be interested in the other courses in the Essential Creative Technologies collection from UAL Creative Computing Institute, Lancaster University and the Institute of Coding.

We’ll be asking you to use some other online tools and platforms such as Glitch during the course.

Syllabus

  • Chatbots and the problem of bias
    • Getting started
    • What can chatbots do?
    • How do chatbots work?
    • How chatbots become biased
    • Why does AI bias matter?
    • Wrapping up Week 1
  • Applying feminist design principles
    • Introduction to Week 2
    • Introducing feminism
    • Developing feminist design processes
    • Understanding your stakeholders
    • Wrapping up Week 2
  • Designing chatbot conversations
    • Introduction to Week 3
    • How can conversation design be feminist?
    • Visualising stakeholders' experiences
    • Choosing what your chatbot will say
    • Wrapping up Week 3
  • Developing your prototyping skills
    • Introduction to Week 4
    • Using prototypes to test ideas
    • Creating your chatbot prototype
    • Wrapping up the course

Taught by

Rhiannon Knowles

Design a Feminist Chatbot
Go to course

Design a Feminist Chatbot

Brought by: FutureLearn

  • FutureLearn
  • Free
  • English
  • Certificate Available
  • Certain days
  • All
  • N/A
8.1.2PHP Version195msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (111ms)
    • Application (83.49ms)
    • 1 x Booting (56.87%)
      110.69ms
      1 x Application (42.89%)
      83.49ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      6 statements were executed4.52ms
      • select * from `courses` where `slug_en` = 'design-a-feminist-chatbot' limit 1
        3.08ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. design-a-feminist-chatbot
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-04-09 08:24:39' where `id` = 945
        310μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-09 08:24:39
        • 1. 945
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (95)
        220μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        190μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (4) and `providers`.`deleted_at` is null
        360μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 939 limit 1
        360μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 939
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        Or1DLj3inokfH3yPnsRxkQUqzoU6CR3pRHFvlbvn
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/design-a-feminist-chatbot" ]
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/design-a-feminist-chatbot
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "13.58.68.83" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "92d89bfd4925a1e8-MSP" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "x-forwarded-for" => array:1 [ 0 => "13.58.68.83" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "13.58.68.83" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "92d89bfd4925a1e8-MSP" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_X_FORWARDED_FOR" => "13.58.68.83" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "9172" "REMOTE_ADDR" => "162.158.137.196" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/en/courses/design-a-feminist-chatbot" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1744187079.5396 "REQUEST_TIME" => 1744187079 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Wed, 09 Apr 2025 08:24:39 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjFpdDFCZW5LSThXQ3Z3Qi92MmZuNmc9PSIsInZhbHVlIjoiNjBoaVFySjYyZlE2NkF5MkRvZGtOQ29HcHFqdHVmM0lNTVpDVjRlWkRUaTkzTmxvYXN6M0pHNVJGeHAyTGRhMFUreUVhSitSakE1dmZsaUpXUy93SnpCMWFzNDd1Ym9mWFg3YzVDbkhqQUZMcjBUMk93TVJMR3VGaVZwcjY2RWgiLCJtYWMiOiJkY2MwZDQxMWJhZGZiZjVkYzNmMGEwOWY1NjhkM2JlN2U4ODA0MTU5NTA1YjE4M2E2OWIzYWNmYTQ5NTMwOGJkIiwidGFnIjoiIn0%3D; expires=Wed, 09 Apr 2025 10:24:39 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IjFpdDFCZW5LSThXQ3Z3Qi92MmZuNmc9PSIsInZhbHVlIjoiNjBoaVFySjYyZlE2NkF5MkRvZGtOQ29HcHFqdHVmM0lNTVpDVjRlWkRUaTkzTmxvYXN6M0pHNVJGeHAyTGRhMFUreUVhS" 1 => "laravel_session=eyJpdiI6IjlBdUpRQ0x6cFZsRXcvejNGZkxwckE9PSIsInZhbHVlIjoicTg4cjNack9yOTFITmFJbmh5UmRzdnFqRmtpTlpzNGJVWjcxYUtKMmVMK0ZTWmZWNDVvd003Q0Y3cG5SL3RUSWsyYm5obGNweHFIZTFiQkcyaXRRWENrQkk0WXlrcVdMazcvaEpROWF0SXRGalorbGFRR0d6VlV3TEVRZDFKYlciLCJtYWMiOiI1OWNhOGYxNTNjZThhYTJjOWYwNzZhYzEyNmJmNDFkMjZhNWI4ZjE1MmZmMmUwZWY5ZTI0Y2Q0MDk3ZmY2NjI3IiwidGFnIjoiIn0%3D; expires=Wed, 09 Apr 2025 10:24:39 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IjlBdUpRQ0x6cFZsRXcvejNGZkxwckE9PSIsInZhbHVlIjoicTg4cjNack9yOTFITmFJbmh5UmRzdnFqRmtpTlpzNGJVWjcxYUtKMmVMK0ZTWmZWNDVvd003Q0Y3cG5SL3RUSWsy" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjFpdDFCZW5LSThXQ3Z3Qi92MmZuNmc9PSIsInZhbHVlIjoiNjBoaVFySjYyZlE2NkF5MkRvZGtOQ29HcHFqdHVmM0lNTVpDVjRlWkRUaTkzTmxvYXN6M0pHNVJGeHAyTGRhMFUreUVhSitSakE1dmZsaUpXUy93SnpCMWFzNDd1Ym9mWFg3YzVDbkhqQUZMcjBUMk93TVJMR3VGaVZwcjY2RWgiLCJtYWMiOiJkY2MwZDQxMWJhZGZiZjVkYzNmMGEwOWY1NjhkM2JlN2U4ODA0MTU5NTA1YjE4M2E2OWIzYWNmYTQ5NTMwOGJkIiwidGFnIjoiIn0%3D; expires=Wed, 09-Apr-2025 10:24:39 GMT; path=/XSRF-TOKEN=eyJpdiI6IjFpdDFCZW5LSThXQ3Z3Qi92MmZuNmc9PSIsInZhbHVlIjoiNjBoaVFySjYyZlE2NkF5MkRvZGtOQ29HcHFqdHVmM0lNTVpDVjRlWkRUaTkzTmxvYXN6M0pHNVJGeHAyTGRhMFUreUVhS" 1 => "laravel_session=eyJpdiI6IjlBdUpRQ0x6cFZsRXcvejNGZkxwckE9PSIsInZhbHVlIjoicTg4cjNack9yOTFITmFJbmh5UmRzdnFqRmtpTlpzNGJVWjcxYUtKMmVMK0ZTWmZWNDVvd003Q0Y3cG5SL3RUSWsyYm5obGNweHFIZTFiQkcyaXRRWENrQkk0WXlrcVdMazcvaEpROWF0SXRGalorbGFRR0d6VlV3TEVRZDFKYlciLCJtYWMiOiI1OWNhOGYxNTNjZThhYTJjOWYwNzZhYzEyNmJmNDFkMjZhNWI4ZjE1MmZmMmUwZWY5ZTI0Y2Q0MDk3ZmY2NjI3IiwidGFnIjoiIn0%3D; expires=Wed, 09-Apr-2025 10:24:39 GMT; path=/; httponlylaravel_session=eyJpdiI6IjlBdUpRQ0x6cFZsRXcvejNGZkxwckE9PSIsInZhbHVlIjoicTg4cjNack9yOTFITmFJbmh5UmRzdnFqRmtpTlpzNGJVWjcxYUtKMmVMK0ZTWmZWNDVvd003Q0Y3cG5SL3RUSWsy" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "Or1DLj3inokfH3yPnsRxkQUqzoU6CR3pRHFvlbvn" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/design-a-feminist-chatbot" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]