A minimalist cross-platform application inspired by Brian Eno's Oblique Strategies, designed to help artists, writers, musicians, and creators overcome creative blocks through lateral thinking prompts.
Lateral delivers random, thought-provoking prompts to encourage unconventional thinking and help break creative stagnation. With a deliberately minimalist interface, the app feels like drawing a card from a digital deck—providing just enough disruption to your creative process to spark new directions.
- Dynamic Prompt Generator: Tap to receive a random creative strategy
- Minimalist Interface: No explanations or clutter—just the prompt
- Cross-Platform: Available on both Android and iOS
- Offline Support: No internet connection required
Lateral is built using Kotlin Multiplatform (KMP), allowing for shared business logic while maintaining native UI experiences:
- Shared Code: Kotlin Multiplatform
- Android UI: Jetpack Compose
- iOS UI: SwiftUI
- Architecture: MVVM with unidirectional data flow
- Android Studio Arctic Fox or newer
- Xcode 13 or newer (for iOS development)
- JDK 11 or newer
- Kotlin Multiplatform Mobile plugin for Android Studio
-
Clone the repository:
git clone https://github.com/yourusername/creative-spark.git
-
Open the project in Android Studio
- Select the androidApp configuration
- Run on your device or emulator
- Open the iosApp.xcworkspace in Xcode
- Select your target device
- Build and run
creative-spark/
├── shared/ # Shared KMP code
│ ├── commonMain/ # Common code for all platforms
│ ├── androidMain/ # Android-specific code
│ └── iosMain/ # iOS-specific code
├── androidApp/ # Android application
└── iosApp/ # iOS application
Prompts are stored in PromptRepository.kt in the shared module. To add new prompts:
- Open
shared/commonMain/repositories/PromptRepository.kt - Add new entries to the prompts list
./gradlew :shared:allTests # Run all tests
./gradlew :shared:jvmTest # Run JVM tests
./gradlew :androidApp:testDebug # Run Android testsContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Less is more: Minimal interface with focused functionality
- Mystery over instruction: Prompts are open to interpretation
- Calm aesthetics: Dark mode, serif fonts, muted colors
This project is licensed under the MIT License - see the LICENSE file for details.