Skip to content

Releases: huzaifaa-dev-vibe/Open-Calc

OpenCalc v1.0.0 — First Stable Release 🎉

Choose a tag to compare

@github-actions github-actions released this 02 Jul 13:36

🎉 OpenCalc v1.0.0 — First Stable Release

The first installable Android APK is here! After weeks of development and a one-day delay to finalise the build, OpenCalc v1.0.0 is ready. Thank you for your patience. ❤️


📦 Download

File Size Description
OpenCalc-v1.0.0.apk ~25 MB Signed Android APK (Android 7.0+)
OpenCalc-v1.0.0.apk.sha256 65 B SHA256 checksum for integrity

Install on Android

  1. Download OpenCalc-v1.0.0.apk to your Android device
  2. Open Settings → Security (or Apps → Special access → Install unknown apps on newer Android)
  3. Enable "Install unknown apps" for your browser
  4. Tap the downloaded APK and select Install
  5. Open OpenCalc from your app drawer 🎉

⚠️ Verify the download (optional):

sha256sum OpenCalc-v1.0.0.apk
# Compare with OpenCalc-v1.0.0.apk.sha256

Alternative: Install as PWA (no APK needed)

Don't want to sideload? OpenCalc is also installable as a Progressive Web App:

  1. Visit https://open-calc-7.netlify.app/ in Chrome (mobile or desktop)
  2. Tap the Install icon in the address bar
  3. OpenCalc appears in your app drawer / launcher

🆕 What's new in v1.0.0

Headline

  • 📱 First Android APK — signed, installable on any Android 7.0+ device
  • 🏷️ Semantic versioning kicks off here (v1.0.0)
  • 🤖 GitHub Actions auto-build the APK on every v* tag push

Fixes from v0.0.9

  • 🫥 History button overlap FIXED — top bar restructured to a 2-row layout. History button now has a live count badge.
  • 🎯 D-pad added (↑ ↓ ← →) — compact 4-directional navigation cluster in the display. Permanently visible, even when input is empty.
  • 👀 Always-visible caret — blinking caret shown at all times (even when LaTeX renders) so you always know where input will land.
  • 📜 History access from Settings — new History section at the top of Settings with current count + favorites count.
  • 🛡️ Privacy & Permissions section in Settings — shows what data is stored, what permissions are requested, and links to the full privacy policy.
  • 📅 Launch date moved from July 1 → July 2 — to finalise the APK wrapper, signing, and QA.

✨ Features

OpenCalc ships with three calculators in one elegant app:

🧮 Normal Mode

Full arithmetic, memory (MC/MR/M+/M−), undo/redo, percent, power, parentheses, keyboard shortcuts.

🔬 Scientific Mode

  • Trig: sin, cos, tan, cot, sec, csc + all inverses (sin⁻¹, cos⁻¹, tan⁻¹, etc.)
  • Logs: ln, log, eˣ, 10ˣ
  • Powers: x², x³, xʸ, √, ∛, ʸ√x, 1/x, n!
  • Combinatorics: nPr, nCr
  • Misc: |x|, mod, rand, floor, π, e, τ, φ
  • Fraction templates: a/b and compound a/b/c with caret positioning
  • DEG / RAD toggle
  • Caret navigation: ← → arrow keys

🔄 Unit Converter

108 units across 13 categories:

  • 📏 Length (13 units)
  • ⚖️ Mass (11)
  • 🌡️ Temperature (4)
  • 🟧 Area (10)
  • 🧊 Volume (14)
  • ⏱️ Time (12)
  • 💨 Speed (7)
  • 💾 Digital storage (10)
  • ⚡ Energy (9)
  • 🔌 Power (7)
  • 🎈 Pressure (8)
  • 📐 Angle (6)
  • 📻 Frequency (6)

Features searchable picker, swap button, copy & share.

🧠 Step-by-Step Solver

