Releaf.Community budget and timeline
Based on the needs and offers outline, I propose to disect the project into phases. Each stage has a set duration, a budget and a desired outcome.
I don't know if you're familiar with sprints in agile development, but this would be similar. It's iterative, and at the end of each sprint you always have a functional product. Sounds a bit like design thinking too, but I tend to avoid that term because it is too generic, and it puts too much emphasis on user feedback. Obviously user feedback is important for next iterations, but you risk ending up with "design by committee", where too much (or too quickly formulated / poorly informed / personally biased) feedback cripples the process. I like systems thinking better. Just look for a common sense approach to each problem.
Anyway, here's my suggestion for the stages. I'm using the Fibonacci scale to roughly indicate how much effort each component requires in comparison to the others. So these numbers don't mean anything specifically.
Phase 1
Size | Component | Task(s) |
---|---|---|
21 | Development | Data model, UI for data entry, central map, Kobo imports |
13 | Data entry | Collect and evaluate existing data, prepare mapathon event(s) |
8 | Documentation | Explain the platform, training resources for data entry |
5 | Promotion | Promote mapathon, raise awareness for upcoming hardships |
3 | Presentation | Add a little styling to what we've prototyped so far |
2 | Infrastructure | Set up Matrix server and demo environment |
1 | Localization | Writeup about creating trusted local communication circles |
1 | Operations | Internal communication, PM, software deployments |
0 | Partnerships | Explore new partnerships, cultivate existing |
Budget and duration
Duration: 2 months, July - August Budget: PHP 37.000 - 53.000 per month
See cost breakdown below for more info.
Desired outcome
At this point, we have a fully functional central map. Data can be added via the CMS, via Kobo forms or by manually providing a dataset in a supported format.
We have collected relevant data from partners and from other maps with an export function, and we are prepared to host a mapathon event. We have clear instructions for using Kobo forms to enter data, and for entering it directly in the CMS. Mapathon promotion has started and invites are sent out for end of August - early September.
Meanwhile, we keep exploring and cultivating potential partnerships. We listen to their feedback and integrate the ideas that come up into our roadmap.
And as a little side project, we now have a Matrix server running. From here, we can start experimenting with alternative and more private ways of communicating. Both within local communities, and across broader organizational networks. There is a writeup to introduce how this works, and why it's needed. One major benefit from using Matrix, is the ability to connect people through the apps they are already using. So some people might be using more secure options like Telegram or Signal already, while others are still on Facebook messenger or WhatsApp.
Phase 2
Size | Component | Task(s) |
---|---|---|
21 | Development | More options for data entry, search and filters, dataset exports |
13 | Data entry | Organize mapathon event, automate data imports |
8 | Mobile use | Support for offline maps and data transfer without internet |
5 | Documentation | Continue to explain the platform, create docs for Matrix use |
3 | Fundraising | Present the platform to potential donors |
2 | Promotion | Communicate disaster relief best practices |
1 | Infrastructure | Add SMS bridge to Matrix server |
1 | Operations | Internal communication, PM, software deployments |
0 | Partnerships | Explore new partnerships, cultivate existing |
Budget and duration
Duration: 2 months, September - October Budget: PHP 37.000 - 53.000 per month
Desired outcome
At this point, new data has been added to the map, as a result of our mapathon and through data sharing with partners. The data is probably very broad and either very scattered or clustered in 1 region, but it's a start and hopefully helpful to some people already.
Technically, we added options to search for data or filter on certain characteristics. This functionality is still very basic, in order to avoid adding too much complexity and performance challenges in this phase. User feedback will need to inform us if - and what kind of - future iterations are useful.
We also added the option to export certain datasets. Partners can integrate this data in their own maps and people can import it in and Android OSM app. This means the data (together with the map itself) will be available offline. Crucial in many situations following a disaster. Fair warning: I have no idea yet how difficult this is to implement. That depends on available standards and tools, which I still have to explore.
With the possibility of new typhoons coming in soon, we join the nation-wide effort of communicating what you can do to prepare for disaster, and what is important after. And hopefully we can enrich these messages already with resources from our map!
We will also look for additional funding during this phase.
And last but not least: our Matrix server now has the capability to send and receive messages via SMS. This means that people without a smartphone, or people in areas without internet, are now able to enter the Matrix too!
Cost breakdown
I based the budget on the following estimates:
Person | Hours per month | PHP per hour | Monthly salary |
---|---|---|---|
Hugo | 30 - 50 | 800 | 24000 - 40000 |
Nicole | 80 | 150 | 12000 |
Volunteer | ? | ? | ? |
Hosting: VPS (private server in Singapore) - 1000 per month
Phase 3
There are still a few loose ends that I need to tidy up first:
- The script for fetching network nodes is still unfinished.
- The processor for user data was updated externally, and needs testing.
- The permaculture dataset needs some weeding and another import.
- Privacy settings need to be checked for data already submitted.
- Other things will surely pop up while addressing the above.
I need 1-2 days to wrap this up properly. My hourly rate for this project is 800 PHP, so this would require around 6400 - 12800 PHP. IF... there is budget. If not, then no worries: I will still do it.
Future development
For the roadmap, it's hard to really tell how much time each item will take. I usually work in sprints, or phases, where we only estimate the first iteration of a feature. How much time is needed to develop the most basic functionality? So the estimates that follow all indicate the minimum effort required. Each feature can be improved and optimized in future iterations, if needed.
Feature | Hours | PHP | USD |
---|---|---|---|
App dashboard (proof of concept) | 8 | ||
Location picker | 13 | ||
Extract location from img | 21 | ||
Excel / CSV import | 8 | ||
KML / GeoJSON export | 8 | ||
Public API | 21 | ||
Additional map features | 5 | ||
Bundle Need requests | 8 | ||
Color coded categories | 8 | ||
Mailing list | 1 | ||
Documentation | 8 | ||
Releaf.Network (spare time) | 0 | ||
Total | 109 |
It will probably take a lot more time than this to even get to basic functionality, but that's OK for me. Some parts can be reused across the framework, so I don't mind spending a little longer to make it more widely applicable.
Hosting
Next to the cost of development, I'm also hosting the platform on a Linode server in Singapore. For now, it doesn't require a lot of resources so I'm OK to donate this server space to the project. In the future, it would be nice if we can find a sponsor for it. Especially once we start experimenting with a public Matrix server, there might be slightly higher costs involved (think 30-50$ a month).
Same goes for map views. We're currently on a free tier, but once more people start viewing the maps on their devices, we might require a paid subscription for that service as well. Pricing will vary, but sponsoring / non-profit discount might be possible here too.
Maintenance
As far as maintenance is concerned, I am still able to perform upgrades to server and platform with relative ease. So for now, no budget needed. If usage will increase in the future, we might need to allocate a separate budget for this too, and possible even hire someone dedicated to this task.