Inspiration

Number systems are usually taught as a collection of rules: divide by two, group binary digits, memorize hexadecimal symbols, repeat.

ALGEXYZ started from a different question:

What if a converter did not only give the answer, but showed why the answer is correct?

The project was inspired by the gap between calculators that instantly convert values and educational tools that actually help learners understand positional notation, conversion strategies, and the relationship between representations.

The core idea is simple:

Same value, different base.

A number does not change just because its representation changes.

$$ 11010110_2 = 214_{10} = D6_{16} $$

ALGEXYZ turns that idea into an interactive mobile learning experience.

What it does

ALGEXYZ combines three connected experiences:

Converter

Convert values between number systems while seeing the conversion process step by step.

Instead of only returning:

$$ 11010110_2 = D6_{16} $$

ALGEXYZ can explain the strategy behind it. For example, binary-to-hexadecimal conversion can use bit grouping:

$$ 1101_2 = D_{16} $$

$$ 0110_2 = 6_{16} $$

Therefore:

$$ 11010110_2 = D6_{16} $$

Different conversions can use different strategies, such as positional expansion, successive division, and bit grouping.

Calculator

A calculator adapted to the selected number system.

The available digits change according to the base, allowing calculations directly in binary, decimal, hexadecimal, and other supported systems.

Results can also be opened in the Converter to understand how their representation was obtained.

Practice

A training environment for learning number-system conversions through exercises, quizzes, and immediate feedback.

The goal is not only to test whether the user knows the answer, but to connect each answer back to the underlying conversion method.

Freemium learning model

ALGEXYZ is designed as a freemium educational product.

The free experience focuses on the most common systems:

  • Binary
  • Decimal
  • Hexadecimal
  • Unlimited calculator usage
  • Step-by-step conversion explanations
  • A limited number of daily practice activities

Paid tiers progressively unlock additional learning depth, including octal and duodecimal systems, more practice activities, fractional conversions, two's complement, advanced conversion techniques, and arbitrary bases.

RevenueCat is used as the subscription and entitlement layer so access to learning capabilities can be modeled independently from the interface and mathematical engine.

How we built it

ALGEXYZ is being developed as an Android-first application using Ionic, Angular, and Capacitor.

The mathematical core is intentionally separated from the mobile interface.

The conversion engine is implemented in TypeScript and uses BigInt for integer operations, avoiding the precision limitations of JavaScript's regular number type when working with large values.

The architecture separates:

  • number-system definitions;
  • parsing and formatting;
  • conversion logic;
  • conversion explanation strategies;
  • calculator behavior;
  • practice generation;
  • subscription entitlements;
  • mobile and cloud infrastructure.

This allows the same mathematical engine to power the Converter, Calculator, and Practice experiences without duplicating conversion logic.

Firebase provides the cloud foundation for features such as user data, progress synchronization, analytics, and future account-based functionality.

Capacitor provides the bridge between the Angular application and the Android platform.

RevenueCat manages the monetization layer and access to premium capabilities.

Challenges

One of the main challenges is that converting a number and teaching how that conversion works are different problems.

A conventional converter can transform a value through an intermediate numeric representation and return the result immediately.

An educational converter needs to preserve the reasoning.

For example, binary-to-hexadecimal conversion is more useful pedagogically when represented as groups of four bits than when treated as an opaque numerical transformation.

This led to an architecture where a conversion can produce both a result and structured explanation data.

Another challenge is designing the system around arbitrary bases without filling the application with special cases such as:

if binary, if decimal, if hexadecimal.

The lower-level conversion engine is therefore designed to support bases from 2 to 36, while the product layer determines which bases and techniques are available to each user.

The mobile interface also needs to remain simple enough for quick calculations while still exposing enough information to support learning.

What we learned

Building ALGEXYZ reinforced an important distinction between computation and explanation.

A mathematically correct result is not automatically a useful educational result.

The project also required thinking about number representation as a domain rather than as a collection of isolated calculator features.

That architectural decision made it possible for conversion, calculation, and practice to share the same mathematical foundation.

We also explored how a subscription model can unlock learning depth instead of simply removing advertisements or hiding arbitrary interface features.

RevenueCat entitlements fit naturally into this model because capabilities such as supported bases, daily practice limits, and advanced conversion techniques can be represented as product permissions.

What's next

The next milestones for ALGEXYZ include:

  • expanding the step-by-step explanation engine;
  • completing the adaptive calculator;
  • generating practice activities dynamically;
  • supporting octal and duodecimal systems;
  • adding fractional conversions;
  • teaching two's complement;
  • supporting arbitrary bases;
  • synchronizing learning progress across devices;
  • expanding the RevenueCat-powered subscription experience.

The long-term goal is to make ALGEXYZ more than a base converter.

It should be a compact laboratory for understanding how numbers can represent the same value in different systems.

Built With

Share this project:

Updates

Submission history