Case study
Author’s own projectNotepad-- · Codex + TaskBelay

A native macOS migrationwith TaskBelay

Moving a Qt editor to native macOS components takes feature decisions, implementation and repeated verification. Notepad-- paired Codex with TaskBelay: Codex analyzed and built the app, while TaskBelay kept the plan, progress and check results together.

Agree on the plan. Connect each step.

From approval to test-driven rework, TaskBelay keeps the agreement, current progress and next action together.

Author’s own project · Edited development story

01 / Goal and roles

A clear goal. Defined responsibilities.

User
Defines the goal, approves the plan and checks the actual features.
Codex
Analyzes, plans, implements, runs checks and submits results.
TaskBelay
Saves task state and agreements, checks scope and verification, and advances stages from submitted results.
The goal
Migrate Notepad-- to Apple-native components, targeting macOS 15 compatibility, using available macOS 27 capabilities, and reducing motion on older systems.
The choices
Retain existing features within the agreed scope. Exclude Qt, Scintilla, comparison features, and compatibility with old Qt plugins.
The outputs
An AppKit, SwiftUI and NSTextView/TextKit project, requirements and implementation documents, and a local universal DMG.

02 / Development process

Turn an idea into work you can follow.

Define the scope, approve the plan, work through repairs and review progress. Give each part of a large task a clear place in the process.

  1. Goal and responsibilities

    Agree on the goal before choosing the next step

    The goal was a genuinely native macOS Notepad-- app that retained the agreed editing capabilities. The discussion moved from technology choices to concrete decisions about which features had to stay and which were outside the task.

    How TaskBelay helped
    Retain the confirmed requirements and exclusions so design, implementation and review share the same agreement.
    Progress
    The architecture and feature scope were clear enough to plan concrete work.
    Read the summary: architecture and scope
    Choose the native approach
    Use AppKit, SwiftUI and the system text editor, without Qt or Scintilla. Rebuild windows, menus, document operations and editing around macOS.
    Define the feature scope
    Retain the agreed document, search, column-editing, highlighting, encoding and recovery capabilities. Exclude comparisons and old plugins, with large-file and hex viewers remaining read-only.
    Set compatibility expectations
    Target macOS 15 and later, adopt newer capabilities when available, and reduce motion on older systems. Build the native app separately while keeping the Qt project.
  2. Plan the implementation

    Approve the full plan before implementation.

    Codex organized the migration into 10 work items and 12 acceptance criteria covering the project, editor, search, tools and verification. TaskBelay saved the plan for approval; the user’s “Start” moved the task into implementation.

    How TaskBelay helped
    Kept the plan and its approval together, so later work followed the agreed scope.
    Progress
    The approval referred to the saved plan, which remained available for later review.
    Explore the task operations

    Plan approval and stage changes from this task.

    1. After saving the draftTASKS · COMPLETE_TASKS

      Read and prepare the plan; wait for approval.

    2. User responseStart

      Approval was submitted for the saved plan.

    3. TaskBelay returnedIMPLEMENT · COMPLETE_IMPLEMENTATION

      The allowed actions now included product-file edits.

    Read the summary: work and acceptance
    Map features before migration
    Identify the original application’s actual capabilities and map retained features to the native version before scheduling the editor, search and tool work.
    Make file scope explicit
    Add an independent native project and supporting documentation, with expected changes listed. Leave the existing Qt source unchanged.
    Tie checks to behavior
    Plan checks for Chinese input, multi-cursor undo, safe saving and recovery, with an initial budget of 20 automated commands. Record platform checks separately when hardware is unavailable.
  3. Testing and rework

    Keep repairs and retests connected.

    When save-state and UI checks found problems, Codex submitted the failures and TaskBelay returned the task to implementation. Document notifications and launch arguments were fixed, then the implementation was submitted and retested. System prompts that needed user attention stayed attached to the current work.

    How TaskBelay helped
    Recorded the failures and moved the task back to rework. TaskBelay received check results; Codex diagnosed and fixed the code.
    Progress
    Code repairs, repeated checks and an updated installer stayed available in the same task.

    One additional verification pass

    Original command budget used
    20 commands
    Specific additional commands
    +4 commands

    The repairs changed the source. Native regressions, a fresh build and package validation were needed to check the updated result.

    • Full native tests
    • Current Release build
    • DMG packaging
    • DMG validation

    This was the first increase. The full migration record contains 8 adjustments, raising the automatic-command allowance from 20 to 37, each with a reason and planned checks.

    20 → 24 → 28 → 29 → 30 → 31 → 32 → 36 → 37

    Explore the task operations

    Plan approval and stage changes from this task.

    1. Submit a failed resulttaskbelay_submit_test

      Record the failure and select a return to implementation.

    2. Recorded stage changeTEST → IMPLEMENT

      The next action again allowed product-file edits.

    3. After the fixIMPLEMENT → TEST

      Submit the implementation and check the current content.

    Read the summary: two failures and their fixes
    The file was saved; the interface was stale
    Saved content was intact, but the sidebar still showed the old filename and unsaved marker. The fix updated document-state notifications so the list reflected the save result.
    Find what is blocking the test
    A test argument was treated as a filename, opening a dialog that blocked find and undo. Codex changed the startup configuration and reran the affected flows.
    Keep the package aligned with the repair
    Rerun UI, document and editing checks after the fixes, then build and validate the universal installer from current source.
  4. Review progress

    Return to the plan to make the next work clear.

    After the native project and installer were produced, the user and Codex compared the implementation plan with the original app. Cross-document search, batch operations and language styles were checked individually, making the remaining work concrete.

    How TaskBelay helped
    Retained the original agreement and development history as a reference for feature-by-feature review.
    Progress
    Implemented capabilities and remaining work became clearer, giving the next steps a specific focus.
    Explore the feature review
    Compare search scenarios
    Review find and replace in one document and across all open documents separately.
    Break down batch operations
    Check multiple replacement rules, rule import and export, and batch renaming individually.
    Make further work concrete
    Keep language styles, digest tools and localization connected to the original plan as features are refined.