Press = then Steps to see:

  1. The expression in mathematical notation
  2. Algebraic simplification
  3. Rational form (where applicable)
  4. Numeric evaluation with angle-unit context

🌈 Live LaTeX Rendering

Every expression is typeset in real time using KaTeX — including incomplete ones. The fraction template shows □/□ until you fill it in.

📜 Persistent History

  • Searchable, favorite-able, copy & share
  • Stored locally (offline-first)
  • Cloud sync coming in v1.1 (opt-in)

🎨 Premium Material 3 Design

  • Custom emerald + amber palette
  • Spring-animated segmented toggles
  • Fully rounded keys with distinct backgrounds and rings
  • Light/Dark themes (follows system preference)
  • Smooth 60fps animations

♿ Accessibility

  • ARIA roles, semantic HTML
  • Keyboard navigation
  • Screen-reader labels
  • Adjustable haptic feedback intensity

⚙️ Customisation

  • Orientation: Auto / Portrait / Landscape
  • Decimal places: Auto / 2 / 4 / 6 / 8
  • Angle unit: DEG / RAD
  • Haptics: Off / Light / Medium / Strong
  • Theme: Light / Dark

🛡️ Privacy

OpenCalc is privacy-friendly by design:

  • ✅ No data collection
  • ✅ No analytics
  • ✅ No trackers
  • ✅ No backend server
  • ✅ All data stored locally on device
  • ✅ Only 2 permissions: VIBRATE (for haptics) + INTERNET (required by WebView)

Full privacy policy: PRIVACY.md


🛠️ Tech Stack

Layer Technology
Framework Next.js 16 (App Router)
Language TypeScript 5
UI shadcn/ui + custom Material 3 keys
Styling Tailwind CSS 4 + custom OKLCH tokens
Animation Framer Motion 12
State Zustand 5 (persisted)
Math mathjs
LaTeX KaTeX
Native shell Capacitor 8
Database Prisma + SQLite (local)
Auth TBD — Supabase planned for v1.1
Hosting Netlify (live preview)

📸 Screenshots

See the /public/screenshots/ folder in the repo for full-resolution images:

  1. Normal mode (light, empty state with D-pad)
  2. Normal calculation result
  3. Normal mode (dark, empty)
  4. Normal calculation (dark)
  5. Scientific mode (dark)
  6. Scientific mode (light)
  7. Unit converter (light, empty)
  8. Unit converter — 1000 m → 1 km
  9. History panel with search + favorites
  10. Settings panel
  11. Settings → Privacy & Permissions section
  12. Step-by-step solver drawer

📋 Installation requirements

  • Android: 7.0 (API 24) or higher — covers ~99% of active devices
  • Storage: ~25 MB for the APK
  • Permissions: VIBRATE (optional, default on), INTERNET (auto-granted by WebView)
  • No Google account required
  • No internet required after install

🗺️ What's next — v1.1+

  • 🔐 User authentication — Email, Google, Anonymous Guest (Supabase)
  • ☁️ Cloud history sync — optional, opt-in
  • 📊 Graphing calculator — plot functions
  • 💱 Currency converter — live exchange rates
  • 🤖 AI explanation of solutions — natural-language walkthroughs
  • 🎙️ Voice input — speak your calculation
  • ✍️ Handwriting recognition — write math by hand
  • 📷 Equation scanner — point your camera at a problem
  • Wear OS support — quick calcs on your watch
  • 🌍 Internationalization — multi-language UI
  • 🧪 Unit + integration tests — full coverage
  • 🏠 Home screen widgets — Quick Calculator, Recent Calculation, Scientific Shortcut

🤝 Contributing

OpenCalc is open source (MIT License). We welcome contributions!


📄 License

MIT — see LICENSE.


🙏 Acknowledgements


Built with ❤️ by huzaifaa-dev-vibe and contributors.

⭐ Star · 🐛 Report bug · 💡 Feature request · 🌐 Live preview · 📖 Docs

