English · العربية · Español · Français · 日本語 · 한국어 · Tiếng Việt · 中文 (简体) · 中文(繁體) · Deutsch · Русский
OnlyIdeas is a full-stack application that helps people share and monetize their ideas. It integrates with AWS Amplify for user authentication, data storage (AppSync & DynamoDB), and file hosting (S3). You can run this project on iOS, Android, and Web via Expo.
Inspired by “OnlyFans-style” features, OnlyIdeas also aims to integrate AI tools for generating, analyzing, and translating user-contributed ideas, music, or media.
This README is an expanded, repository-accurate draft based on the existing README content and current source files.
| Area | Technology |
|---|---|
| App framework | React Native + Expo |
| Navigation | expo-router |
| Auth + Data + Storage | aws-amplify + @aws-amplify/ui-react-native |
| API | AWS AppSync (GraphQL) |
| Database | Amazon DynamoDB (via Amplify GraphQL models) |
| File storage | Amazon S3 |
| Targets | iOS, Android, Web |
OnlyIdeas uses:
expo-routerfor navigation and route-based screens.aws-amplify+@aws-amplify/ui-react-nativefor auth, API, DataStore, and storage.- Amplify backend categories for Auth (Cognito), API (AppSync GraphQL), and Storage (S3).
Current user flow:
- Sign in through Amplify Authenticator.
- Home feed lists creators (
Userrecords). - Open a creator profile and view posts/paywall state.
- Create a new post with optional image upload to S3.
- Creator listing and profile pages.
- Sign in / sign out with Amplify UI Authenticator.
- New post creation with image picker integration.
- S3 image upload and image retrieval.
- GraphQL-backed
UserandPostmodel persistence. - iOS, Android, and Web launch targets from one Expo project.
.
├── app/
│ ├── _layout.js # Amplify config + Authenticator wrapper
│ ├── index.js # Home feed (users list)
│ ├── newPost.js # Create post + optional image upload
│ └── user/[id].js # Creator profile + posts
├── src/
│ ├── components/
│ │ ├── UserCard.js
│ │ ├── UserProfileHeader.js
│ │ └── Post.js
│ ├── graphql/ # Generated operations/schema artifacts
│ └── models/ # Amplify modelgen outputs
├── amplify/
│ └── backend/ # Amplify backend resources (auth/api/storage)
├── i18n/ # Translation README directory (currently empty)
├── app.json
├── babel.config.js
├── index.js
└── package.json
- Node.js 18+ recommended.
- npm (lockfile is
package-lock.json). - Expo-compatible tooling:
- iOS Simulator + Xcode (for iOS local simulation).
- Android Studio + SDK/emulator (for Android local simulation).
- AWS account access for Amplify provisioning.
- Amplify CLI for backend setup.
Use whichever remote your workflow prefers:
| Command | Notes |
|---|---|
git clone git@github.com:lachlanchen/onlyideas.git |
Historical/archival reference |
git clone git@github.com:lachlanchen/onlyideas-react-native.git |
Current repository (recommended) |
Then open the correct project directory:
cd onlyideas-react-nativeThis repository is tailored specifically for the OnlyIdeas platform, focusing on creativity and monetization.
From the project root, run:
npm installThis installs the necessary Node modules, including Expo, React Native, and aws-amplify.
-
Install Amplify CLI (if you haven’t already):
npm install -g @aws-amplify/cli
-
Configure Amplify with your AWS credentials:
amplify configure
- Sign in to the AWS console, create or use an existing IAM user.
- Provide the
accessKeyIdandsecretAccessKey. - Name the new profile (e.g.,
onlyideas).
-
Initialize Amplify in this project:
amplify init
Recommended prompts:
- Environment name:
dev(or your choice) - Default editor: your choice
- Authentication method:
AWS profile - Profile: select the one you just configured
- Environment name:
-
Push Amplify backend:
amplify push
This provisions the AWS backend (Cognito, AppSync, S3, etc.) for OnlyIdeas.
Use Expo to launch your app on different platforms:
npx expo startOr via package scripts:
| Script | Command | Purpose |
|---|---|---|
npm start |
expo start |
Start Expo dev server |
npm run ios |
expo start --ios |
Launch iOS simulator |
npm run android |
expo start --android |
Launch Android emulator |
npm run web |
expo start --web |
Run web target |
- Press
ito open the iOS Simulator (macOS + Xcode required). - Press
ato open an Android emulator (requires Android Studio & SDK). - Press
wto open the web build in your browser.
Because this project uses some React Native-specific libraries (e.g., @aws-amplify/ui-react-native), you might need to conditionally handle those imports if you see an error while bundling for web. In many cases, web will work out of the box. If you encounter issues, either:
- Remove or replace imports that are purely native, or
- Skip the web build and continue using native platforms.
app/_layout.js imports ../src/aws-exports, but this file is generated by Amplify and is not committed in this repository. Running amplify init + amplify push should generate it.
From amplify/backend/backend-config.json, this project includes:
auth/OnlyFansCloneApp(Cognito)api/OnlyFansCloneApp(AppSync GraphQL)storage/s3onlyfanscloneappstorageb3e1fac4(S3)
Additional repository-accurate auth detail:
- AppSync default authentication is currently
API_KEYwith AWS IAM as an additional provider.
Defined in amplify/backend/api/OnlyFansCloneApp/schema.graphql:
Usermodel with profile fields (name,handle,bio,avatar,coverImage,subscriptionPrice)Postmodel withtext, optionalimage,likes, anduserIDindex (byUser)
index.jsloads async iterator polyfill andexpo-router/entry.babel.config.jsincludes:@babel/plugin-proposal-export-namespace-fromreact-native-reanimated/pluginexpo-router/babel
- Open app and sign in.
- Tap
New poston the home screen. - Enter post text.
- Optionally select an image from library.
- Tap
Postto upload image and savePostrecord.
amplify status
amplify pull
amplify pushIf you modify schema/models, regenerate artifacts as needed with Amplify CLI commands in your environment.
- Routing is file-based via
expo-routerunderapp/. - Current app mixes
DataStoreand directAPI.graphqlmutation usage. - On auth
signIn,_layout.jslistens viaHuband attempts to create a matchingUserrecord. - No dedicated
testorlintscripts are currently defined inpackage.json. i18n/directory exists; language README files are planned but not yet added in this draft step.- Language links are intentionally kept as a single options line at the top of this README.
Run:
amplify init
amplify pushEnsure src/aws-exports.js is generated locally.
- Confirm
Hubsign-in listener executed and user creation mutation succeeded. - Check AppSync auth mode and permissions.
- Verify data in DynamoDB/AppSync console for
Userrecords.
- Confirm S3 storage resource exists in Amplify backend.
- Verify authenticated user has permission to upload.
- Check network access and retry after re-auth.
Conditionally import native-only modules, or focus on iOS/Android for development if web compatibility breaks.
- AI Integration: Add endpoints or third-party API calls (e.g., OpenAI) to support automated content generation, music chord analysis, or translations.
- Monetization: Incorporate subscription or payment features (e.g., Stripe) if you want to replicate monetized features.
- Deployment: Use EAS Build or similar to generate standalone apps for iOS & Android.
- Expand i18n README set under
i18n/using the language links at the top of this file.
- Original project by GonzaloVolonterio.
- Adapted and rebranded as OnlyIdeas, focusing on helping people share and monetize their ideas, with planned AI features for music, language translation, and research collaboration.
For additional details on the original codebase and features, check the README in the original repository.
Contributions are welcome. Until a dedicated CONTRIBUTING.md is added, please follow this lightweight flow:
- Fork the repo.
- Create a feature branch.
- Keep changes focused and test on at least one target platform.
- Open a pull request with clear setup/reproduction notes.
If you are changing Amplify resources, include the corresponding amplify/ updates and migration notes in the PR description.
| Donate | PayPal | Stripe |
|---|---|---|
No LICENSE file is currently present in this repository.
Assumption: all rights are reserved by default unless/until an explicit license is added by the maintainers.
Enjoy building OnlyIdeas, and feel free to tailor the platform to protect and profit from user ideas with AI assistance.
