Features How It Works Sleep Privacy Compare Contact Download App
Showing 13 of 13 entries

March 26, 2026

Today iOS
March 26, 2026
Submitted to App Store

v1.0 — App Store Submission & Website Launch

v1.0

First-ever App Store submission. Resolved all Xcode validation issues, deployed promotional website at wakeact.com, and configured ASO-optimized metadata. Currently waiting for Apple review.

App Store Validation Fixes

  • Icon alpha channel: Removed transparency via JPEG round-trip (App Store rejects alpha in icons)
  • ExtensionKit plist format: Migrated from NSExtension to EXAppExtensionAttributes with EXExtensionPointIdentifier for DeviceActivity and Shield extensions
  • ExtensionKit embedding: New “Embed ExtensionKit Extensions” build phase for DeviceActivity + Shield; Widget stays in PlugIns
  • Missing plist key: Added NSHomeKitUsageDescription (ITMS-90683)
  • Widget display name: Added CFBundleDisplayName = “WakeAct Widget”
  • Build version sync: Set CFBundleVersion to 2 across all extension plists

Promotional Website

  • Deployed at wakeact.com via Cloudflare Pages
  • Static HTML/CSS/JS with coral/warm color palette, light/dark mode
  • 5 tabbed feature panels, comparison table, sleep tracking spotlight
  • Secondary pages: team, privacy policy, terms of service, accessibility, progress

App Store Metadata (ASO-Optimized)

  • Name: WakeAct — Puzzle Alarm Clock
  • Subtitle: Sleep Tracker & Morning Streak
  • Category: Health & Fitness (primary), Productivity (secondary)

March 25, 2026

iOS
March 25, 2026

README Overhaul & Documentation Update

Pre-release

Complete README rewrite with centered logo, badges, table of contents, structured feature tables, ASCII architecture diagram, and comprehensive technical documentation. Added build/ to .gitignore.

Highlights

  • Centered app icon, title, and tagline header
  • Developer, platform, Swift, Xcode, localization, and version badges
  • Structured Table of Contents with deep links
  • Features at a Glance summary table
  • ASCII architecture diagram with key decisions
  • Dedicated sections for Puzzle System, App Blocking, Gamification, HealthKit, Widgets, Localization
  • Tech Stack table with 25+ frameworks
  • Building & Running guide with prerequisites
March 25, 2026

Comprehensive Audit — 22 Issues Fixed

Pre-release
20 files changed 22 issues fixed

Final comprehensive audit covering data integrity, memory leaks, logic bugs, view performance, and wiring gaps. Fixed 22 issues across 20 files with zero errors and zero warnings.

Service/Data Fixes (11 files)

  • Data race: Captured gradualVolumeSeconds locally before audio render callback
  • Timer leak: Store testSunrise() timer in instance property, cleanup existing
  • Dead code: Removed nonsensical conditional, simplified XP calculation
  • Empty array guard: Guard for empty avgWakeMinutes before division
  • Integer division: Changed percentage calc to Double-based math
  • Timer deinit: Added negative duration guard in stopRecording()
  • CloudKit race: Retry loop for CKError.serverRecordChanged conflicts
  • Inverted logic: Fixed snooze/speed progress (lower = better), division-by-zero guards
  • Range validation: Clamp windDown hours (0-23) and minutes (0-59) in init
  • XP overflow: Cap multiplied XP at 10,000 per action

View Fixes (9 files)

  • Timer leaks: Manual connect()/cancel() replacing .autoconnect() across HomeView, ClockFaceView, DailyChallengeView, AwakeVerificationView
  • GeometryReader: Replaced 2 GeometryReaders in ScrollView with scaleEffect overlay
  • Dead code: Removed hidden EmptyView button
  • Timer cleanup: Added .onDisappear calling cancelNap()
  • Keyboard: Added .submitLabel(.done) + .onSubmit
March 25, 2026

Full Localization — 10 Languages

Pre-release
18 Swift files modified ~400+ strings converted

Complete localization infrastructure supporting 10 languages: English, Spanish, French, German, Japanese, Korean, Chinese (Simplified), Portuguese (Brazil), Hindi, and Arabic. All user-facing strings across the main app, widgets, and shield extension are now localizable via Apple String Catalogs (.xcstrings).

