Local app · NOTE4

NAS Gallery

Randomly choose portraits from a NAS photo folder, fill NOTE4 in sixteen shades of gray, and show the capture date.

What it can do

Filter portraits locally; skip screenshots and scenery without people
Full-screen 400×300 Gray16 photos with capture dates
Automatic slideshow, device-button navigation and pause
Prepared small frames, bounded cache and offline NAS browsing

Install & use

Build a local program, then integrate plugins

Use the public SDK to build a program on your computer, then integrate your chosen plugin. A local AI can help with building and adaptation; finish by checking the result on the device.

Public source

Local Push SDK · macOS 15+ / Apple Silicon · NAS share

Portrait selection in the original gallery uses macOS Vision and currently requires macOS 15+ / Apple Silicon. Using the SDK does not remove this requirement; other systems need separate adaptation.

  1. Build a local program with the SDK

    Get the public Local Push SDK, prepare Rust and build tools for your OS, and pass example builds and local tests before implementing device connection and display output. The current SDK matches NOTE4 firmware 3.7.2.

  2. Integrate the NAS gallery

    Mount the NAS share on the Mac and reuse photo selection, cropping, date and cache logic. Send images using the SDK Gray16 interface, and manage keys, slideshows and app data in the local program.

  3. Choose folders and verify one photo

    Set the mounted photo folder, cache folder and slideshow interval in the management page. Check face-aware cropping, the bottom-right YYYY-MM-DD date, device display receipts and Up/Down navigation before enabling the slideshow. Photos without a reliable capture date are skipped.

Get the Local Push SDK ↗

Give this task to Codex or another local AI on your computer. It will prepare the SDK and local program first, then check and adapt the plugin interfaces.

See the task for AI
Use the Local Push SDK to build a local program on my computer, then integrate and verify the features of NAS Gallery.
Project repository: https://github.com/itopinion/zectrix-nas-gallery
Installation guide: https://github.com/itopinion/zectrix-nas-gallery/blob/main/README.md
Information checked: 2026-10-20; reference commit: bc89e341e0c2e31bc6a884984aa72ce54c70bb23. Recheck the current version before proceeding.
Local Push SDK: https://github.com/itopinion/zectrix-local-push-sdk
SDK API documentation: https://github.com/itopinion/zectrix-local-push-sdk/blob/main/docs/API.md
SDK compatibility manifest: https://github.com/itopinion/zectrix-local-push-sdk/blob/main/compatibility.json
Project requirements: Local Push SDK · macOS 15+ / Apple Silicon · NAS share
Integration approach: Build a local program with the public SDK, then integrate app logic, rendering and device events. Check interfaces and dependencies against the current source.
Read the current SDK README, API documentation and compatibility manifest first. SDK 0.1.0 matches NOTE4 firmware 3.7.2 with a 400×300 canvas; it does not support NOTE4C. Check the actual device and do not upgrade firmware automatically.
1. Identify my OS and processor, check for an existing SDK and local program, and reuse them when compatible. If missing, clone the public SDK, prepare Rust, a C/C++ compiler and CMake according to the current README, and build for this computer using a path dependency.
2. Run cargo test --locked and cargo check --locked --examples first. Implement device selection, single-connection management, PNG rendering, event handling, configuration storage and shutdown cleanup. The SDK does not provide a ready-made plugin loader.
3. Read the plugin source, reuse its business logic, and adapt its rendering, device event and audio interfaces to the local program. Implement the calling interfaces or compatibility layer it needs; renaming a dependency is not successful integration.
4. Implement rendering, state management, button handling and audio in the local program as required by the plugin, and test each function. Record completed features and any issues encountered, and report what works based on the test results.
5. NOTE4 and the computer need a reachable LAN. Enable Keep Wi-Fi in standby following the SDK guide. Confirm the target device and whether another program owns its connection; do not take it over. Local device connection needs no ZECTRIX Cloud API Key; configure data-source keys separately for each plugin.
6. Submit original 400×300 PNGs and let the SDK convert to mono, gray4 or gray16; do not dither twice. Consume next_event() continuously for interaction and call close() on exit. Do not automatically reconnect or take over the device. Do not treat ResultUnknown as failure and resend an image or audio.
7. The SDK includes no ASR, TTS or language model. Configure speech backends separately when needed. Playback uses 16 kHz mono PCM16, and recording is triggered by device buttons. Perform the first device push only after the user confirms the target and preview.

Integration steps for this project:
1. Build a local program with the SDK: Get the public Local Push SDK, prepare Rust and build tools for your OS, and pass example builds and local tests before implementing device connection and display output. The current SDK matches NOTE4 firmware 3.7.2.
2. Integrate the NAS gallery: Mount the NAS share on the Mac and reuse photo selection, cropping, date and cache logic. Send images using the SDK Gray16 interface, and manage keys, slideshows and app data in the local program.
3. Choose folders and verify one photo: Set the mounted photo folder, cache folder and slideshow interval in the management page. Check face-aware cropping, the bottom-right YYYY-MM-DD date, device display receipts and Up/Down navigation before enabling the slideshow. Photos without a reliable capture date are skipped.
First verification: Using your mounted photo folder, verify a full-screen portrait and its capture date on NOTE4, Up/Down navigation and pause. Check device receipts and the physical screen separately, and confirm the NAS originals remain unchanged.
Report build, preview, device display-completion receipt and visual inspection separately. Provide start, stop, uninstall and update instructions, preserving existing data. Interactive apps require the computer program to keep running.
Configure accounts, keys, device addresses and personal data only locally; do not include them in shared tasks or logs. If the AI has no local execution environment, provide a build and integration plan without claiming installation.

After installation, confirm this

Using your mounted photo folder, verify a full-screen portrait and its capture date on NOTE4, Up/Down navigation and pause. Check device receipts and the physical screen separately, and confirm the NAS originals remain unchanged.

After installation, check the actual result on your device. Copying this task does not execute installation.

Frequently asked questions

Can I install a downloaded plugin directly into the SDK?

The SDK provides device connectivity. Build a local program, then integrate the plugin logic, rendering, event and audio interfaces. You can give the task on this page to a local AI.

Are photos uploaded to the cloud?

The original project reads NAS originals and detects faces on the Mac. After SDK integration, it pushes directly over the LAN. Keep originals unchanged and manage small-image caches locally; photos do not need to be uploaded to ZECTRIX Cloud.

Can it run directly on Windows, Linux or Synology DSM?

Portrait filtering currently depends on macOS Vision. The release and validation scope is macOS 15+ on Apple Silicon. The NAS supplies a shared folder while the player runs on the Mac; other systems have not been adapted.

Why are some photos skipped?

The app requires camera provenance, a human face and a reliable capture date. Screenshots, scenery without people, missing metadata, and very small or low-confidence faces are skipped. File modification time is not used as the capture date.

Can I keep viewing photos when the NAS disconnects?

Reuse the original caching logic to view saved small images; new photos still need NAS access. The local program must keep running. A retained device image after disconnection or exit does not mean the gallery is still running.

Project & updates

Public repository. Project information was checked on 2026-10-20; support depends on the actual version.

Further improvements will be published in the GitHub repository. Before installing or upgrading, ask AI to read the current README and version changes, and preserve existing settings and data.

View source & instructions ↗
Local app · NOTE4Get started →

Your project details will be sent to support@zectrix.com for review before listing. Your email is used only to discuss your submission.