AgroTech

The problem
Peru's farming sector employs about 27.5% of the workforce but contributes only 5.2% of GDP, and many producers lack access to specialized advice and suitable technology. AgroTech connects agricultural producers with advisors through web and mobile apps. The course, Experiment Design for Software Engineering, also required us to prove software quality and validate new features with real users.
Key decisions
- Structured the Spring Boot backend with Domain-Driven Design and documented it with Swagger, so the Angular and Kotlin clients could integrate against one API.
- Planned five experiments before building them, covering the contact form, contact channel, interface personalization, forum and product video, each with its own hypothesis.
- Layered the tests: JUnit 5 and Mockito for isolated units, integration tests across services, repositories and controllers, and Cucumber for BDD from the user's perspective.
- Built the CI/CD pipeline with GitHub Actions and ran the tests against a real MySQL database on the runner instead of settling for H2.
- Treated new features as experiments: I built the backend for the forum, including posts, replies and favorites, so the team could measure whether users valued it.
The result
In a survey of 23 users, 73.9% rated the forum useful or very useful, 95.7% found the redesigned contact form easier to use, and 60.9% considered the changes significant to their experience. The product shipped with web and mobile clients, and with unit, integration and BDD tests.