OpenCalc v0.0.9 — Testing Version (Web) 🧪 [refreshed July 2]

Choose a tag to compare

@huzaifaa-dev-vibe huzaifaa-dev-vibe released this 30 Jun 17:34

OpenCalc v0.0.9 — Testing Version (Web) 🧪

📣 Update July 2: The ZIP has been refreshed with the latest main (commit 3f04bf1). It now includes the TopBar fix (History button no longer hidden), the new D-pad (↑ ↓ ← →), the always-visible blinking caret, History access from Settings, and the launch date moved to July 2, 2026. Re-download to get the latest code!

📣 Update June 30: v1.0.0 launch moved from July 1 → July 2, 2026. We need one extra day to finalise the APK wrapper, sign the build, run QA on real devices, and capture screenshots. See the README for the full status update. Thank you for your patience! ❤️


🌐 Live preview

👉 https://open-calc-7.netlify.app/ (hosted on Netlify)

The live preview runs the latest main branch and is fully functional.


📦 What's in this release

This is the web testing build of OpenCalc — the same code that runs on the live preview, packaged as a ZIP so you can download it, run it locally, and help us find bugs before the v1.0.0 APK release.

Download

File Size Description
opencalc-v0.0.9.zip ~238 KB Full source code (118 files) — refreshed July 2
opencalc-v0.0.9.zip.sha256 93 B SHA256 checksum for integrity

Run it locally

# Unzip
unzip opencalc-v0.0.9.zip
cd opencalc-v0.0.9-latest

# Install dependencies (Bun recommended — faster)
bun install
# or: npm install

# Start the dev server
bun run dev
# or: npm run dev

# Open http://localhost:3000

Verify the download

sha256sum opencalc-v0.0.9.zip
# should output:
# 1e55dcd7908ef5a4770f0c5770a6b9eaf5a2fc108ba1aef7049a5f6fdcff3217  opencalc-v0.0.9.zip

✅ What works in v0.0.9

  • 🧮 Normal calculator — full arithmetic, memory (MC/MR/M+/M−), undo/redo, percent, power
  • 🔬 Scientific calculator — sin/cos/tan/cot/sec/csc + inverses, ln/log/exp, x²/x³/xʸ/√/∛/ʸ√x/1/x/n!, fraction templates (a/b and compound a/b/c), caret navigation, DEG/RAD toggle, nPr/nCr/rand/floor
  • 🔄 Unit converter — 108 units across 13 categories (length, mass, temperature, area, volume, time, speed, digital storage, energy, power, pressure, angle, frequency) with searchable picker and swap button
  • 📜 Persistent history — searchable, favorite-able, copy & share-able, stored in localStorage
  • 🧠 Step-by-step solver — press = then Steps to see expression → simplify → rational form → evaluate, with explanations
  • 🌈 Live LaTeX rendering — KaTeX typesetting with incomplete-expression support (fraction template shows □/□ until filled)
  • 🌓 Light/Dark themes — follows system preference, manually toggleable
  • 📱 Orientation lock — Auto / Portrait / Landscape with auto mode-switching
  • 🔢 Decimal places — Auto (trim zeros) or fixed 2/4/6/8 places
  • 📳 Haptic feedback — adjustable intensity (light/medium/strong)
  • ⌨️ Keyboard support — full keyboard input
  • Accessibility — ARIA roles, semantic HTML, screen-reader labels
  • 📲 PWA installable — add to home screen, runs offline

✨ New in this refreshed build (July 2)

  • 🎯 D-pad (↑ ↓ ← →) — a compact 4-directional navigation cluster in the top-right of the display. Permanently visible, even when the input is empty. ↑ jumps to start, ↓ jumps to end, ← → move one position.
  • 🫥 Fixed TopBar — restructured to a 2-row layout so the History button is never hidden under the mode toggle. History button now has a live count badge.
  • 👀 Always-visible caret — a blinking caret is now shown at all times (even when LaTeX renders successfully), so you always know where the next keystroke will land.
  • 📜 History access from Settings — a new "History" section at the top of the Settings panel with the current calculation count; tap to open the History panel directly.
  • 📅 Launch date moved to July 2, 2026 — see the README status update for the reason.

