Skip to work
Ishandeep Singh Software Engineer

Full‑stack and iOS
software engineer.

Final-year Computer Science at RMIT, currently finishing the Apple Developer Academy. I've developed websites and iOS apps, designed a few of them, and project-managed a few more. Recent work is in Swift and full-stack platforms.

Currently
Apple Developer Academy
Based
Melbourne, Australia
Focus
iOS · Full-stack · AR
Degree
BCompSci, RMIT → 2027

Key Work

Year
2026
Duration
6 weeks
Role
UI/UX Designer
Project Manager
Team
5 people
Partner
Send Society

Sendy

Climbing technique analysis · iOS

As part of a five-person team at the Apple Developer Academy, I was the UI/UX designer and project manager on "Sendy", an iOS app that lets two climbers compare how they moved through the same bouldering problem. We built it over six weeks alongside Send Society, a local climbing community who agreed to be interviewed, filmed and tested on throughout the project.

The role

My responsibilities were split across two roles. As Project Manager I owned the schedule, ran the team's decision-making and kept the scope inside what five people could deliver in six weeks. As UI/UX Designer I took the product from initial research through to the final high-fidelity prototype, covering the user flows, the interaction design and the visual system the app was built on.

Research

The research phase involved user interviews, field observation at climbing gyms and competitor analysis, which I turned into three user personas. The key finding was that there was a diagnostic gap, where climbers in the V2 to V6 range can see that stronger climbers move differently, but they don't know how or why. We built our product on a single constraint: the app never tells a climber they are wrong. Reach and body type change what counts as good technique, so the stronger climber is presented as a reference rather than a correct answer, and every screen describes a difference instead of grading it.

Designing the comparison

For the analysis experience I designed a scrubbing timeline closer to a chess engine's evaluation bar than a video player, letting a climber jump directly to the moments where the two attempts diverged. In the app there are three comparison modes: overlay, side-by-side and skeleton. Through rounds of usability testing, we narrowed six original modes down to these three, based on what climbers actually wanted to see. A late session with a coach reshaped the analysis screen entirely, which was challenging, but ultimately the right decision.

What I learnt

Sendy taught me how much of a product is decided before any code is written. Almost every part of the final build is traceable to something a real climber said in an interview or online, and the parts that did not survive testing were the ones I had assumed rather than asked about.

Figma · user interviews · field observation · personas · lo-fi → hi-fi · usability testing

Year
2026
Duration
2 weeks
Role
Developer
Designer
Team
5 people
Focus
AR · Multiplayer

Bike Bike

Multiplayer AR racing · iOS

"Bike Bike" was a two-week team challenge at the Apple Developer Academy, built by a team of five. Players point an iPhone at the floor, an augmented reality racetrack spawns onto the real ground in front of them, and everyone connected to the same local network races on it together.

The challenge

At the start, I thought the idea was too ambitious for two weeks. Building an AR game that could place a track in the real world and support multiple players felt like more than five people could realistically finish in that time. Instead of scaling the idea back immediately, we decided to push through the technical and design barriers and see what a committed team of five could actually build.

Building the AR

Bike Bike was also the first project where I seriously explored product design. I worked across both sides of the project, from shaping the visual language and interface to implementing those decisions in code. On the development side, I worked on the AR, networking, and integration. This included world tracking and track placement using ARKit and RealityKit, as well as sharing race state between devices with MultipeerConnectivity, allowing sessions to run peer-to-peer without a server.

The design side

On the design side, I created the in-game interface, floor-scan onboarding, and the visual language of the experience. I wanted the game to feel connected to its setting, so I took inspiration from Bali's architecture and incorporated its forms and visual character into the design.

Working across both

Working on both design and tech for the same feature changed how I approached both. Design decisions had to account for what was technically possible, while the implementation often revealed problems that would have been skipped over in a static design. It was the first time I really saw development and design as parts of the same process rather than separate stages.

The showcase

By the end of the two weeks, we had something people could actually pick up, understand, and play together. The app became one of the most popular experiences during the showcase, and seeing people immediately understand the concept, race against each other, and genuinely enjoy using something we had built in such a short time made the initial ambition feel worth it.

What I learnt

