Preparing Propelmapper for Extension Across Industries.
Note: This was scrapped as at the time I wrongly inferred Propelmapper was treating expansion outside of Ag as a priority. It also would probably not work out as Rails + Hotwire is SSR'd which at first glance complicates things quite a bit.
As Propelmapper gains customers outside of Ag, I belive the difference in how customers use the application will increase dramtically.
For example a forest ranger taking notes about tree health is not interested about crop commodity prices, nor is an oil well inspector interested in the client finding functionality.
A solution I propose is the encapsulation of client specific features in seperate dashboards, that can either be appended to the list of dashboards in the nav sidebar or replace them.
e.g

Small user story
- Meeting is held with Fracking Site Inspection Co.
- They are interested in using the product during their inspections.
- They ask if they could have an elevation heatmap. (Elevation is kept as a metric and extracted though voice recordings)
- The Propelmapper sales representitive could either
- A - Try to engineer the solution into the main map, struggle with integrating the features while keep the rest of the feature concise.
- B - Take the sales dashboard html, gut it of everything except the title, get claude to code the map itself and tell it to use the exisiting api's.
- C - Say no and potentially lose the customer.
- Sales rep goes with option B and says they can implement the feature. Get the sale.
Wouldent We Be Bolting Features To our Main App with Complex App Logic Handling Who Sees these Interfaces?
Not really assuming the front and back ends are decoupled. Dashboards can be static html files
A hypothetical technical implemention would be as follows:
- When the Propelmapper app loads the nav sidbar queries database for which normal + custom dashboards the organization has.
- Customer clicks on the nav sidebar options, request is sent to file server for static webpage, custom dashboard loads in.
- Config CORs correctly and done.
Upsides
- Happier customers.
- Kind of a new value propisition is it techically development as a service
- Increase vendor lock in with custom features.
- Stops really important clients from forcing you to add features to the main interfaces that degrade the experience for everyone else.
Downsides
- Increase in complexity, not sure how much.
- Potentially a maintence burden.
- If you accumulate a ton of dasboards from customer requestss and depreciate or change any parts of the existing api's those custom dashboards use stuff will break and it will be a nighmare fixing them all.