Infrastructure

  • Created Localizable.xcstrings (main app) — 120+ UI strings with translations for all 10 languages
  • Created InfoPlist.xcstrings — 12 permission description strings translated
  • Created widget and shield extension .xcstrings files
  • Updated project.yml with knownRegions for all 10 locales

Languages Supported

  • English (source), Spanish, French, German, Japanese
  • Korean, Chinese (Simplified), Portuguese (Brazil), Hindi, Arabic (RTL)

Code Changes

  • Converted ~400+ hardcoded English strings to String(localized:)
  • Model enums (~65), achievements (~85), cosmetics (~90), notifications (~30), mascot (~74), missions (~37), programs (~65), scores (~25), templates (~10)
March 25, 2026

8 Competitive Features, 3-Tier Startup & 47-Issue Audit

Pre-release
55+ new files 64 modified files +4,525, −818

Massive release implementing 8 competitive features via parallel agents, 3-tier startup optimization, ThemeCache for frame-rate performance, and a comprehensive 47-issue audit covering data integrity, memory leaks, logic bugs, view bottlenecks, and wiring gaps. Build succeeds with 0 errors, 0 warnings.

New Competitive Features (16+ new files)

  • Awake Verification: Post-alarm verification quiz to prevent falling back asleep
  • Anti-Dismiss System: Backup alarm 30s after dismiss, orphaned alarm detection, audio session persistence
  • Bedtime Enforcer: Full-screen overlay at configured bedtime with configurable aggressiveness
  • Morning Routine: Post-alarm checklist with exercise, hydration, meditation steps
  • Snore Detection: Audio analysis for snore detection with session history
  • Exercise Puzzle: Motion-based puzzle requiring physical exercises to dismiss
  • Sleep Programs: 4 multi-week guided sleep programs with daily check-ins and XP
  • Sunrise Simulation: 6-stage color gradient sunrise overlay before alarm

Performance Optimization

  • 3-Tier Startup: Tier 1 (critical, immediate), Tier 2 (deferred, 500ms), Tier 3 (background, 2s) — time-to-interactive reduced from ~5-8s to ~1-2s
  • ThemeCache: Singleton caching UserDefaults reads, eliminating hundreds of reads per frame
  • View-Level: AlarmInsightsView 12 O(n) properties to single computeStats(), HomeView timer 30s→60s, HealthKit 7 queries→1 batch

47-Issue Audit

  • Data Integrity: Alarm.init() validation, safe enum fallbacks, bounds clamping
  • Memory & Leaks: NotificationCenter observers, timer cleanup, @Transient cache
  • Logic & Wiring: Timezone-aware streaks, deterministic notification IDs, alarm scheduler fixes
  • Build & Warnings: @preconcurrency imports, deprecated API replacements, unused code removal

March 24, 2026

iOS
March 24, 2026

Back Buttons on All 17 Sub-Pages

Pre-release
17 views affected

All 17 sub-pages pushed via NavigationLink were trapping users — the system back button was hidden by .toolbar(.hidden, for: .navigationBar) and no custom replacement existed. Added a consistent chevron.left dismiss button to every custom nav bar.

Affected Views (17)

  • XPShopView, TrophyHallView, DailyMissionsView, ProgressionRoadmapView
  • StreakView, BlockingStatsView, SleepInsightsView, AlarmInsightsView
  • SleepSoundsView, NapTimerView, DailyChallengeView, WeeklyReportView
  • ChallengesView, TrustedContactListView, MusicPickerView, PremiumView
  • AlarmHistoryListView, DailyRewardsDestinationView
March 24, 2026

Streak Repair, Rank Tiers & Cosmetic Expansion

Pre-release
11 files modified

Fourth audit addressing 3 critical/likely bugs and 5 competitive gap features. Streak comeback mechanics with 48-hour repair window, monthly rank tiers (Bronze through Diamond), 14 new cosmetic shop items, image-rendered milestone share cards, and 4 new trackable weekly goals.

Critical Bug Fixes

  • Budget audit filter: smart_alarm_ and prealarm_ prefixes misclassified during budget pruning — alarm notifications were being removed before engagement ones
  • Race condition: .onChange(of: scenePhase) could fire before .task completed init — added isInitialized guard
  • Bedtime reminder: Stale reminder not cleaned up when preference toggled off