Bike Bike was my first real exposure to spatial computing, real-time networking, and product design in the same project. More importantly, it showed me what a small, committed team can achieve when the goal is ambitious enough to force everyone past what they think is possible. It is the project that made me want to keep exploring AR, interactive experiences, and how design and development can work together.

Swift · SwiftUI · ARKit · RealityKit · MultipeerConnectivity · Xcode

Year
2026
Role
Developer
Project Manager
Team
6 people
Focus
Health · Habit

MOM

Postpartum movement · iOS

"MOM" was a team challenge at the Apple Developer Academy, built by a team of six. It is an iOS app aimed at helping new mothers rebuild a movement habit after giving birth, designed around short sessions that fit into the day of a stressed and busy mother. I worked on this project as both a developer and the project manager.

The role

On the development side I contributed to the SwiftUI implementation of the app. As Project Manager, I ran the schedule and the team's decision-making, but a big part of the role was making sure everyone had a chance to contribute. With six people bringing different perspectives and ideas, I had to facilitate discussions, make sure quieter voices were heard, and create an environment where people felt their ideas were valued.

Staying with the user

Another part of my role was keeping the team grounded in who we were actually building for. We used our user personas to question our decisions throughout the project: would this actually help a new mother, and would she realistically use it in her day? This meant cutting ideas we personally liked when we realised they added complexity without making the experience better for our users.

What the interviews changed

User interviews reinforced this throughout the project. We often came into discussions with assumptions about what new mothers needed, only to have those assumptions challenged by what real mothers told us. Those conversations changed the direction of our decisions and reminded us that our understanding of a problem is not the same as the user's experience of it.

What I learnt

MOM taught me that building an app that genuinely empowers people is often about what you choose to leave out. Good ideas are easy to become attached to, but creating with empathy means being willing to cut them when they don't serve the user. As a team, we learned to lead with the user rather than our own ideas, and for me, that became one of the most important lessons from the project.

Swift · SwiftUI · Xcode

Year
2025
Role
Full-stack Developer
Team
2 people
Context
RMIT University

TeachTeam

Tutor hiring platform · web

As part of a two-person university team, I co-developed "TeachTeam", which is a full-stack web application designed to streamline the tutor hiring process for the School of Computer Science. The platform provides a complete, multi-user system with distinct roles and permissions for applicants, lecturers, and administrators.

The role

While my teammate and I collaborated on the overall architecture, my primary responsibilities were focused on the lecturer's user experience and the core application logic.

Front-end

On the front-end, I developed the home page and the Lecturer Dashboard using React and TypeScript. The lecturers' dashboard was a key feature of this app, with complex functionality which included: dynamic filtering of applicants by course, skills, and availability, as well as having an interactive side-panel for ranking and commenting on candidates.

Back-end

For the back-end, I was responsible for building the REST APIs with Node.js that power both the lecturer and applicant features. This involved creating the endpoints for candidates to submit their applications and for lecturers to retrieve, filter, and rank applicant data in a secure manner. I designed and managed the relational database schema using TypeORM and Cloud MySQL to store data across users, courses, and applications.

What I learnt

This project was a significant learning experience in collaborative software development. It taught me how to effectively manage distinct parts of a large codebase, use Git for version control in a team setting, and integrate front-end and back-end systems into a cohesive and functional product. It solidified my skills across the full development stack.

Building "Teach Team" gave me a greater passion for creating practical, user-focused tools that solved real-world problems.

React (TypeScript) · Node.js · Express · TypeORM · Cloud MySQL · REST · GraphQL · Git

Year
2024—25
Role
Founder
Developer
Team
Solo
Outcome
Six figures

WheelGripCo

E-commerce business

WheelGripCo was an entrepreneurial endeavour I founded and scaled into a profitable six-figure enterprise. The project involved identifying a niche market opportunity, sourcing products, and building a digital store and marketing strategy from the ground up.

The technical side

My approach was centred around users. On the technical side, I had to optimise the Shopify front-end for the user experience (UX) to increase visibility and user satisfaction. I integrated various third-party APIs to automate workflows for order tracking and deeper analytics. A part of my work involved data analysis, where I used SQL to process sales and social media metrics, which ultimately led to a 15% improvement in conversion rates and informed my strategies for A/B testing.

