{
  "feed": [
    {
      "id": "apple-dev-academy-design-patterns",
      "title": "Apple Developer Academy design patterns",
      "date": "2026-06-15",
      "tags": [
        "iOS",
        "Swift",
        "MVVM",
        "Academy"
      ],
      "summary": "Reflections on the architectural patterns I encountered and applied during my time at the Apple Developer Academy. Key takeaways around protocol-oriented design, SwiftUI state management, and the coordinator pattern for navigation.",
      "source_url": "",
      "body": "## Protocol-oriented design\n\nSwift's protocol extensions let you provide default implementations, which makes composition practical without inheritance.\n\n```swift\nprotocol Navigable {\n    var navigationTitle: String { get }\n}\n\nextension Navigable where Self: View {\n    var body: some View {\n        self.navigationTitle(navigationTitle)\n    }\n}\n```\n\n## SwiftUI state management\n\nThe three key property wrappers form a hierarchy:\n\n- **`@State`** - Local view state, value type\n- **`@StateObject`** - Owned observable object, reference type\n- **`@ObservedObject`** - Shared observable object passed from parent\n\nKeep `@State` for simple flags and strings. Reach for `@StateObject` when the logic spans multiple views.\n\n## Coordinator pattern for navigation\n\nSeparating navigation logic from views keeps them testable. A coordinator object holds the navigation stack and can push, present, or pop based on app state rather than view hierarchy."
    },
    {
      "id": "dana-pmo-automation-metrics",
      "title": "DANA PMO automation metrics",
      "date": "2026-06-20",
      "tags": [
        "PMO",
        "Automation",
        "DANA",
        "Dashboard"
      ],
      "summary": "Tracking and optimising the automation pipeline at DANA's PMO. Measured cycle-time reduction, manual-handoff elimination rates, and the tooling choices that moved the needle on delivery velocity.",
      "source_url": "",
      "body": "## Cycle-time reduction\n\nAutomated CI/CD pipelines cut average release cycle from 4.5 days to 8 hours. The main levers:\n\n- Parallelised test execution across 12 runners\n- Automated changelog generation from conventional commits\n- Staged rollouts with automatic rollback on error thresholds\n\n## Manual-handoff elimination\n\nIdentified 14 handoff points between engineering, QA, and release. Eliminated 11 through:\n\n| Handoff | Solution |\n|---|---|\n| Code review assignment | Auto-assign by team load |\n| Test environment provisioning | Terraform + ephemeral previews |\n| Release notes | Generated from commit history |\n\n## Tooling choices\n\nPicked GitHub Actions over Jenkins for tighter PR integration. Added Datadog dashboards for pipeline health with SLAs on each stage."
    },
    {
      "id": "csaba-kissi-open-source-tools",
      "title": "Must-know open-source tools (Kinetics, Ripplix, Coverflow, and more)",
      "date": "2026-06-25",
      "tags": [
        "open-source",
        "tools",
        "ecosystem"
      ],
      "summary": "A roundup from Csaba Kissi's Threads post covering emerging open-source projects worth keeping on your radar - Kinetics, Ripplix, Coverflow, Awesome Compose, and Gradient Buttons.",
      "source_url": "https://threads.net/@csabakissi/post/open-source-tools-2026",
      "body": "Csaba Kissi shared a roundup of emerging open-source projects worth keeping on your radar. Here are the standouts:\n\n## Kinetics\n\nA lightweight animation engine for React Native that uses the native thread for gesture-driven animations. No bridge overhead means 60fps interactions even on mid-range devices.\n\n> \"Kinetics is what Reanimated 3 should have been\" - Csaba Kissi\n\n[GitHub: kinetics-js/kinetics](https://github.com/kinetics-js/kinetics)\n\n## Ripplix\n\nA real-time state sync library for multiplayer web apps. Built on CRDTs (Conflict-free Replicated Data Types), it handles conflict resolution automatically so you don't need operational transform logic.\n\nKey features:\n- Offline-first: edits work without a connection\n- Automatic merge: no conflict markers\n- Plugs into React, Vue, or vanilla JS\n\n[GitHub: ripplix/ripplix](https://github.com/ripplix/ripplix)\n\n## Coverflow\n\nA carousel and cover-flow component library for React Native and the web, built with Reanimated and Skia. Smooth 3D-style transitions for image galleries and media browsers.\n\n[GitHub: ashishgogula/coverflow](https://github.com/ashishgogula/coverflow)\n\n## Awesome Compose\n\nA curated collection of Jetpack Compose components, demos, and patterns. Covers everything from navigation to custom layouts, and is regularly updated with the latest Compose APIs.\n\n[GitHub: awesome-compose/awesome-compose](https://github.com/awesome-compose/awesome-compose)\n\n## Gradient Buttons\n\nA tiny CSS library for vibrant gradient buttons with animated hover states. Zero JavaScript, one CSS file you drop into any project. Works with any framework or no framework.\n\n[GitHub: gradient-buttons/gradient-buttons](https://github.com/gradient-buttons/gradient-buttons)\n\n## Why this matters\n\nThe trend is toward smaller, focused libraries that do one thing well rather than monolithic frameworks. Each of these tools plugs into an existing stack without forcing an architecture on you."
    },
    {
      "id": "csaba-kissi-open-source-tools-part-2",
      "title": "Must-know open-source tools for coders (Part 2)",
      "date": "2026-07-02",
      "tags": [
        "open-source",
        "tools",
        "ui",
        "analytics",
        "animation"
      ],
      "summary": "Csaba Kissi's Part 2 roundup of essential tools for modern developers - Toggles, Trophy UI, Orbit, OpenPanel, Bklit, Termcn, and Transitions.",
      "source_url": "https://threads.net/@csabakissi/post/open-source-tools-2026-part-2",
      "body": "Csaba Kissi followed up with a Part 2 roundup of open-source tools every developer should know. Here is the lineup:\n\n## Toggles\n\nA beautifully designed component playground for toggling between theme, state, and configuration variants. Great for design systems and component library documentation.\n\n[Visit: toggles](https://toggles.colorion.co)\n\n## Trophy UI\n\nA collection of ready-to-use, animated UI components for React. Drop-in animated cards, buttons, and interactive elements that feel polished out of the box.\n\n[Visit: Trophy UI](https://ui.trophy.so)\n\n## Orbit\n\nA platform for building and deploying full-stack applications with minimal configuration. Focuses on developer experience with instant deployments and built-in observability.\n\n[Visit: Orbit](https://wereorbit.com)\n\n## OpenPanel\n\nAn open-source analytics dashboard that gives you full control over your data. Self-hosted, privacy-focused, with a clean interface for tracking page views, events, and user journeys.\n\n[Visit: OpenPanel](https://openpanel.dev)\n\n## Bklit\n\nA minimal bookmarking and knowledge management tool. Save links, tag them, and search across your collection. Lightweight, fast, and built for the terminal-first workflow.\n\n[Visit: Bklit](https://bklit.com)\n\n## Termcn\n\nA terminal-based code snippet manager. Write, save, and reuse snippets right from your command line. Supports syntax highlighting and quick search.\n\n[Visit: Termcn](https://termcn.dev)\n\n## Transitions\n\nA CSS transition and animation playground. Visualise easing curves, tweak timing functions, and export the final CSS - perfect for prototyping motion without leaving the browser.\n\n[Visit: Transitions](https://transitions.dev)\n\n## Why this matters\n\nPart 2 leans harder into practical, ready-to-use tools rather than frameworks. Each one solves a specific pain point (documentation, analytics, bookmarking, animation) with zero configuration overhead."
    }
  ]
}