AfroCom React App Challenge
The AfroCom React App Challenge invites individual developers, development teams and software agencies to help build the next generation of the AfroCom web experience and the modular platform foundation behind it.
This is not only a competition.
It is a collaborative engineering initiative where participants can select issues or development areas, work together on specific parts of the platform, or independently build and submit a broader solution.
The Mission
AfroCom's immediate product focus is its community-networking and opportunity experience.
The engineering mission is to strengthen that experience while helping evolve the platform toward a modular, API-first and service-oriented architecture capable of supporting future growth.
The challenge is therefore intentionally broader than building screens alone.
Contributors may work on product experience, frontend architecture, APIs, domain services, testing, DevOps, documentation or platform architecture.
What We Are Building Toward
A conceptual direction is:
AfroCom
│
┌─────────────┴─────────────┐
│ │
Web Experience Platform Services
│ │
User Experience API Layer
Components │
Accessibility Domain Services
State & Data │
Testing Data / Events
│ │
└─────────────┬─────────────┘
│
Modular Platform
Architecture
The objective is not to turn every feature into a separate microservice immediately.
Service boundaries should be introduced where they improve ownership, scalability, maintainability, reliability or security.
Initial Product Scope
The challenge initially focuses on AfroCom's community-networking capabilities rather than the entire long-term super-app vision.
Areas may include:
- User onboarding and identity experiences
- Profiles and social relationships
- Community feeds
- Posts and content sharing
- Discovery and search
- Organizations and opportunities
- Notifications
- Communication experiences
- Responsive design
- Accessibility
- API integration
- Testing and quality
Additional areas may be introduced progressively through issues and milestones.
Participation Tracks
Participants may contribute through one or more tracks.
1. Web Experience Track
Build and improve the AfroCom web experience using React and modern web-development practices.
Examples include:
- Pages and user flows
- Reusable UI components
- Responsive behavior
- Accessibility
- State management
- API integration
- Performance
- Testing
- Design-system implementation
2. Platform Architecture Track
Help design and implement the modular backend and service foundation supporting the community platform.
Potential areas include:
- API contracts
- Identity and access boundaries
- Profile and social-graph services
- Content services
- Discovery and search
- Notifications
- Communication interfaces
- Event-driven workflows
- Observability
- Service deployment patterns
- Testing and reliability
Contributors are expected to justify service boundaries rather than create microservices simply for architectural complexity.
3. Collaborative Issue Track
Individuals, teams and agencies may select available GitHub issues, tasks, features or related groups of issues.
Contributions may include:
- Building a component
- Implementing a page
- Developing a service
- Designing an API
- Improving accessibility
- Fixing bugs
- Writing tests
- Improving documentation
- Improving developer tooling
- Working on infrastructure or deployment automation
Participants should coordinate through the project's contribution workflow to reduce duplicated work.
4. Complete Solution Track
A developer, team or development agency may independently propose and submit a broader implementation covering multiple areas of the challenge.
Complete submissions can be reviewed for architecture, user experience, maintainability, security, scalability, documentation and alignment with AfroCom's product direction.
A complete submission does not automatically replace an existing implementation or guarantee production deployment.
Architecture Principles
Challenge implementations should generally favor:
- Clear domain boundaries
- Stable APIs
- Modular design
- Secure defaults
- Maintainability
- Testability
- Observability
- Progressive scalability
- Accessibility
- Documentation
- Operational simplicity
Microservices are a means, not the objective.
The objective is a platform that can evolve safely as product requirements and scale grow.
Development Environments and Technical Access
The public challenge documentation intentionally does not publish internal backend vendors, infrastructure topology, privileged endpoints or environment configuration.
Approved contributors will receive the development environments, API specifications, design resources, credentials and implementation information required for their selected work according to project access policies.
Production access is not required for normal challenge participation.
Working Through GitHub
Development will be coordinated through GitHub.
Participants will be able to identify work through:
- Issues
- Feature requests
- Development tasks
- Epics
- Milestones
- Technical discussions
- Documentation tasks
- Architecture tasks
- UI/UX implementation tasks
Before beginning substantial work, contributors should review the relevant issue and communicate their intention to work on it.
Larger teams or agencies interested in taking responsibility for an epic or development area should coordinate with Ubujima before beginning implementation.
Initial Development Areas
The first challenge backlog may be organized around areas such as:
- Identity & Onboarding
- Profiles & Connections
- Community Feed & Content
- Discovery & Search
- Organizations & Opportunities
- Notifications
- Responsive UI & Design System
- API & Service Foundations
- Testing, Security & DevOps
These areas can be divided into smaller issues suitable for individuals as well as larger epics suitable for coordinated teams or agencies.
Contribution Workflow
A typical contribution may follow this process:
- Explore the project and documentation.
- Review available GitHub issues or epics.
- Select a development area.
- Coordinate with maintainers where necessary.
- Create a branch or fork.
- Build and test the contribution.
- Submit a pull request.
- Participate in technical review.
- Address requested changes.
- Merge approved contributions.
Participants should also review the Contribution Guide and Developer Onboarding documentation.
For Development Agencies
Software agencies are welcome to participate.
An agency may:
- Contribute individual features
- Take responsibility for related groups of issues
- Collaborate with individual contributors
- Provide specialist engineering capacity
- Work on frontend or platform architecture
- Submit a broader implementation
Participation in the challenge does not automatically establish a commercial contract, vendor relationship, equity arrangement or entitlement to compensation.
Any commercial engagement, compensation, incentive, award or other arrangement must be separately agreed with Ubujima.
Complete Submission Requirements
Developers or teams submitting a broader implementation should be prepared to provide:
- Source code
- Setup instructions
- Architecture documentation
- Configuration instructions
- API documentation where applicable
- Testing instructions
- Known limitations
- Deployment guidance
- Dependency and licensing information
Additional submission requirements may be published for specific challenge milestones.
Evaluation
Contributions may be evaluated according to their scope and purpose.
Relevant factors may include:
- Functional quality
- User experience
- Technical architecture
- Code quality
- Maintainability
- Performance
- Security
- Accessibility
- Documentation
- Testing
- Scalability
- Collaboration
- Alignment with AfroCom's product direction
A contributor implementing one excellent service or feature should not necessarily be compared directly with a team submitting a broader application.
Open Source and Intellectual Property
Participants must only contribute code, assets, libraries, designs and other materials they have the legal right to contribute.
Repository-specific licensing and contribution requirements will apply.
Participation does not automatically grant access to private Ubujima repositories, confidential information, production systems or proprietary technology.
Additional agreements may be required for certain development areas.
Challenge Status
The React App Challenge framework is being prepared progressively.
Upcoming updates may include:
- Challenge repository
- Initial issues and epics
- Technical specifications
- Design resources
- Contributor development environments
- API documentation
- Submission process
- Evaluation criteria
- Timeline and milestones
Developers and development agencies interested in participating are encouraged to follow the Ubujima Developer Hub and GitHub organization for updates.