⚠️ Known issues in v0.0.9

1. 🫥 History button hidden under the mode toggle — FIXED in this refreshed build ✅

The History button was previously obscured by the Normal/Sci/Convert segmented toggle on small screens. This is now fixed — the top bar uses a 2-row layout with History on row 1 (left) and the mode toggle on row 2 (centered). The History button also has a count badge now.

Workarounds (no longer needed):

  • Keyboard shortcut Ctrl + H (or ⌘ + H)
  • Settings → "Open history"

2. 🎯 No directional navigation pad (D-pad) — FIXED in this refreshed build ✅

There was no way to move the caret up/down/left/right from the keypad. This is now fixed — a compact 4-directional D-pad sits in the top-right of the display, permanently visible. ↑ = caret to start, ↓ = caret to end, ← → = move one position.

3. 🔐 Authentication not yet implemented

User authentication (Email, Google, Anonymous Guest) is on the roadmap for v1.1. The current v0.0.9 stores all data locally on the device. There is no cloud sync yet.

4. 📱 No APK yet

The Android APK is the headline feature of v1.0.0. v0.0.9 is web-only. To test on mobile today, install it as a PWA:

  1. Open the live preview at https://open-calc-7.netlify.app/
  2. In Chrome mobile, tap menu → "Install app"
  3. OpenCalc appears in your app drawer

5. 🧪 Limited test coverage

Unit, widget, and integration tests are not yet written. We're relying on manual testing for v0.0.9. If you find a bug, please open an issue with reproduction steps.

6. 🌐 No internationalization

The UI is English-only for now. i18n is on the roadmap.


🗺️ What's coming in v1.0.0 (July 2, 2026)

The stable release adds the headline feature: the first installable Android APK. The two major fixes above are already in this refreshed build of v0.0.9.

New in v1.0.0

  • 📱 Signed Android APK — installable on any Android 8+ device
  • 🫥 Fix: History button repositioned ✅ (already in v0.0.9)
  • 🎯 Fix: Full directional D-pad ✅ (already in v0.0.9)
  • 📜 History access from Settings panel ✅ (already in v0.0.9)
  • 👀 Always-visible caret ✅ (already in v0.0.9)
  • 🏷️ Proper version tagging — semantic versioning from here on
  • 📋 Release notes — auto-generated from commits
  • 🤖 GitHub Actions — automated APK build pipeline
  • 📸 Screenshots — in-app screenshots for the README and release page
  • 📦 APK checksums — SHA256 for integrity verification

🤝 How you can help

We need your help to make v1.0.0 great. Here's how:

1. 🐛 Test and report bugs

Download the ZIP, run it locally, and try to break it. When you find a bug:

  1. Open a new issue
  2. Fill in the bug report template (reproduction steps, environment, screenshots)
  3. We'll triage it before v1.0.0

2. 💡 Suggest features

Have an idea? Open a feature request.

3. 🔧 Submit fixes

Read CONTRIBUTING.md, fork the repo, and open a PR.

4. ⭐ Star the repo

Stars help with discoverability. If you like OpenCalc, star it!


🛠️ Tech stack

Layer Technology
Framework Next.js 16 (App Router)
Language TypeScript 5
UI shadcn/ui + custom Material 3 keys
Styling Tailwind CSS 4 + custom OKLCH tokens
Animation Framer Motion 12
State Zustand 5 (persisted)
Math mathjs
LaTeX KaTeX
Database Prisma + SQLite (local)
Auth TBD — Supabase planned for v1.1
Hosting Netlify (live preview)

📄 License

MIT — see LICENSE.