Graduation Capstone Project

Hey everyone, my name is Hakim and this is the beginning of my capstone project for the Launch Your First App program.

My background is in digital marketing (especially in SEO) and I’ve been learning iOS for 3 months now.

Ultimately, my goal for learning iOS development is to launch my own tech company newt year.

I’m looking forward to updating this project log as I progress to completing my capstone project!

Hello my capstone project idea is an app that provides users with curated conversation topics based on context (e.g., casual chats, networking events, dates) or interests.

The app will feature a clean home screen with categories for conversation topics, such as casual, professional, relationships, and fun trivia. Users can also access a “Random Topic” button for quick inspiration.

For content generation, the app will rely on either a static database (supabase) to provide pre-curated topics. Filters will be available to help users select topics based on context or mood.

Core features will include the ability to save favorite topics for later, share topics directly with friends via social media or messaging apps, and receive a daily “Topic of the Day” notification for consistent engagement.

Optional features for the MVP include user customization, where users can input their interests to get personalized suggestions, and a gamification element that allows users to earn badges for using or sharing topics.

Hi everyone,

I’m back here to give you some feedback about my capstone project. Here’s my design flow:

1 Like

Hi guys,

It’s Hakim here. I’m back to show you how my progress are going. Here’s a sneak peek of my onboarding flow:



As you see the texts are in French cause I’m a French nigga. The app will be launched in France first and to the rest of the world by April 2025.

Let me know what you think about it to help me improve the user experience.

Love y’all

1 Like

Hi guys,

Hakim here. Today I worked on the login and signup views of my app. Check them here:


As you see it’s a pretty basic UI. Let me know if there is something I can make better on theses screens.

Next up, I’m working on getting my data right so I can start displaying them on the UI. Wish me good luck

Hi guys my app is starting to get in shape:



Just created the tabview of my app. As you can see we have the 3 main screens of the design. Let me know what you think about it.

Sometimes less is more so keep up the great work man.

1 Like

Bonjour!

This looks very promising. The profile icon works quite well in its current position; one idea I have, though, would be to move that profile icon to the right of the page title (basically separated with a Spacer() from the title within an HStack{}). This would allow access to the profile from any screen (in the form of a .sheet probably), though it would interrupt the use of your .navigationTitle(). Then, you could replace the current location of the profile with a Settings tab for app customization.

À bientôt!

-Michael

1 Like

That you Chris

That’s a crazy idea Michael. I’m currently planning on putting the profile et settings into the profile tab. Since I’m planning to test the idea and see if I get some users, I’m not gonna add your advice for the moment. But I promise once I get some traction I will do it, I will let you know once it’s done buddy :white_check_mark:

Hi guys,

Hakim here. Glad to tell y’all that I’ve been hard working on my app this weekend. Here’s a steep peak of my home view:

I have no images for the moment so I’ve added just some rounded rectangles. The blue rectangle represents topics people can use in every day life like news, sports etc… And the red ones represents subjects people might want to use in some certain situations only. For example when it comes to having discussions with friends, finding icebreakers, greeting new people…

It’s been a really productive week-end so I’m pretty happy with my work. See you soon for my next achievements

Btw the rectangles are just placeholders for the moment. I’m gonna change them with some cool images

Hey guys I really need help, I need some help to achieve this layout:

When a user clicks on a topic, he should be brought into this view. This is a custom scroll view such like a deck of cards. When the user swipes to the left or right, the card in front goes to the back and another card shows up.

Any material will be appreciates: video, tutorial, blog post, one on one call…

Different Chris. I’m one of the moderators on here and usually visit relatively often although of late I have been away for some R & R.

With regards to your Card View sample above. I put together some code that you might be able to make use of as a starting point. What needs to be added is a whole lot of DragGesture code so that you can grab a card and swipe it. That I have no idea at this point on how to do but there would almost certainly be some sample code through a Google search that might have what you need. Maybe ChatGPT is an option too.

ContentView:

struct ContentView: View {
    var positions = [4, 3, 2, 1]

    var body: some View {
        ZStack {
            LinearGradient(colors: [.white, .blue, .blue], startPoint: .top, endPoint: .bottom)
            ForEach(positions, id:\.self) { position in
                CardView()
                    .overlay(
                        Text("Card \(position) containing text")
                    )
                    .offset(y: -15.0 * CGFloat(position))
                    .padding(.horizontal, 10 * CGFloat(position))
            }
        }
        .edgesIgnoringSafeArea(.all)
    }
}

#Preview {
    ContentView()
}

The associated CardView:

struct CardView: View {
    var body: some View {
        RoundedRectangle(cornerRadius: 20)
            .fill(Color.white)
            .frame(height: 300)
            .shadow(color: .gray, radius: 2)
            .padding(.horizontal, 10)
    }
}

#Preview {
    CardView()
}

Keep up the good work! I like your idea of testing both ideas out separately. Perhaps you can add some analytics to your app to log each time a user taps on the profile tab or selects a setting? Then, if you decide to test the second idea, you could do the same. Merci! I look forward to seeing it.