I spent some time working on several areas of the application recently. I focused heavily on expanding AI capabilities, hardening data security, and deepening integration with platforms like Buffer and Dev.to.
Data Handling and Security Improvements
I made significant changes to how sensitive data is managed within Relay. Now, export and import settings and secrets can be locked using a six-word passphrase. Furthermore, I updated the storage of keys in the AI settings section to use the system keychain. Crucially, secrets are no longer stored in plaintext config.toml files; they have been moved elsewhere.
I also worked on ensuring data integrity and cleanup. This included implementing mechanisms to clear all data across both the Settings UI and the Windows uninstaller. On a broader infrastructural level, I audited the repository and prepared it for public release, including making sure signed public releases can actually be opened by judges. For users on Linux without a keychain, secrets are kept in a file instead.
AI Provider Layer Expansion
The AI functionality saw major expansion. I built out a complete AI provider layer in Go to manage various services. I integrated support for several key providers: OpenAI, Anthropic, and OpenRouter. To improve local usability, I also added auto-detection support for Ollama and LM Studio as local providers.
These updates allow users to test a model before saving it in the settings. The AI section now includes keys storage in the keychain and has specialized logic to catch cut-short input or insist on series continuity when using OpenAI-style replies. I also updated the UI so that the provider's answer appears under its key, rather than at the bottom of the page.
Content Workflow and Integrations
I deepened integration with external publishing services. For Buffer, I implemented robust OAuth sign-in using Authorization Code + PKCE and created a dedicated buffer tab to handle channels, posts by status, editing, and deleting content. The Buffer composer now allows users to review and edit drafts before sending, and the queue panel displays both scheduled and sent posts.
Regarding Dev.to, I made improvements to the publishing flow, including fixing how the app handles the link for posts that aren't published yet, and implementing a method to set Dev.to’s own AI marker instead of adding an extra line. On the Plan in Buffer board feature, I added functionality to list, create, draft ideas with AI, and view content items alongside Plane data (while labeling it experimental where necessary).
I also focused on streamlining the setup and user experience. This included implementing a full first-run onboarding flow for new users, fixing several bugs related to connecting services—like ensuring that setting up the guide properly handles finding the Plane workspace slug and resolving connection lag after authorization. I also made Plane optional so Relay can operate solely with Buffer connected if needed.
Core Application Stability and Polish
I upgraded the application framework itself to Wails v3.1.0, improving general stability across the codebase. The user interface received several polish touches: the sidebar now moves unset integrations into "Other integrations," and I updated how terminal functionality works, allowing ⌘T to open a tab and exit to close the pane.
I also improved core app maintenance features by adding per-subsystem logging, custom provider endpoints, and model search capabilities. On the infrastructure side, I implemented logic for Relay to download, verify, and install a new release automatically, along with updating the version and release type displayed on the public landing page and in the settings/tray icon.
What's next
No specific plans were mentioned.