New Features

  • Streak Repair: 48-hour comeback window, XP cost to restore half streak (min 3 days)
  • Rank Tiers: Bronze (0+), Silver (30+), Gold (55+), Platinum (75+), Diamond (90+)
  • Cosmetic Expansion: 28 items across 5 categories (was 14/4), including alarm themes, accent colors, icons, badges
  • Share Cards: Rendered image share card via ImageRenderer for streak milestones
  • Goal Personalization: 4 new trackable goals — snooze, puzzle speed, consistency, weekly wake-ups
March 24, 2026

Difficulty Progression, Alarm Templates & CoreHaptics

Pre-release

Third audit addressing 17 findings — alarm validation, difficulty progression system, CoreHaptics patterns for all 11 sounds, alarm templates for quick setup, guided onboarding expansion, and wiring gaps.

March 24, 2026

XP/Leveling, Daily Missions, Cosmetics Shop & Seasonal Challenges

Pre-release

Second audit addressing 38 findings — XP/leveling system with combo multipliers, daily missions, daily rewards, cosmetics shop with purchasable themes, seasonal challenges, sleep goals, habit scoring, guided first-week experience, and comprehensive feature wiring.

March 24, 2026

QR/Shake Puzzles, Streaks, Achievements & Sleep Sounds

Pre-release
10 new files 15 modified files +3,000 lines

Comprehensive 30-item audit implementation across 5 priority levels — critical bug fixes, engagement features, competitive edge puzzles, UX polish, and retention mechanics.

P1 — Critical Wiring Fixes

  • UnlockChallengeView puzzle routing — fixed hardcoded MathPuzzleView to properly route all puzzle types
  • TipKit parameter wiring, Focus Filter integration, FamilyActivityPicker added to editor

P2 — Engagement Features

  • StreakManager: Consecutive wake-up streak tracking with freeze support, milestone detection (7/14/30/60/100/365)
  • AchievementManager: 12 predefined achievements with progress tracking
  • SleepSoundManager: 8 synthesized sleep sounds via AVAudioEngine with timer support
  • Morning briefing: 15 motivational quotes, streak count display, smart alarm window picker

P3 — Competitive Edge

  • QRCodePuzzleView: Camera-based QR/barcode scanner with 6+ format support
  • ShakePuzzleView: CMMotionManager accelerometer shake detection (2.5g threshold, difficulty-scaled)
  • AlarmInsightsView: 30-day alarm history analysis with Swift Charts

P4/P5 — UX & Retention

  • Haptic feedback on alarm toggle/save, App Store review prompts, Spotlight deep linking
  • NotificationEngagementManager for re-engagement, bedtime reminders
  • StreakView, SleepSoundsView, NapTimerView added
March 24, 2026

11 Apple Framework Integrations

Pre-release
9 new files

Integrated 11 additional Apple frameworks: AlarmKit (iOS 26+), BackgroundTasks, LocalAuthentication, Charts, CoreSpotlight, FoundationModels (on-device AI), Speech, EventKit, SmartWake sleep analysis, and more.

Frameworks

  • AlarmKit: System-level alarms on iOS 26+ with WakeActAlarmMetadata
  • BackgroundTasks: BGAppRefreshTask for alarm rescheduling, BGProcessingTask for data cleanup
  • LocalAuthentication: Face ID / Touch ID for app unlock
  • Charts: Weekly sleep bar chart with color coding
  • CoreSpotlight: Alarm search indexing for system-wide search
  • FoundationModels: On-device AI trivia puzzle generation (iOS 26+)
  • Speech: Voice puzzle dismissal with SFSpeechRecognizer (70% match threshold)
  • EventKit: Calendar integration for morning briefing “Today’s Schedule”
  • SmartWake: 30-day HealthKit sleep pattern analysis with suggested wake/bedtime
March 24, 2026

Core Haptics, Step Dismissal, HealthKit, MusicKit & CloudKit

Pre-release

Massive integration of 10 Apple frameworks: TipKit for feature discovery, Core Haptics with 5 distinct alarm patterns, CoreMotion step dismissal, HealthKit sleep tracking, WeatherKit morning briefing, Focus Filters, StoreKit 2 premium tier, MusicKit alarm tones, CloudKit sync, and interactive widgets.

