{"id":29536743,"url":"https://github.com/yashthakur1/ios-native-claudeapp","last_synced_at":"2026-05-17T01:43:25.668Z","repository":{"id":304628570,"uuid":"1019371925","full_name":"yashthakur1/iOS-native-claudeapp","owner":"yashthakur1","description":"⏱️ Bold iOS stopwatch app with lap tracking, Bungee font, random vibrant backgrounds, and motivational quotes. Built with SwiftUI.","archived":false,"fork":false,"pushed_at":"2025-07-14T09:08:00.000Z","size":311,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-14T11:29:09.230Z","etag":null,"topics":["animation","bungee-font","custom-fonts","haptic-feedback","ios","ios-app","ios17","lap-timer","motivational-quotes","stopwatch","swift","swift5","swiftui","timer","xcode"],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yashthakur1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-14T08:20:47.000Z","updated_at":"2025-07-14T09:04:03.000Z","dependencies_parsed_at":"2025-07-14T11:39:21.360Z","dependency_job_id":null,"html_url":"https://github.com/yashthakur1/iOS-native-claudeapp","commit_stats":null,"previous_names":["yashthakur1/ios-native-claudeapp"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/yashthakur1/iOS-native-claudeapp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yashthakur1%2FiOS-native-claudeapp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yashthakur1%2FiOS-native-claudeapp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yashthakur1%2FiOS-native-claudeapp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yashthakur1%2FiOS-native-claudeapp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yashthakur1","download_url":"https://codeload.github.com/yashthakur1/iOS-native-claudeapp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yashthakur1%2FiOS-native-claudeapp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265562376,"owners_count":23788516,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["animation","bungee-font","custom-fonts","haptic-feedback","ios","ios-app","ios17","lap-timer","motivational-quotes","stopwatch","swift","swift5","swiftui","timer","xcode"],"created_at":"2025-07-17T03:09:25.997Z","updated_at":"2026-05-17T01:43:25.640Z","avatar_url":"https://github.com/yashthakur1.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ⏱️ Swift Stopwatch\n\u003e A bold, energetic iOS stopwatch app with lap tracking, built with SwiftUI\n\n\u003cdiv align=\"center\"\u003e\n  \n![Swift](https://img.shields.io/badge/Swift-5.9-orange.svg)\n![iOS](https://img.shields.io/badge/iOS-17.0+-blue.svg)\n![SwiftUI](https://img.shields.io/badge/SwiftUI-5.0-green.svg)\n![License](https://img.shields.io/badge/License-MIT-purple.svg)\n\n\u003c/div\u003e\n\n## ✨ Features\n\n- **⏱️ Precise Timing** - Millisecond accuracy with smooth real-time updates\n- **🏁 Lap Recording** - Track multiple laps with automatic best/worst identification\n- **🎨 Dynamic Design** - Random vibrant background colors on each launch\n- **🔤 Custom Typography** - Bold Bungee font throughout the entire app\n- **💪 Motivational Start** - Inspiring quotes on splash screen to get you going\n- **📱 Native iOS Feel** - Smooth gestures, haptic feedback, and fluid animations\n- **🎯 Performance Optimized** - Efficient timer implementation with minimal CPU usage\n\n## 🛠️ Architecture\n\n### Project Structure\n```\nTimerApp/\n├── TimerApp.swift          # App entry point\n├── ContentView.swift       # Main UI and animations\n├── SplashView.swift        # Motivational splash screen\n├── TimerManager.swift      # Business logic and state management\n├── Bungee-Regular.ttf      # Custom font file\n├── Info.plist             # App configuration\n└── Assets.xcassets/       # App icons and assets\n```\n\n### Key Components\n\n#### 1. **SplashView** - The Motivator 💪\nA dynamic splash screen that sets the tone for your workout or timing session:\n\n```swift\nstruct SplashView: View {\n    @State private var backgroundColor = ColorManager.randomColor()\n    @State private var selectedQuote = QuoteManager.randomQuote()\n    // ...\n}\n```\n\n**Features:**\n- 20 motivational quotes randomly selected\n- Random vibrant background colors\n- Large Bungee font typography (48pt)\n- Smooth fade-in animation\n- Auto-transitions to main app after 2.5 seconds\n\n#### 2. **TimerManager** - The Brain 🧠\nThe `TimerManager` class handles all timing logic:\n\n```swift\nclass TimerManager: ObservableObject {\n    @Published var timeElapsed: TimeInterval = 0\n    @Published var isRunning = false\n    @Published var laps: [Lap] = []\n    // ...\n}\n```\n\n**Key Features:**\n- Uses `Timer.scheduledTimer` for precise timing\n- Publishes state changes for reactive UI updates\n- Tracks both total time and individual lap times\n- Automatically identifies fastest and slowest laps\n\n#### 3. **ContentView** - The Experience 🎨\nThe main view showcases bold design choices:\n\n**Visual Elements:**\n- **Random Background Colors**: 20 vibrant colors that change each session\n- **Circular Progress Ring**: Shows seconds progress with smooth animation\n- **Black Action Buttons**: High contrast buttons for better visibility\n- **Custom Typography**: Bungee font for all text elements\n- **Minimalist Design**: Clean white-on-color aesthetic\n\n**Animations:**\n```swift\n// Button press animation\nwithAnimation(.spring(response: 0.3, dampingFraction: 0.6)) {\n    buttonScale = 0.95\n}\n\n// Lap button rotation\n.rotationEffect(.degrees(lapButtonRotation))\n```\n\n## 🎨 Design System\n\n### Color Palette\n```swift\nstruct ColorManager {\n    static let colors = [\n        Color(hex: \"FF6B6B\"), // Red\n        Color(hex: \"4ECDC4\"), // Teal\n        Color(hex: \"45B7D1\"), // Blue\n        Color(hex: \"FFA502\"), // Orange\n        Color(hex: \"FF6348\"), // Coral\n        Color(hex: \"7D5FFF\"), // Purple\n        Color(hex: \"00D2D3\"), // Cyan\n        // ... 13 more vibrant colors\n    ]\n}\n```\n\n### Typography\n- **Font Family**: Bungee-Regular (custom font)\n- **Header**: Bungee 18pt\n- **Timer**: Bungee 42pt (reduced from 56pt for better fit)\n- **Lap Time**: Bungee 18pt\n- **Buttons**: Bungee 14pt\n- **Splash Quotes**: Bungee 48pt\n\n### Motivational Quotes\n```swift\n\"TIME IS YOUR MOST VALUABLE ASSET\"\n\"MAKE EVERY SECOND COUNT\"\n\"DISCIPLINE BEATS MOTIVATION\"\n\"START NOW, GET PERFECT LATER\"\n// ... 16 more quotes\n```\n\n## 🚀 Technical Highlights\n\n### 1. **Dynamic Color System**\nEach app launch presents a fresh, energetic color:\n```swift\n@State private var backgroundColor = ColorManager.randomColor()\n```\n\n### 2. **Custom Font Integration**\nBungee font loaded and applied throughout:\n```swift\nextension Font {\n    static func bungee(size: CGFloat) -\u003e Font {\n        return Font.custom(\"Bungee-Regular\", size: size)\n    }\n}\n```\n\n### 3. **Improved Timer Display**\n- Smaller font size (42pt) for better readability\n- Added padding inside progress circle\n- High contrast white-on-color design\n\n### 4. **Black App Icon**\n- Minimalist black background\n- White circular progress indicator\n- Matches the app's bold aesthetic\n\n## 📲 User Experience Flow\n\n1. **Launch** → Motivational quote with random background color\n2. **Main Screen** → Timer with vibrant random background\n3. **Start** → Black play button begins timing\n4. **Lap** → Black flag button records current lap\n5. **View Laps** → Sheet slides up showing lap times\n6. **Reset** → Clear all data and start fresh\n\n## 🎯 Design Philosophy\n\n### Why Random Colors?\n- **Fresh Experience**: Each session feels new and energetic\n- **Motivation**: Bright colors enhance mood and energy\n- **Variety**: Prevents visual monotony during repeated use\n\n### Why Bungee Font?\n- **Bold \u0026 Energetic**: Matches the dynamic nature of timing activities\n- **High Readability**: Clear even at small sizes\n- **Personality**: Gives the app a unique, memorable character\n\n### Why Black Buttons?\n- **High Contrast**: Visible on any background color\n- **Consistency**: Works with all 20 random backgrounds\n- **Professional**: Clean, modern appearance\n\n## 🔧 Building the App\n\n1. Open `TimerApp.xcodeproj` in Xcode\n2. Ensure `Bungee-Regular.ttf` is included in project\n3. Select your target device/simulator\n4. Press `⌘R` to build and run\n\n### Requirements\n- Xcode 15.0+\n- iOS 17.0+\n- Swift 5.9+\n\n## 💡 Recent Updates\n\n- ✅ Reduced timer font size with improved padding\n- ✅ Implemented random solid background colors (20 options)\n- ✅ Integrated Bungee font throughout the app\n- ✅ Added motivational splash screen with quotes\n- ✅ Changed button backgrounds to black for contrast\n- ✅ Updated app icon to black background\n- ✅ Removed dark mode toggle (always uses white text)\n\n## 🙏 Acknowledgments\n\nThis app showcases modern SwiftUI capabilities with bold design choices, custom typography, and dynamic color schemes. The Bungee font adds personality while maintaining functionality, creating an energetic timing experience.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \n**Built with ⚡ using SwiftUI \u0026 Bungee Font**\n\n\u003c/div\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyashthakur1%2Fios-native-claudeapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyashthakur1%2Fios-native-claudeapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyashthakur1%2Fios-native-claudeapp/lists"}