Introduction

After two years of dedicated self-study in programming, focusing on Swift, SwiftUI, and app architecture, I decided to bring my knowledge to life by building my first iOS application.

That’s how Catto was born—a playful social app that merges my love for cats with the challenge of developing a fully functional app. The concept is simple yet fun: users browse through adorable cat photos, add witty captions, and vote on their favorites in a friendly competition to find the funniest or most creative caption.
Project Overview

What started as an idea quickly turned into a working prototype, thanks to my combined skills in development and product design. I created well-defined navigation flows and a visually appealing design, ensuring that user experience remained a top priority throughout the development process.
The core concept of Catto is built around simplicity. The initial focus was on two main functionalities:
1. Browsing and displaying cat photos.
2. Submitting and voting on captions.
From this foundation, I defined the technical components needed for the app’s first version, breaking down the core objects​​​​​.
Development Process

After setting the foundational architecture, I created the project and added it to GitHub. Development began using Xcode, Apple’s IDE.

Design System - “Miau”
To maintain consistency throughout the app, I developed a design system called “Miau.” This includes a set of custom colors, typography, text fields, buttons, and other reusable UI components. 

Architecture & Technical Decisions
After consulting with my mentor, I chose to implement the project using a single module and the MVVM (Model-View-ViewModel) architecture.

One of the key technical milestones was successfully integrating The Cat API (The Cat API link), which provides the photos used in the app. This step involved handling API requests and responses in Swift, which was a crucial learning experience in making Catto dynamic and interactive.
Next Steps

With the initial version of Catto taking shape, my next priority is adding a Swipe Gesture for image navigation. This will allow users to easily swipe left or right to browse through cat photos, enhancing the overall user experience by making interactions smoother and more intuitive.

• Enhanced Voting System: Allowing users to vote on captions, adding a more engaging and expressive way to participate.
• Leaderboards: Introducing rankings to showcase the most creative users based on votes, fostering friendly competition within the app.
• Favorites: Allowing users to “favorite” pictures, enabling them to save and revisit their most-loved cat photos at any time.

Key Takeaways

Developing Catto has been an invaluable experience, allowing me to apply two years of self-taught programming knowledge to a real-world project. From designing scalable architecture to integrating third-party APIs, this project has strengthened my technical foundation.
As I continue to develop Catto, I’m excited to add new features and improve the experience, aiming to make it the go-to app for cat lovers and procrastinators alike.​​​​​​​
You can follow the progress of Catto on GitHub.
Back to Top