Inspiration
We wanted to solve the rigidity of traditional folders. A file often belongs to multiple categories (like "University" and "Taxes"), but standard file systems force you to choose just one path.
What it does Clarifile
Organizes files using a tag-based system instead of folders. It runs natively on Android, iOS and Desktop. It features an automation system that extracts GPS metadata from images and queries OpenStreetMap to automatically tag files with their location (City, Country).
How we built it
We used Kotlin Multiplatform (KMP) to share business logic between Android and Desktop. The stack includes Compose Multiplatform for the UI, Room for the local database, and Ktor for networking with the OpenStreetMap API.
Challenges we ran into
Bridging the gap between Android's restricted ContentProvider system and the standard file system on Desktop was difficult. Configuring Gradle for a multiplatform environment with shared native dependencies was also time-consuming.
Accomplishments that we're proud of
We successfully implemented a single codebase that performs native database transactions on both Linux and Android. The auto-tagging feature works seamlessly in the background to organize files without user input.
What we learned
We learned how to architect an application for multiple targets simultaneously and how to manage the complexities of package management in the Java/Kotlin ecosystem.
What's next for Clarifile
Implementing file syncing across devices and auto-generating tags, potentially using local AI.
Built With
- compose
- kotlin
- multiplatform

Log in or sign up for Devpost to join the conversation.