Binary Lab — Portfolio Project by Muhammad Daffa Ashdaqfillah

An interactive iPad application designed to help beginners intuitively learn binary concepts, logic gates, and bitwise operations through algorithmic puzzles.

Binary Lab — Portfolio Project by Muhammad Daffa Ashdaqfillah

Published on February 15, 2026

Project Details

Description

Binary Lab is an interactive learning application built for iPad as a submission for the Swift Student Challenge. It aims to bridge the gap between theoretical knowledge and practical intuition regarding fundamental computer science concepts such as binary, logic gates, and bitwise operations. Instead of passively reading truth tables or memorizing rules, users engage with these concepts through hands-on puzzle solving with real-time feedback.

Problem

Many beginners, especially high school and junior high students, find fundamental digital electronic concepts abstract. While they may successfully memorize definitions like "AND means both inputs must be true," applying this knowledge to read circuits or predict outputs often leads to confusion. Traditional learning methods rely heavily on passive reading, making it difficult for students to build an intuitive understanding of how 0 and 1 represent states like off and on, or false and true.

Role

As the sole creator for the Swift Student Challenge, I was responsible for the entire development lifecycle within a tight constraint of roughly 30 days. This included concept ideation, UI/UX design focusing on visual clarity, and developing the core puzzle algorithms using Swift and SwiftUI, all while ensuring the application size remained under 25 MB.

Solution

Binary Lab transforms logic gates and bitwise operations into interactive playgrounds. The application offers three main sections:

  • Lesson: Introduces the objective, behavior, formulas, use cases, and common pitfalls for various operations before entering the puzzles.
  • Logic Gates Puzzle: A visual circuit board where users must select the correct gates (AND, OR, NOT, XOR, etc.) to match a target output shown in a truth table.
  • Bitwise Puzzle: A strategic game where users manipulate a set of bits (ACTIVE) using bitwise operations (AND, OR, SHL, etc.) to match a TARGET state within a specific move limit.

Key Features

  • Algorithmic Leveling System: Features progressive difficulty (1 to 10) that adjusts equation complexity, number of inputs, and available operations.
  • Real-Time Visual Feedback: Automatically checks the circuit connections and bit states, highlighting mismatches to encourage strategic learning.
  • Adjustable Bit Widths: Allows users to challenge themselves with 4-bit, 8-bit, or 16-bit puzzles.
  • Progressive Hint System: Guides users by pointing out potential errors without directly giving away the solution.

Implementation

The application was built entirely using SwiftUI, heavily leveraging shapes, gradients, and custom components instead of heavy image assets to meet the 25 MB size constraint. The puzzle generation logic is dynamic; as the difficulty increases, the algorithmic engine introduces deeper expressions and more complex gates like NAND, NOR, and XNOR. A "canvas design" approach was adopted, ensuring the interaction loop of try, receive feedback, adjust, and retry feels seamless and engaging on the iPad.

Visuals

Image
Image
Image
Image