Frameworks Integrated

  • TipKit: 5 contextual tips (Siri, App Blocking, Widget, Step Dismissal, Sleep Tracking)
  • Core Haptics: 5 distinct haptic patterns matching alarm sounds with graduated intensity ramps
  • CoreMotion: Step dismissal requiring 10-100 steps after puzzle completion
  • HealthKit: Read/write sleep analysis, last night’s sleep data, weekly averages
  • WeatherKit: Morning briefing with temperature, condition, and forecast
  • Focus Filters: Sleep Focus integration with gentle sound, app blocking, dim display
  • StoreKit 2: Premium tier with monthly, yearly, lifetime options
  • MusicKit: Apple Music alarm tones with search, browse, and 30-second preview
  • CloudKit: Opt-in iCloud sync via SwiftData with automatic mode
  • Interactive Widgets: Toggle alarm widget with App Intents
March 24, 2026

Siri & App Intents

Pre-release

Full App Intents framework integration enabling voice control via Siri and the Shortcuts app. Set, toggle, show, and delete alarms via voice — all intents work without opening the app.

Siri Commands

  • SetAlarmIntent: “Set an alarm in WakeAct” — creates alarm with time, name, repeating days
  • ToggleAlarmIntent: “Enable/disable alarm in WakeAct”
  • ShowAlarmsIntent: “Show my WakeAct alarms” — lists all alarms with smart dialog
  • DeleteAlarmIntent: “Delete alarm in WakeAct” — removes alarm with notification cleanup
  • All intents registered via AppShortcutsProvider with trigger phrases

March 23, 2026

iOS
March 23, 2026
Development Kickoff

Development Kickoff — Core Architecture & First Build

Day 1

Core WakeAct app with SwiftUI MVVM architecture, alarm scheduling, 5 puzzle types, app blocking via DeviceActivityMonitor, onboarding flow, and 38 bug fixes and enhancements across 5 phases: critical fixes, stubbed implementations, UX enhancements, accessibility, and infrastructure.

Phase 1 — Critical Fixes (7)

  • rescheduleAllAlarms(): Was completely empty — alarms were never rescheduled after app restart
  • handleSnooze(): Only printed to console — snooze was non-functional
  • PuzzleGenerator memory fallback: .memory case returned mathGenerator instead of handling memory puzzles
  • Test alarm button: Used random UUID, no alarm matched
  • Timed blocking midnight crossing: Date components missing day info for cross-midnight schedules
  • Temporary unlock dies on background: DispatchQueue timer killed when backgrounded
  • cancelAlarm() race condition: Fire-and-forget Task could conflict with rescheduleAll()

Phase 2 — Stubbed Implementations (5)

  • No-snooze notification category, puzzle unlock config, lockout countdown timer
  • Debug section hidden in production, cryptographic salt generation

Phase 3 — UX Enhancements (6)

  • Pull-to-refresh on alarm list, context menu + delete confirmation
  • Snooze indicator (used/max), puzzle haptic feedback
  • 5 differentiated alarm sounds with gradual volume ramp
  • 4-page swipeable onboarding flow

Phase 4 — Accessibility

  • VoiceOver labels on alarm rows with computed accessibility strings

Phase 5+ — Infrastructure & Quality

  • ModelContainer refactor, per-config app selection, inline permission requests in onboarding
  • Memory game 3D flip animation, user-facing error banners
  • Replaced all print() with os.log, notification permission checks, widget refreshes
  • Force unwrap fixes, word scramble guarantees, overlap detection, loading states
  • Accessibility labels on DayOfWeekPicker, PuzzleProgressBar, MathPuzzleView

No entries match your filters

Try adjusting your search or category filters.

Codebase at a Glance

The numbers behind WakeAct's engineering.

📄 150+ Swift Files
💻 ~50,000 Lines of Code
🚀 9 Puzzle Types
25+ Apple Frameworks
🔌 30+ Services
💉 10 Languages
15+ Accessibility Views
📌 4 Siri Shortcuts
🗃 4 App Extensions
🔧 47+ Audit Issues Fixed
📡 8 Sleep Sounds
🎤 11 Alarm Sounds