Code of Conduct

We are a small, fast-moving team. This code of conduct keeps us focused and respectful while shipping value quickly for schools in Sudan.

Our Principles

  • Respect first: assume positive intent, critique ideas not people
  • Users over egos: the school experience is our north star
  • Bias to ship: iterate weekly; small, reversible changes
  • Ownership: see issues through to resolution
  • Transparency: async-first communication, write it down

Decision-Making

  • Propose → discuss → decide → document. Disagree and commit once a decision is made.
  • Use lightweight RFCs for changes to data model, auth, routing, or billing.
  • Timebox debates. If unresolved, Tech Lead decides and documents rationale.

Communication

  • Prefer issues/PRs over private messages; document decisions
  • Keep standups ≤ 10 minutes; focus on blockers and commitments
  • Use clear, action-oriented titles and checklists

Collaboration

  • RFC for changes affecting data model, auth, or URL structure
  • Write or update docs with every notable change
  • Pair when unsure; optimize for learning and speed

Quality & Security

  • No production secrets in code or chats
  • Every data access must include schoolId where applicable
  • Add tests for critical flows; fix broken builds before adding new features

Work Habits

  • Keep PRs small; include context and screenshots/GIFs
  • Write or update docs with each meaningful change
  • Respect focus time; batch messages; avoid “urgent” without cause

Conflict Resolution

  • Address issues directly and early
  • Assume miscommunication before malice; seek clarity
  • Escalate to Tech Lead if needed; outcome documented

Inclusion

  • Arabic and English are both welcome; choose clarity over jargon
  • Be mindful of timezone and internet constraints in Sudan

Enforcement

Report concerns to the Tech Lead. Repeated violations lead to removal from the project. We adhere to zero tolerance for harassment and discrimination.