FlipIt - Memory Card Game
FlipIt! is a mobile memory card game designed to challenge and improve memory skills while providing an engaging, themed experience. Players can select between two fun themes — Universe and Mario — and choose from three difficulty levels (easy, medium, hard) to test their memory skills. The application utilizes an appealing and engaging user interface, which makes users come back to it for fun and cognitive practice.
Technologies
This is an example of a personal project I undertook to show how to create a mobile game interaction using new technologies like Expo and React Native, which I had never worked with before. The project's objective was to understand a new tech stack and attempt to map out a user interface in a mobile environment, manage the game state, and create game components within a mobile environment that could be easily reused.
I was the sole developer and designer for the project, which meant that I managed all the development phases:
Special thanks to Carmen Ansio for the card component design used in the Super Mario Bros - Memory Game which is available for free use in Figma.
The project started with sketches and designing user interfaces in Figma. I made sure to balance playfulness with accessibility, which meant the design would need to accommodate various themes and scale to different devices. I aimed at:
My goal was for the app to appear polished despite working around a simple concept. I prioritized satisfying control layouts and touches.
Managing Game State Across Themes and Difficulties: The most complex part was managing the game state across themes and difficulties. I had to ensure that switching themes or restarting games would correctly reset all states without glitches, and I had to manage moves and matched cards between themes and difficulties.
Memory Optimization and Efficient Image Loading: Another challenge was optimizing memory usage. It was crucial to store and load images efficiently to prevent lag on low-end devices. To solve this, I used Async Storage to store image URLs locally and implemented conditional rendering to minimize unnecessary network requests. , ensuring a smooth and accessible experience for all users.
This project was a deep dive into mobile development with a new tech stack. I gained confidence in React Native and Expo while learning about mobile performance considerations.