Monday and Tuesday
- Understand the client and users.
- Define the problem and product goal.
- Build the backlog and assign work.
- Compare interface directions.
- Choose the application architecture.
In four one-day sprints, our team turned a 17-table nonprofit dataset into a deployed platform for donor management, resident care, outreach, reporting, and machine-learning decision support.
Scrum Master, developer, and machine-learning lead · April 2026 · React, TypeScript, .NET, C#, PostgreSQL/Supabase, Python
5 days
from project brief to final presentation
4
people on the development team
17
connected data tables
13
predictive machine-learning pipelines
3
data domains joined in one product
4
disciplines combined in one delivery
Project Beacon was a simulated client engagement based on the work of Lighthouse Sanctuary, a nonprofit that supports safe homes and rehabilitation services for girls who have survived abuse or trafficking in the Philippines. We were not building for Lighthouse Sanctuary itself. We used anonymized operational material to design a platform for a hypothetical new organization with similar needs.
The organization needed one system to manage donors, resident care, safehouse operations, outreach, and public impact. It also needed to protect highly sensitive information about minors while helping a small staff make better decisions.
The central problems were broad:
The project combined requirements from project management, application development, cybersecurity, and machine learning. We completed four one-day sprints from Monday through Thursday and presented the final product on Friday.
I served as the Scrum Master, a developer, and the machine-learning lead. My role crossed project coordination and hands-on technical delivery.
The four-person team included:
All four of us contributed as developers. We worked together in person for much of the week, often spending the full day in the same apartment so decisions and integration could happen quickly.
One teammate took a strong role in frontend direction and product vision. I focused on Scrum facilitation, machine learning, documentation, and helping the different pieces reach a working final product.
A basic solution could have been a set of forms and dashboards. We wanted the product to do more than display records. It needed to help staff understand what mattered and decide what to do next.
We framed the product as:
A secure decision-support platform that connects donor activity, resident progress, outreach performance, and public impact into one operational system.
That framing led us to ask four questions on each important page:
The provided dataset contained 17 related tables across three main areas. The challenge was not simply loading those tables. We needed to turn them into connected workflows.
Supporters, donations, in-kind items, allocations, safehouses, and service partners.
Residents, counseling, home visits, education, health, interventions, and incidents.
Social media activity, engagement, donation referrals, safehouse metrics, and public impact reports.
We used these relationships to connect donations to allocations and impact, social posts to donation referrals, and resident activity to risk, progress, and safehouse performance.
TODO_ASSET: product and data overview
Add a recreated diagram showing the three data domains and the main public, donor, and staff workflows.
I owned the machine-learning portion of the project. I began with the decisions the nonprofit needed to make, not with a preferred algorithm. After reviewing the data, I defined 13 predictive questions.
Each pipeline included a business question, prepared data, engineered features, model training, evaluation, saved outputs, and a recommended place in the application.
A machine-learning notebook is not useful by itself. The result needs to change what a user sees, prioritizes, or does.
I organized the ML work into reusable Python modules, notebooks, model artifacts, evaluation reports, tests, API payloads, and application-integration examples. Model outputs were designed for product surfaces such as:
We also created a scheduled refresh process so models could retrain and publish new predictions as the underlying data changed. The frontend received those results through backend endpoints instead of connecting directly to the database.
TODO_ASSET: machine-learning workflow
Add a pipeline diagram and sanitized screenshots of a ranked prediction table, risk indicator, or recommendation panel.
The simulated data represented vulnerable minors, donors, staff, and partner organizations. Privacy could not be treated as an item to add at the end.
The product included or planned for:
We also intentionally excluded real-time resident surveillance and other monitoring that could create unnecessary risk or violate the privacy of minors.
Why it mattered: The nonprofit needed help deciding who and what required attention, not only a place to store records.
Tradeoff: Derived insights, cross-table relationships, and recommendations required more work than basic forms and charts.
Result: The product connected operational records to ranked priorities, risk signals, forecasts, and suggested actions.
Why it mattered: The dataset contained useful relationships across donors, residents, safehouses, and outreach. Shared feature tables made it possible to explore several decisions quickly.
Tradeoff: Thirteen pipelines created more integration, evaluation, and documentation work during an already short project.
Result: We produced a reusable ML workspace instead of thirteen disconnected notebooks.
Why it mattered: The core workflows, security, data relationships, and deployment needed to work before optional AI features could create value.
Tradeoff: Our final demonstration had fewer flashy features than some competing projects.
Result: The delivered system had strong coverage of the main business and technical requirements, but its value was harder to communicate quickly.
By Friday, the team had a deployed product that connected public communication, authentication, donor workflows, resident case management, dashboards, reports, security, and machine learning.
This was an academic, simulated-client project, so the result should not be presented as live nonprofit adoption. Its value is the breadth and completeness of the working delivery under a severe time limit.
Early in the sprint, most of the team continued building the first application while a competing frontend direction was developed separately. The alternative looked stronger in several ways, but adopting it required us to move and rebuild work during a five-day project.
Experimentation was not the problem. The team lacked a shared process for time-boxing the experiment, comparing the options, and making a final decision before parallel work became expensive.
I raised concerns about presentation readiness several days before the final demo, but we kept prioritizing the application. Serious rehearsal began only shortly before presenting. Transitions and speaking roles were less clear than they should have been, so the presentation did not communicate the product as well as the product deserved.
We prioritized architecture, security, useful workflows, and operational machine learning. The panel also responded strongly to small, memorable features that were easy to see during a short demo. We learned that a strong foundation still needs one or two clear moments that make its value obvious.
Product ownership only works when the whole team understands who owns direction, how alternatives are evaluated, and when a decision becomes final. A strong personal vision is not enough if it does not create shared movement.
I also learned that Scrum Master work is more than tracking tickets. It includes protecting alignment, surfacing competing directions, and making sure important discussions happen before they become rework.
Finally, I learned that the presentation is part of the product. Good architecture and thoughtful features do not speak for themselves. The team needs to make the business value easy to understand, remember, and trust.
Project Beacon showed me that I enjoy working where product planning, team coordination, software, data, and machine learning meet. I can build technical systems, but I am most interested in making sure those systems help people make better decisions.