03 / Outputs and takeaways

Keep progress and the process in view.

Three ways to support longer work

  • Approve features, file scope and checks together before implementation.
  • Carry failure details and existing progress into the next repair.
  • Give additional checks a specific purpose before expanding verification.

What the work produced

  • A native project built with AppKit, SwiftUI and system text components.
  • Core document, editing, search and recovery functionality.
  • Requirements and implementation plans, plus a local universal DMG installer.

Native project and universal installer produced

The native project and core functionality are in place. Complete feature migration and compatibility acceptance remain the focus of continued work.

Check the experience, then the package.

  • 3 / 3UI retests

    Three UI flows passed

  • 9 / 9Related regressions

    Document and editing checks

  • DMGPackage validation

    Universal package validation passed

UI, document and editing checks ran in the local environment. The installer was rebuilt from the current source.

04 / Refining the experience

From a native project to a better everyday experience.

With the native app in place, further work brought Chinese and English to its settings, menus and system panels.

Follow-up development · implemented directly with Codex

Chinese and English across the interface

Choose Simplified Chinese or English in settings. After restart, app menus, settings and system file panels use the selected language. This bilingual update passed 43 unit tests and 5 UI tests, with a universal Release build.

05 / Download summary

Keep the key moments from this project.

Keep the planning, test repairs and verification process from this migration as a reference for your next longer task.

Edited from the author’s development experience, retaining key decisions and operations.

Download the task summary

TXT · Chinese · Edited process summary

06 / Start a task

Try it on one of your own longer tasks.

Describe the work in your usual coding tool. Use TaskBelay to prepare the plan, agree on scope and keep moving from saved progress.