App to organize study sessions and improve retention using spaced repetition. Built with Expo, React Native, and TypeScript.
- 📝 Create, edit, search and delete notes
- ⏱ Review random notes with a live timer
- 📊 Track statistics with charts and dashboards
- 📄 Full markdown support for note content
- 💾 Offline support with local SQLite storage
- 📱 Built with Expo and works on both Android and iOS
- React Native + Expo Router
- TypeScript for type safety
- SQLite via
expo-sqlite
for local persistence - react-native-chart-kit for visual statistics
- react-native-markdown-display for rendering notes
src/
├── app/ # App routing and screens
│ ├── (tabs)/ # Tabs: Notes, Review, Dashboard
│ └── note/\[id].tsx # Single note view/edit
├── hooks/ # Custom hooks (e.g., DB readiness)
├── lib/ # Database logic
└── types/ # TypeScript types
- Node.js ≥ 18
- Yarn or npm
- Expo CLI
Clone the repository
git clone git@github.com:tyronejosee/project_spaced_learning.git
cd project_spaced_learning
Install dependencies
npm install
# or
yarn install
Start Development
npx expo start
Then scan the QR code with the Expo Go app.
The dashboard summarizes the last 7 days:
- Total time spent
- Notes reviewed
- Average review duration
- Most active day
PRs are welcome! Please open issues or suggestions to help improve the app.
This project is licensed under the MIT LICENSE.
Enjoy! 🎉