A modern React Native application that converts handwritten notes to accessible Markdown and LaTeX. Built with Expo, Convex backend, and Clerk authentication, Paper provides a seamless mobile experience for digitizing and organizing handwritten mathematical and technical content with real-time data synchronization and secure user management.
- Handwritten Note Recognition: Advanced OCR technology specifically optimized for mathematical and technical content
- Markdown Conversion: Convert handwritten notes to clean, structured Markdown format
- LaTeX Generation: Transform mathematical expressions and equations into properly formatted LaTeX
- Document Management: Organize, reorder, and manage your digitized notes
- Cross-Platform: Works on iOS, Android, and Web platforms
- Real-time Sync: Automatic synchronization across all your devices
- Secure Authentication: User authentication and data protection with Clerk
- Node.js (LTS recommended, e.g. 20.x)
- npm (comes with Node)
- Git
- Expo tooling will be installed as part of
npm install.
-
Clone the repo
git clone https://github.com/malachyfernandez/paper.git cd paper -
Install dependencies
npm install
-
Run the app
Available scripts (from
package.json):-
Start Metro / Expo dev server:
npm run start
-
Run on Android (device or emulator):
npm run android
-
Run on iOS (simulator):
npm run ios
-
Run on the web (Expo web):
npm run web
Follow the Expo CLI instructions in your terminal to open on your target platform.
-
Whenever you want to start a new app based on this setup:
-
Clone into a new folder
git clone https://github.com/malachyfernandez/paper.git my-new-app cd my-new-app -
(Optional but recommended) Remove this repo's git history and start fresh
rm -rf .git git init git add . git commit -m "Initial commit for my-new-app"
At this point,
my-new-appis its own git repository, separate from the base. -
Install dependencies and run
npm install npm run start # or npm run android / ios / web -
(Optional) Create a new GitHub repo for the new app
-
Create a new, empty repo on GitHub.
-
Then connect your local project to it:
git remote add origin https://github.com/YOUR_USERNAME/YOUR_NEW_REPO.git git branch -M main git push -u origin main
-
Internally, the project uses the technical name:
paper
This is used for things like package.json and the Expo slug.
If you create a new project from this base, you can edit:
package.json→nameapp.json→expo.name,expo.slug, andexpo.ios.bundleIdentifier
To match your new app's branding.