A modern, feature-rich calculator application for Android and iOS.
Made by Andreas Agouridis | Powered by NextAppz
Website: nextappz.com/mathz
- Standard arithmetic operations (+, -, ×, ÷)
- Decimal point support
- Clear and backspace functions
- Memory functions (MC, MR, M+, M-)
- Percentage calculations
- Trigonometric functions (sin, cos, tan, asin, acos, atan)
- Logarithmic functions (log, ln, exp)
- Power functions (x², x³, xʸ, √)
- Mathematical constants (π, e)
- Parentheses support for complex expressions
- Angle mode toggle (Degrees/Radians)
Supports 8 categories with 50+ units:
- Length: meters, kilometers, miles, feet, inches, yards, centimeters, millimeters
- Weight: kilograms, grams, milligrams, pounds, ounces, metric tons
- Temperature: Celsius, Fahrenheit, Kelvin
- Volume: liters, milliliters, gallons, quarts, pints, cups, fluid ounces
- Area: square meters, square kilometers, square feet, acres, hectares
- Speed: m/s, km/h, mph, knots
- Time: seconds, minutes, hours, days, weeks, months, years
- Energy: joules, kilojoules, calories, kilocalories, watt-hours, kilowatt-hours
- View all past calculations
- Tap to copy results
- Long press to delete entries
- Clear all history option
- Relative timestamps (e.g., "5m ago")
- Decimal precision selector (2-12 decimals)
- Haptic feedback toggle
- Sound effects toggle
- Dark mode support
- Theme follows system settings
- Framework: React Native with Expo SDK 54
- Language: TypeScript 5.9
- Styling: NativeWind 4 (Tailwind CSS)
- Navigation: Expo Router 6
- Math Engine: math.js
- State Management: React Context + AsyncStorage
- Build System: EAS Build
app/
_layout.tsx ← Root layout with providers
(tabs)/
_layout.tsx ← Tab bar configuration
index.tsx ← Calculator screen
converter.tsx ← Unit converter screen
history.tsx ← History screen
settings.tsx ← Settings screen
components/
calculator-button.tsx ← Button component
screen-container.tsx ← SafeArea wrapper
ui/
icon-symbol.tsx ← Icon mapping
lib/
calculator.ts ← Math functions
unit-converter.ts ← Conversion utilities
utils.ts ← Helper functions
assets/images/
icon.png ← App icon
splash-icon.png ← Splash screen
favicon.png ← Web favicon
- Node.js 16+
- npm or pnpm
- Expo CLI:
npm install -g expo-cli
# Clone or navigate to project
cd advanced-calculator
# Install dependencies
pnpm install
# Start development server
pnpm dev# Run on web
pnpm dev:metro
# Run on iOS (requires macOS)
pnpm ios
# Run on Android
pnpm android
# Run tests
pnpm test# Install EAS CLI
npm install -g eas-cli
# Login to Expo
eas login
# Build for Android
eas build --platform android --profile preview
# For production
eas build --platform android --profile productionSee BUILD_APK_INSTRUCTIONS.md for detailed instructions.
- Minimum Android SDK: 21 (Android 5.0)
- Target Android SDK: 34 (Android 14)
- Minimum iOS: 13.0
- App Name: MathZ
- Package: space.manus.advanced.calculator.t*
- Update app name in
app.config.ts - Modify colors in
theme.config.js - Change icon in
assets/images/icon.png
The app includes comprehensive unit tests for calculator and converter functions:
# Run all tests
pnpm test
# Run specific test file
pnpm test lib/calculator.test.ts
# Watch mode
pnpm test --watch- Build production APK:
eas build --platform android --profile production - Create Google Play Developer account
- Upload APK to Play Store Console
- Fill in app details and screenshots
- Submit for review
See APK_BUILD_GUIDE.md for more details.
Made by: Andreas Agouridis
Powered by: NextAppz
Website: nextappz.com/mathz
See CREDITS.md for full attribution.
© 2026 NextAppz. All rights reserved.
For questions or feedback, visit: nextappz.com/mathz
Enjoy calculating with MathZ! 🚀