I don't know anything about the architecture of RootsMagic - aside from it's use of Sqlite as a persistent store.
Does the language/tech stack allow you to create features that make use of long-running background jobs that
can do work asynchronously, without interrupting user interaction? I'm thinking of things like bulk addition of
people to existing ancestry trees, duplicate searches on large databases, and the like.