Skip to main content

Overview

Community Voices is a storytelling platform that amplifies the lived experiences, hopes, challenges, and triumphs of individuals in Dzaleka Refugee Camp. Through personal narratives, the platform humanizes refugee experiences, challenges stereotypes, and creates a digital archive of community history.
Community Voices focuses on first-person narratives that give agency to refugees to tell their own stories in their own words, countering mainstream media portrayals.

Purpose & Impact

Why Community Voices Matters

Dignity & Agency

Refugees control their own narratives instead of being subjects of others’ stories

Historical Archive

Preserves community memories and experiences for future generations

Advocacy Tool

Personal stories influence policy, challenge misconceptions, drive social change

Community Connection

Shared experiences build solidarity and mutual understanding within the camp

Story Categories

  • Journey - Migration stories, fleeing conflict, arriving in Malawi
  • Daily Life - Experiences of camp life, challenges, routines
  • Education - Pursuing learning despite obstacles
  • Entrepreneurship - Starting businesses, economic resilience
  • Art & Culture - Preserving heritage, creative expression
  • Advocacy - Speaking out for refugee rights and dignity
  • Hope & Dreams - Aspirations, future goals, resilience
  • Stories - General personal narratives

User Experience

Reading Stories

1

Discover Stories

Browse featured stories on homepage or navigate to dedicated section (if implemented)
2

Immersive Reading

Full-screen article layout with hero image, title, and author introduction
3

Explore Related Stories

View 3 related stories from the same category at the bottom of each article
4

Share & Engage

Social sharing buttons (if implemented) to amplify voices beyond the platform

Story Page Elements

Each story (/community-voices/[slug]) features:
  • Hero section: Large featured image with gradient overlay
  • Title & excerpt: Compelling headline and summary
  • Author byline: Name and date published
  • Category badge: Story classification
  • Full narrative: Long-form content with rich formatting
  • Tags: Keywords for discovery (#journey, #hope, #resilience)
  • Related stories: 3 similar narratives from same category
Ethical Storytelling: All stories require explicit consent from subjects. Authors have final approval over edits. Sensitive content is handled with care to protect dignity and safety.

Content Schema

Stories stored in src/content/community-voices/ as Markdown:

Real Example from Source

From divineirakoze.md:
With powerful markdown content:
Divine’s story (24 lines total) discusses:
  • Challenges of refugee life in Dzaleka
  • Restrictions on work and movement
  • Impact on youth unemployment and mental health
  • Food insecurity and basic needs
  • Her advocacy dreams and hope for the future
See full text in src/content/community-voices/divineirakoze.md

How to Submit a Story

1

Story Development

  • Identify willing storyteller (must give informed consent)
  • Conduct interview or have person write their own story
  • Ensure storyteller understands how story will be used
  • Get explicit permission for any photos
2

Writing the Story

First-person narrative is most powerful:
Show, don’t just tell:
3

Create Story File

Use author’s name as filename (lowercase, hyphens, no spaces).
4

Add Metadata & Content

5

Review with Storyteller

CRITICAL: Show the final story to the author BEFORE publishing.
  • Read it aloud together
  • Verify accuracy of facts and quotes
  • Check that tone and message match their intent
  • Get written/recorded approval to publish
6

Publish

Technical Implementation

Story Detail Page

Dynamic routing with static generation:
src/pages/community-voices/[slug].astro
Shows 3 stories from same category:
Related Stories Algorithm

Hero Section with Image

Conditional rendering based on image availability:
Hero Layout

SEO & Social Sharing

Comprehensive metadata for social platforms:
OpenGraph & Twitter Metadata

Schema.org Article Markup

Structured Data

Storytelling Best Practices

Center the Narrator

Use first-person voice. Let the person tell THEIR story, not your interpretation.

Respect & Dignity

Never sensationalize suffering. Focus on resilience, agency, and humanity.

Informed Consent

Explain how the story will be used. Get written permission. Allow opt-out anytime.

Safety First

Don’t publish details that could endanger the storyteller or their family.

Ethical Guidelines

Before publishing, ask:
  • Could this story put the narrator or others at risk?
  • Does it reveal sensitive personal information?
  • Could it be used against them by authorities or others?
  • Does it perpetuate stereotypes or pity narratives?
When in doubt, don’t publish. Safety > story.
Stories are not commodities. Don’t:
  • Pay people for “sad stories”
  • Pressure vulnerable people to share trauma
  • Edit stories to make them more “dramatic”
  • Use stories without compensating the storyteller (if applicable)
Fair practices:
  • Offer honorarium if budget allows
  • Give storyteller co-author credit
  • Share any revenue from story republishing
Ensure diversity in voices:
  • Different countries of origin
  • Various age groups (youth, elders)
  • Gender balance
  • Range of experiences (not just trauma)
  • Success stories alongside challenges

Image Guidelines

Photo Requirements

  • Size: Minimum 1200x630px (recommended 1920x1080px)
  • Format: JPG or PNG
  • Quality: High resolution, not blurry or pixelated
  • Composition: Subject clearly visible, good lighting
  • Consent: Explicit permission from everyone in photo

Where to Get Images

  1. Personal photos from storyteller (with permission)
  2. Community photographers (credit them!)
  3. Free stock photos (Unsplash, Pexels) as fallback
  4. Commissioned photography (hire local photographers)

Placeholder Images

If no image available, system uses:
  • /images/placeholder-voice.jpg (default)
  • Category-specific placeholders (if configured)

Content Quality Checklist

Before publishing, verify:
  • Story is in first-person voice
  • Title is compelling and descriptive (not clickbait)
  • Excerpt captures the essence in 1-2 sentences
  • Category accurately reflects content
  • Tags are relevant and searchable
  • Image is high-quality with proper consent
  • Markdown formatting is clean (headings, paragraphs)
  • No spelling or grammar errors
  • Facts are accurate and verified
  • Storyteller has approved final version
  • No sensitive information that could cause harm

Troubleshooting

Check:
  1. File is in src/content/community-voices/ directory
  2. Filename uses lowercase and hyphens (no spaces)
  3. YAML frontmatter is valid (proper indentation, quotes)
  4. Required fields are filled: title, author, date, category, excerpt
  5. Dev server restarted: npm run dev
Images can be:
  • Local: /images/stories/photo.jpg (in public/images/stories/)
  • External: Full HTTPS URL
Verify:
  • URL is correct and accessible
  • Image file exists at specified path
  • Image is not too large (< 5MB recommended)

Future Enhancements

Planned features:
  • Audio stories: Voice recordings for those who prefer oral storytelling
  • Video testimonials: Short documentary-style clips
  • Translation: Stories in multiple languages (French, Swahili, Kirundi)
  • Comments: Allow community dialogue (moderated)
  • Search: Full-text search across all stories
  • Collections: Curated story series on themes
  • Author pages: Profile pages for prolific storytellers

Events

Share event experiences

Services

Organizations’ impact stories

E-Learning

Educational journey narratives

Remember: Every story is a person’s lived experience. Handle with care, respect, and dignity. These are not just content - they are human beings trusting us with their truth.