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.