Growth

Beyond the technical side, I personally drove the organic growth strategy that drove the business's success. By creating highly engaging and entertaining content, I built a large online community from scratch, achieving milestones that included growing an audience to over 100,000 subscribers and accumulating hundreds of millions of views in total for this product. This endeavour allowed me to gain a deeper understanding of how to captivate and please a massive user audience.

What I learnt

This venture also taught me how to stay resilient and adapt quickly in fast-paced, high-pressure environments and most importantly, it gave me a deep, firsthand understanding of the entire customer journey and the importance of building a brand and site that users trust.

My journey taught me how to build a business from the ground up, and build a business with users in mind.

Shopify · Python · SQL · Shopify Analytics · A/B testing

Year
2023—24
Role
Sole Developer
Team
Solo
Focus
Algorithms

Reverse Mazed

Algorithmic game · personal

This was a self-initiated project driven by my fascination with algorithms and procedural generation, where I built "Reverse Mazed," a game that challenges player memory and skills.

How it works

In the first phase, the player navigates a character from a starting point to an end goal, creating a path through an open level with obstacles. Upon reaching the goal, the game enters its second phase: it procedurally generates a complex maze around the exact path the player just took. The player must then navigate back to the start, but the only solvable path is the one they just created, testing their short-term memory. The core technical challenge was to generate a maze with a single, predetermined solution. Standard maze algorithms were unsuitable for this constraint, which required me to design and implement a custom Prim's algorithm that could build a valid, complex maze structure specifically around the player's recorded path.

The solvers

I later integrated both A* and DFS solvers to visualise and compare their algorithmic efficiency in real-time on my custom mazes. The entire process, from generation to the step-by-step solving by each algorithm, is visualised using the Pygame library, providing immediate and clear feedback on how these algorithms operate.

What I learnt

In this project, I learned how to translate theoretical algorithms into a practical, visual, and interactive application. It deepened my understanding of data structures, algorithmic efficiency, and the importance of heuristics in problem solving.

This project ignited my passion for building tools/experiences that are both technically interesting and engaging for the user.

Python · Pygame · Prim's algorithm · A* · DFS

Roles
Software Engineer iOS Developer Product Engineer
What I build with

Stack

Languages

Swift/TypeScript/JavaScript/Java/Python/C# (Unity)/SQL/HTML & CSS

iOS

Swift/SwiftUI/UIKit/ARKit & RealityKit/Core ML/Vision/Core Haptics/MultipeerConnectivity/Xcode/TestFlight

Web & Backend

React/Node.js/Express/REST APIs/GraphQL/TypeORM/MySQL

Data & ML

pandas/NumPy/Matplotlib/supervised learning models/Shopify Analytics

Design & Accessibility

Human Interface Guidelines/VoiceOver/Dynamic Type/Contrast/Figma/Usability Testing

Tools & Practice

Git/GitHub/Agile/Google Cloud Platform

Collaboration

Cross-functional team leadership/Agile delivery/Stakeholder communication/User research/Cross-cultural teamwork/Mentoring

About me

I came to the Apple Developer Academy as someone who had never designed a real product. Since then I've designed and shipped three apps end to end, developed and led three teams, and learned how to turn ideas into products people can actually use. Each project has pushed me to become a better overall developer.

I've worked across iOS, full-stack development, AR and machine learning, usually taking a feature from an early idea through to something running on a real device. The Academy taught me to do that alongside other people, in cross-functional teams where engineers, designers and project managers make decisions quickly, test with real users and ship under tight deadlines.

At RMIT I've built a broad software engineering foundation: data structures and algorithms, software engineering, databases, web development and machine learning.

Before the Academy I founded and ran an e-commerce business that grew to multiple six figures in revenue and over 100,000 subscribers. I built the storefront, worked with APIs and analytics, and grew it from scratch. Every part of it was mine to figure out, and most of it I was learning as I went.

From
Melbourne, Australia
Degree
BCompSci (Professional)
RMIT University
Minor
Enterprise Development
Graduating
June 2027
Also
Apple Developer Academy
@ BINUS
Outside
Bouldering, hiking,
combat sports, reading,
sketching
Get in touch

Let's talk.

email