mikelikesdesign/SwiftUI-experiments
45.6
Weak · 1 October 2026
12.2k
lines of production code
Swift
primary language
2
measurements over time
What this system is
This repository is a collection of experimental iOS applications and interaction prototypes built primarily with SwiftUI, UIKit, and SceneKit. It demonstrates a wide range of custom user interface behaviors, including gesture-driven animations, physics-based visual effects, and 3D renderings. The codebase serves as a showcase for specific UI patterns such as drag-to-delete, radial menus, particle systems, and eye-tracking interactions, rather than functioning as a single cohesive product.
How it got here
2024 — SwiftUI interaction prototypes
23 changes.
This period focused on establishing a repository for a collection of SwiftUI and UIKit interaction prototypes, beginning with initial setup and documentation. The work involved creating numerous standalone demo applications that showcase specific UI behaviors, such as drag-and-drop mechanics, particle animations, 3D visualizations, and gesture-based controls.
2025 — interactive visual experiments
18 changes.
This period focused on developing a diverse suite of standalone iOS applications and prototypes that showcase advanced interactive visual effects. The work centered on implementing custom animations, gesture-driven controls, and 3D renderings using SwiftUI, SceneKit, and Metal. These projects served as demonstrations of specific UI/UX capabilities, such as particle systems, physics-based deformations, and eye-tracking integration.
2026 — interactive physics and gesture prototypes
5 changes.
This period focused on developing experimental iOS applications that leverage advanced user interaction models, including physics-based simulations and gesture-driven controls. Key features involved implementing ripple effects, face-tracking typography, interactive flame lighting, 3D swipe transitions, and scrub-based text deletion. The work centered on creating immersive, responsive UI prototypes using SwiftUI and ARKit.
Features
Add signature-based authentication as a login option
The app now supports signing a signature to log in, in addition to the existing PIN entry method. Users can switch to drawing mode via a pencil icon on the password screen, where their drawn signature is captured and used for authentication.
signature authentication · high confidence
Add word slider interaction demo app
Added a new SwiftUI application that demonstrates a word slider interaction. The app features a draggable knob on a trackpad that adjusts the tone and length of displayed text, with visual feedback including grid lines, labels (Professional/Fun, Concise/Detailed), and 3D rotation effects.
word slider interaction · high confidence
Added Xcode project configuration for the globe app
The Xcode project file (project.pbxproj) and associated workspace configuration files for the 'globe' application have been added to the repository. This establishes the build structure for the Swift app, including the main application entry point (globeApp.swift), the primary user interface view (ContentView.swift), and associated asset catalogs, enabling the project to be opened and built in Xcode 15.
globe/globe.xcodeproj · high confidence
Added interactive globe visualization with search overlay
The globe example now includes a main interface featuring a 3D rotating globe rendered via SceneKit, overlaid with a dark-themed, blurred search text field. The globe texture is dynamically generated with random alphanumeric characters, and the view supports user interaction for camera control.
globe/globe · high confidence
Added solid circles interactive demo
Introduced a new SwiftUI-based interactive demo where users can drag their finger across the screen to spawn animated, expanding circles that radiate from the touch point. The implementation includes the Xcode project structure, the main application entry point, and the core \ContentView\ logic that handles gesture recognition, shape spawning, and animation, along with standard unit and UI test scaffolding.
solid circles · high confidence
Initial release of eye-tracking drawing app
The 'eye drawing' application is introduced, allowing users to draw on the screen using eye gaze tracked via the device's TrueDepth camera (ARKit). The app features a SwiftUI interface where a cursor follows the user's eye position, and drawing is toggled on or off by blinking. It includes the necessary Xcode project structure, asset catalogs for icons and colors, and placeholder unit and UI tests.
eye drawing · high confidence
Initial release of the Bob SwiftUI demo application
This change introduces the Bob application, a SwiftUI-based demo project. It includes the main app entry point (bobApp.swift) and a primary ContentView that implements an interactive UI with a draggable 'Bob' badge, an expanding fullscreen circle overlay, and views for displaying article content and summaries. The project also sets up the necessary Xcode project structure, asset catalogs for icons and colors, and workspace configurations.
bob · high confidence
Initial release of the Photo Slingshot iOS app
This change introduces the complete source code and project configuration for the 'photo slingshot' application. The app features a SwiftUI-based user interface where users can drag a central image downward to 'slingshot' it off-screen, triggering a transition to a new image. The interface includes a row of avatar images at the top that react to the drag gesture, and the project is configured for iOS with standard asset catalogs for app icons and images.
photo bubbles, photo slingshot · high confidence
Initial release of the Reading Tracker app
The Reading Tracker app is introduced, featuring a SwiftUI interface that displays a multi-paragraph article with a scrollable view. As the user scrolls, a progress bar and status text update to reflect reading completion, and a particle celebration animation triggers upon reaching 100% completion.
reading tracker · high confidence
Initial release of the drag-to-delete interaction demo
This change introduces the 'drag to delete' example application, providing a SwiftUI interface where users can drag an image downward toward a trash icon. As the image is dragged, it visually shrinks while the trash icon expands; releasing the image over the expanded icon triggers a deletion animation and resets the view, allowing the interaction to be repeated.
drag to delete · high confidence
Initial release of the pixel animation example app
This change introduces the 'pixel animation' project, an iOS application built with SwiftUI and UIKit. The app features a grid of pixels that animate with color and ripple effects, allowing users to generate shapes by holding a specific location on the screen. The entry includes the full project structure, the main \ContentView\ implementation, and default unit and UI test scaffolding.
pixel animation · high confidence
Initial release of the pixel animation menu application
This change introduces the complete 'pixel animation menu' iOS application, including the Xcode project configuration, asset catalogs, and test scaffolding. The core feature is a SwiftUI-based UI that renders a grid of pixel squares using a custom UIViewRepresentable wrapper around a CALayer implementation. Users can interact with a grid of squares that animate with ripple effects and color palettes, controlled by settings such as shape, speed, and grid size. The entry point is the standard SwiftUI App struct, and the project includes initial unit and UI test targets.
pixel animation menu · high confidence
Initial release of the pixel shapes iOS application
This change introduces the complete source code and project configuration for the 'pixel shapes' app. The application features a main view that renders a 3D globe-like animation using a grid of square pixels, implemented via a custom UIView wrapped in SwiftUI. The visual effect includes auto-rotation, pinch-to-zoom interaction, and dynamic lighting calculations applied to the pixel grid. The entry also includes the standard Xcode project structure, asset catalogs for app icons and accent colors, and placeholder unit and UI test suites.
pixel shapes, wave pattern · high confidence
Initial repository setup with MIT license and documentation
The repository has been initialized with an MIT License for the software and a comprehensive README.md documenting a collection of SwiftUI and UIKit interaction prototypes, such as drag-to-delete, radial menus, and particle animations. A .gitignore file has also been added to exclude macOS-specific system files like .DS\_Store and Xcode user state files.
(repo-wide) · high confidence
Introduce 3D cube-style swipe interaction for image stories
The app now features a new swipe interaction mode where images (such as Tokyo, ramen, and steak) are displayed in a horizontal scroll view with a 3D cube-like rotation effect. As users swipe, each card rotates in perspective based on its scroll position, with dynamic anchor points and visibility fading to create a smooth, immersive transition between stories.
swipe interaction · high confidence
Introduce candlelit reading mode with interactive flame effects
The app now features a 'CandlelitReaderView' that simulates a candle's light illuminating text. Users can interact with the flame by dragging to move it, tapping to light or snuff it out, and pinching to resize the glow. The experience includes realistic flickering, smoke effects when the candle is extinguished, and haptic feedback on state changes, all rendered using SwiftUI Canvas for performance.
reading light · high confidence
Introduce drag-delete keyboard prototype with scrub-based text deletion
A new iOS prototype application has been added to enable an experimental text deletion method via a custom on-screen keyboard. Users can long-press the delete key to enter a scrubbing mode, where dragging left or right previews inline character deletion and swiping up or down previews line deletion. The interface provides a live visual preview of the affected text by reducing its opacity before the deletion is finalized upon releasing the gesture.
drag-delete · high confidence
Introduce draggable quadrant slider for content detail levels
The app now features a draggable quadrant slider that allows users to select between four content presentation styles: Simple & Casual, Simple & Formal, Advanced & Casual, and Advanced & Formal. Triggered by a long-press gesture on the main text, the slider appears as an interactive 2D control where users can drag a knob to adjust the tone and complexity of the displayed text. The interface includes visual feedback, such as radial gradients indicating the selected quadrant, and haptic feedback upon selection.
draggable slider · high confidence
Introduce interactive map trackpad for cuisine-based restaurant discovery
The app now features a map trackpad overlay on the map view. Users can drag a knob within a grid to select a cuisine type, which triggers a local search for a random restaurant in that category within the visible map region. The trackpad expands on drag, displays cuisine labels around the perimeter, and provides visual feedback via knob enlargement and 3D rotation effects.
map trackpad · high confidence
Introduce paper-style swipe navigation with haptic feedback
The app now features a swipeable card interface that displays ten pages of prototyping benefits. Users can navigate between pages by dragging horizontally, with the system providing haptic feedback on each page change. The navigation stepper (pagination dots) fades in during interaction and fades out when the drag ends, and the page change threshold has been reduced to 30 points for more sensitive swiping.
paper navigation · high confidence
Introduced bouncy grid interactive line animation
The bouncy grid application now features an interactive grid of lines that respond to touch input with a bouncy, oscillating deformation effect. Users can drag across the grid to create dents in the lines, which then snap back with a damped oscillation animation. The visual style includes a black background with white lines that have a subtle opacity pulse.
bouncy grid · high confidence
Introduced interactive 3D wave visualization with SceneKit and SwiftUI
The Waves app now features a dynamic visual experience that combines a rotating 3D wireframe sphere (rendered via SceneKit) with an interactive 2D wave surface. Users can touch and drag on the wave lines to create a ripple deformation effect, where the waves distort based on the proximity and depth of the press. This change adds the core application structure, including the main ContentView, asset catalogs, and test scaffolding, to support this new interactive capability.
waves · high confidence
Introduced interactive dot mesh with ripple physics
The 'dot pattern' app now features a dynamic, interactive grid of dots that respond to user input. Users can drag their finger across the screen to push the mesh points away, creating a fluid displacement effect. Additionally, tapping the screen generates a ripple wave that expands outward, physically displacing the dots and altering their color intensity based on the ripple's strength. The simulation runs at 60fps, using spring physics for natural movement and damping.
dot pattern · high confidence
Introduced interactive liquid metal blob animation
The application now features a full-screen, interactive 'liquid metal' blob animation. Users can drag their finger or mouse across the screen to create ripples that distort the shape, which is rendered using a custom Metal-backed view wrapped in SwiftUI. The blob autonomously undulates and subtly shifts its white fill color over time.
blob animation · high confidence
Introduces interactive particle slider with 3D trackpad tilt
The app now features a draggable knob on a dark trackpad surface that controls a field of 200 animated particles. As the user drags the knob, the trackpad surface tilts in 3D based on the knob's position, and the knob enlarges during interaction. The particle field's speed and dispersion are driven by the knob's vertical position, while the knob's horizontal position affects particle dispersion, with labels indicating 'Faster/Slower' and 'Gather/Disperse' directions.
particle slider · high confidence
Introduction of the 'fried chicken' iOS application
A new iOS application named 'fried chicken' has been added to the project. The app features a dark-themed user interface with a 'Fried Chicken Club' title, a central logo image, and a 'Get Started' button. It includes an interactive element where dragging the screen spawns fading animated images, and it is built using SwiftUI with Xcode 15 settings.
fried chicken · high confidence
New 'Colorful Glow' interactive canvas demo
A new SwiftUI application named 'Colorful Glow' has been added, featuring an interactive Canvas view where dragging the screen creates animated, multi-colored glowing circles that fade and blur over time. The project includes standard iOS app structure with unit and UI test targets, configured for Xcode 16.
colorful glow · high confidence
New 'Pull to Search' interaction added to the app
The app now supports a pull-to-search gesture. Users can pull down on the content to reveal a search overlay; once the pull reaches a threshold, the search field appears with a smooth animation. Tapping outside the search field or dismissing it clears the input and returns to the main view.
pull to search · high confidence
New 'adaptive text' iOS app with face-distance-driven typography
Added a new iOS application that dynamically adjusts text size based on the user's face distance from the device camera. The app uses ARKit face tracking to monitor distance and switches between five predefined font sizes (small to large) with a custom 'vaporize' animation effect. This entry covers the core SwiftUI view, the AR session management, and the associated asset and project configuration files.
adaptive text · high confidence
New 'dots interaction' demo app with touch-reactive dot grid
A new iOS application named 'dots interaction' has been added, featuring a grid of dots that react to touch input. When a user drags their finger across the screen, the dots within a 100-point radius of the touch location scale down and change opacity, creating a ripple-like visual effect. The app also provides haptic feedback via \UIImpactFeedbackGenerator\ during the drag gesture. The project includes standard Xcode configuration files, asset catalogs for app icons and accent colors, and boilerplate unit and UI test targets.
dots interaction · high confidence
New 'keys' iOS app with interactive key-dragging demo
A new iOS application named 'keys' has been added, built with SwiftUI. The app features a main view where users can drag a key emoji onto a central circle; upon dropping the key, the circle expands, a color animation slows down, and a 'Matrix'-style code animation plays for five seconds before transitioning to a help screen with a typewriter effect and a text input field for user questions.
keys · high confidence
New 'text alignment' iOS app with snap-to-grid text dragging
A new iOS application named 'text alignment' has been added, featuring a SwiftUI interface where users can drag a 'design details' text label across a black background. The app implements a snapping behavior that automatically aligns the text to the top, bottom, left, right, center, or middle of the screen when the drag distance falls within specific thresholds, providing haptic feedback upon alignment.
text alignment · high confidence
New AI Globe experiment with interactive 3D particle visualization
This change introduces the 'AI globe' application, an experimental SwiftUI app featuring a 3D globe composed of randomized alphanumeric characters (letters and numbers) arranged in latitude/longitude bands. The visualization uses SceneKit to render these 'letter nodes' with warm (pink, orange, yellow, red) and cool (teal, blue, mint, purple, cyan, indigo) color palettes, applying billboard constraints and twinkle animations. The UI includes a dark-themed search bar overlay with a visual effect blur, allowing users to dismiss the keyboard by tapping the background. The project also includes standard unit and UI test targets.
AI globe · high confidence
New SwiftUI shapes demo app
A new standalone SwiftUI application named 'shapes' has been added, featuring a black canvas where users can interactively generate random geometric shapes (circles, rectangles, rounded rectangles, capsules, ellipses, and triangles) with varying colors and sizes. The interaction model allows users to drag their finger to spawn shapes at intervals, or hold a specific location without moving to continuously generate shapes at that point; generated shapes animate in with a scale and opacity effect before fading out.
shapes · high confidence
New calculator metric app for unit conversions
A new iOS application named 'calculator metric' has been added, providing a SwiftUI-based interface for converting between various units of measurement. The app features a text input field that supports decimal numbers and displays real-time conversions for temperature (°F/°C), weight (pounds/kilograms), and length (miles/kilometers, feet/meters, inches/centimeters). Users can toggle the direction of the conversion (e.g., from kg to lbs or lbs to kg) by long-pressing any conversion row, and the output values animate smoothly as the input changes.
calculator metric · high confidence
New iOS app featuring a 3D cylindrical text scroll interaction
A new iOS application named 'text scroll interaction' has been added, implementing a custom SwiftUI view that renders a list of food items (sushi, steak, ramen, burger, pasta, pizza) arranged in a 3D cylinder. As the user scrolls, the text items rotate around the cylinder axis with perspective projection, depth-based opacity, and blur effects to simulate a 3D environment. The project includes standard Xcode configuration files, asset catalogs for app icons and accent colors, and placeholder unit and UI test targets.
text scroll interaction · high confidence
New map explore demo application added
A new SwiftUI-based demo application named 'map explore' has been added to the project. The app features a split-screen interface: the top half displays a restaurant photo with a progressive blur effect and name/address details, while the bottom half shows an interactive Apple Map. Users can drag the map to search for nearby restaurants using MKLocalSearch, which updates the displayed restaurant and cycles through associated images (restaurant\_1 through restaurant\_5) via swipe gestures.
map explore · high confidence
New particle text animation demo
Added a new SwiftUI demo application that renders the word "Welcome" using SpriteKit particles. The particles assemble into the text shape after a brief delay, and users can interact with the display by dragging their finger across the screen to explode the particles outward, after which they automatically reassemble into the original text.
particle text · high confidence
New radial menu interaction prototype
Added a new SwiftUI-based radial menu component that allows users to open a circular action sheet by dragging from a central button. The menu features six segments (person, gear, search, heart, bell, message) that expand and highlight based on the drag direction, with spring animations for selection and dismissal.
radial menu · high confidence
New text animation demo with gesture-driven detail levels
Added a new iOS application project named 'text animation' that demonstrates a custom SwiftUI text transition. The app features a ContentView where users can switch between three levels of text detail (Basic, Detailed, Advanced) using a pinch gesture. The transition includes a custom 'vaporize' effect that scales and fades the text, along with haptic feedback when switching levels.
text animation · high confidence
New tilt-controlled grid navigation feature
The application now includes a new interactive grid view where users can navigate a 5x10 layout of colored cards by tilting their device. The implementation uses the device's accelerometer to drive scrolling behavior, applying custom response curves to map acceleration data to scroll offsets, while card scaling effects are applied based on the distance from the screen center.
tilt grid · high confidence
New walk charts demo app with animated step visualizations
A new standalone iOS demo application named 'walk charts' has been added, built with SwiftUI and the Charts framework. The app features a vertical paging interface that cycles through five distinct screens, including a home view displaying a monthly step-count bar chart, an area chart page, a donut chart page, and two additional placeholder pages. The implementation includes a custom vertical page view controller and animation logic that triggers chart updates when pages become visible, demonstrating the library's capabilities in a product-facing context.
walk charts · high confidence
New walk charts interaction interface with animated page transitions
This change introduces the main user interface for the walk charts feature, presenting a scrollable grid of activity cards (Steps, Progress, Goal, Activities, Forecast) that expand into detailed views upon selection. The implementation uses SwiftUI and the Charts framework to provide a smooth, animated experience where tapping a card triggers a spring-based transition to a full-page detail view, while other cards dim and scale down. It also includes logic to manage page visibility and animation triggers for the underlying chart components.
walk charts interaction · high confidence
Behavioural changes
4 commits (0 fixes) modifying drag transform
A change to existing behaviour in drag transform — 4 commits, 2 files.
drag transform · medium confidence · unverified
Enhanced drag-and-drop interaction with animated dock states and stacked icon previews
The draggable container now features refined animations and visual feedback when interacting with app icons. When dragging, the container transitions to a smaller, rounded shape with a stacked icon layout that uses matched geometry effects for smooth scaling and opacity changes. Upon release, the container animates to dock at the nearest screen edge (bottom, left, right, or top), adjusting its size and icon layout (horizontal or vertical stack) based on the docked position. Drop indicators are displayed during dragging to show potential drop zones.
drag transform/drag transform.xcodeproj · high confidence
Introduce retro-styled 3D color picker with interactive CRT display
The app now features a redesigned color picker centered around a 3D beige retro computer model rendered with SceneKit. Users can adjust the screen's hue, saturation, and brightness using custom SwiftUI controls, which instantly update the color of the computer's CRT screen. The 3D model also supports rotation via a pan gesture, allowing users to view the device from different angles while selecting colors.
retro computer color picker · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 50 → 46 (-4.1)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 95 → 94 (-1.8)
- Architecture 100 → 100 (+0.0)
- Maturity 54 → 54 (+0.0)
- Readiness 18 → 13 (-5.5)
- Security 100 → 100 (+0.0)
New (27)
- Duplicated block (10 lines × 2) (walk charts interaction/walk charts/ContentView.swift)
- Duplicated block (11 lines × 2) (particle slider/particle slider/ContentView.swift)
- Duplicated block (11 lines × 4) (walk charts interaction/walk charts/ContentView.swift)
- Duplicated block (12 lines × 2) (walk charts interaction/walk charts/ContentView.swift)
- Duplicated block (14 lines × 2) (walk charts interaction/walk charts/ContentView.swift)
- Duplicated block (18 lines × 2) (draggable slider/draggable slider/ContentView.swift)
- Duplicated block (18 lines × 2) (walk charts interaction/walk charts/ContentView.swift)
- Duplicated block (18–19 lines × 2) (map trackpad/map trackpad/ContentView.swift)
- Duplicated block (19 lines × 2) (walk charts interaction/walk charts/ContentView.swift)
- Duplicated block (20 lines × 10) (walk charts interaction/walk charts/ContentView.swift)
- Duplicated block (23 lines × 2) (walk charts interaction/walk charts/ContentView.swift)
- Duplicated block (23 lines × 2) (walk charts interaction/walk charts/ContentView.swift)
- Duplicated block (23 lines × 2) (walk charts interaction/walk charts/ContentView.swift)
- Duplicated block (23 lines × 2) (walk charts interaction/walk charts/ContentView.swift)
- Duplicated block (24 lines × 2) (walk charts interaction/walk charts/ContentView.swift)
- Duplicated block (25 lines × 2) (walk charts interaction/walk charts/ContentView.swift)
- Duplicated block (25–31 lines × 2) (wave pattern/wave pattern/ContentView.swift)
- Duplicated block (31 lines × 2) (walk charts interaction/walk charts/ContentView.swift)
- Duplicated block (5 lines × 2) (map trackpad/map trackpad/ContentView.swift)
- Duplicated block (56 lines × 2) (walk charts interaction/walk charts/ContentView.swift)
- …and 7 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
mikelikesdesign/SwiftUI-experiments was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit b75268ca6c501ad15f179bfc5cfb623827afc263 — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.