Skip to content

πŸ“Š Meta Ads performance analytics dashboard for iOS β€” SwiftUI Charts, Live Activities, and haptic feedback

Notifications You must be signed in to change notification settings

hatimhtm/AG1Dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AG1 Dashboard - iOS App πŸ“Š

Modern SwiftUI application for Meta Ads performance analytics. iOS 17+ | Swift 5.9 | SwiftUI Charts

✨ iOS 17+ Features

Feature Description
🎯 Symbol Effects .bounce, .pulse, .wiggle animations
πŸ“³ Sensory Feedback Contextual haptics (selection, impact, notification)
πŸ”’ Content Transitions .numericText() for animated KPIs
πŸ“Š Chart Selection Interactive chart selection
πŸ” Search Suggestions Native search suggestions
πŸ“± Dynamic Island Live Activities support for real-time tracking
🎨 Material Backgrounds .regularMaterial blur effects

πŸ“± Screens

1. Overview (Dashboard)

  • 6 KPIs with .bounce animations
  • ROAS/Month charts with interactive selection
  • Budget/Product charts
  • Top 5 creatives by ROAS
  • Top 5 creators by conversions
  • Pull-to-refresh with haptics

2. Creatives List

  • Smart search with iOS 17 suggestions
  • Filters: Product, Month, Status, Type
  • Sort: ROAS ↑↓, Budget ↑↓, Conversions ↑↓
  • Context menus with preview
  • Swipe actions (favorite, archive)
  • Presentation detents (adaptive sheet)

3. Creative Detail

  • 8 selectable KPIs with feedback
  • Flow layout for tags
  • Staggered entry animations
  • Quick actions (edit, duplicate, share)

πŸ—‚ Project Structure

AG1Dashboard/
β”œβ”€β”€ AG1DashboardApp.swift          # Entry point
β”œβ”€β”€ AG1-Data.csv                   # 1200 rows of mock data
β”œβ”€β”€ Theme/
β”‚   └── Theme.swift                # Complete design system
β”œβ”€β”€ Models/
β”‚   β”œβ”€β”€ Creative.swift             # Data model
β”‚   └── FilterState.swift          # Observable filter state
β”œβ”€β”€ ViewModels/
β”‚   └── DashboardViewModel.swift   # Business logic + charts
β”œβ”€β”€ Services/
β”‚   β”œβ”€β”€ CSVParser.swift            # CSV parsing
β”‚   └── LiveActivityManager.swift  # Dynamic Island support
└── Views/
    β”œβ”€β”€ ContentView.swift          # Adaptive navigation
    β”œβ”€β”€ Components/
    β”‚   └── Components.swift       # 15+ reusable components
    └── Screens/
        β”œβ”€β”€ OverviewView.swift     # Dashboard with charts
        β”œβ”€β”€ CreativesListView.swift # Filterable list
        └── CreativeDetailView.swift # Detail view

🎨 Design System

// Colors
AppTheme.Colors.primary          // AG1 Green
AppTheme.Colors.background       // Light gradient
AppTheme.Colors.accentBlue/Purple/Cyan...

// Animations
AppTheme.Animations.smooth       // 0.3s easeInOut
AppTheme.Animations.bouncy       // Spring with bounce
AppTheme.Animations.snappy       // Quick response

// Styles
.cardStyle()                     // Cards with shadow
.gradientBackground()            // Gradient background

πŸ“Š Mock Data

The AG1-Data.csv file contains 1200 entries with:

  • 7 products (AG1 Powder, Travel Packs, Vitamins...)
  • 10 different creators
  • 5 content types (UGC, Podcast, Video, Image, Testimonial)
  • 8 marketing angles
  • 5 months (July - November 2025)
  • Various metrics (budget, conversions, ROAS, impressions...)

πŸš€ Installation

# 1. Clone the project
git clone https://github.com/hatimhtm/AG1Dashboard.git

# 2. Open in Xcode 15+
open AG1Dashboard.xcodeproj

# 3. Build & Run
# Target: iOS 17.0+ Simulator or Device

πŸ“¦ Technologies

  • SwiftUI - Declarative UI framework
  • Swift Charts - Native charting
  • Combine - Reactive programming
  • ActivityKit - Live Activities
  • Observation - @Observable macro (iOS 17)

πŸ— Architecture

MVVM Clean Architecture
β”œβ”€β”€ Models (Data layer)
β”œβ”€β”€ ViewModels (Business logic)
β”œβ”€β”€ Views (Presentation layer)
β”‚   β”œβ”€β”€ Screens (Pages)
β”‚   └── Components (Reusable)
└── Services (External interfaces)

πŸ“ CSV Columns

Column Description
Ad Name Creative identifier
Product Product category
Creator Creator name
Content Type UGC/Podcast/Video...
Marketing Angle Primary hook
Month Broadcast period
Status Live/Stopped/Paused/Archived
Budget Spent (€) Amount invested
Conversions Number of purchases
ROAS Return on Ad Spend
Impressions Number of views
Clicks Interactions
Click Rate (%) CTR

πŸ“„ License

MIT


πŸ‘€ Author

Hatim El Hassak β€” Full-Stack Engineer

Portfolio LinkedIn Email

About

πŸ“Š Meta Ads performance analytics dashboard for iOS β€” SwiftUI Charts, Live Activities, and haptic feedback

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages