Building offline mobile app with OSDK

I’m looking to build an offline mobile app leveraging ontology/OSDK. Currently playing around with React Native/Expo and am having trouble integrating OSDK.

Specifically, I’m getting Unable to resolve "@osdk/gateway/requests" from "node_modules/@osdk/legacy-client/build/cjs/index.cjs" after creating an .npmrc file and adding "@rn-mobile-app/sdk": "^0.1.0", to my dependencies.

On a more general note, is there a recommended framework for doing this? Are there any code snippets I could take a look at, or additional mobile specific documentation?

I don;t think we have a recommended framework for this. I think you can use PWA and implement some of the offline capabilities yourself but if you want to use expo you will need some tweeks like a special metro.config.json to make it work.
Here is a non-official example of the metro file I have been using

// @ts-check
const { mergeConfig } = require('metro-config');
const { getDefaultConfig } = require('expo/metro-config');
const path = require('path');

const defaultConfig = getDefaultConfig(__dirname);

module.exports = mergeConfig(defaultConfig, {
  transformer: {
    ...defaultConfig.transformer,
    babelTransformerPath: require.resolve('react-native-svg-transformer'),
  },
  resolver: {
    ...defaultConfig.resolver,
    assetExts: (defaultConfig.resolver?.assetExts ?? []).filter(ext => ext !== 'svg'),
    sourceExts: [...(defaultConfig.resolver?.sourceExts ?? []), 'svg'],

    resolveRequest: function (context, moduleName, platform) {
      if (moduleName.includes("@osdk")) {
        context = {
          ...context,
          unstable_enablePackageExports: true,
          unstable_conditionNames: ["browser", "require", "import"],
        }
      }
      return context.resolveRequest(context, moduleName, platform);
    },
  }
})