
Open source contribution
Papillon
Fixes and features on an open source school life app.
- Role
- Contributor
- Year
- September 2026
Overview
Papillon is an open source app built with React Native (Expo) and TypeScript, bringing a student's school services together. I am not a maintainer: I contribute from a fork, opening issues and pull requests against the dev branch, which the team reviews.
My most complete fix is the "Sélectionner" button in the subject emoji picker, which did nothing on Android (issue #861). I tracked down the cause: the button relies on react-native-gesture-handler, but on Android a Modal opens in a separate native window outside the global GestureHandlerRootView, so it receives no touches. Wrapping the Modal's content in its own GestureHandlerRootView fixes it. Pull request #862 was approved and merged by a maintainer.
I also proposed pull request #832, which adds a button on Android to remove the chosen wallpaper (iOS keeps its native menu). I put two mockups to the community on Discord, kept the one that matches the thumbnail grid, then fixed the label wrapping after a reviewer tested it on another phone. It is approved and waiting to be merged.
Finally, I reviewed pull request #845 from another contributor, which restores the transport feature, and gave feedback on how the itinerary is displayed.
Highlights
- Merged Android fix (#862): root cause found in react-native-gesture-handler and Modals
- Feature proposed with mockups put to the community (#832), approved
- Detailed issue with reproduction steps, devices and version (#861)
- Review of another contributor's pull request (#845)
- Working in a codebase I did not write: conventions, the dev branch, maintainer reviews
Stack
- React Native
- Expo
- TypeScript
- Git
- GitHub