I focused on improving my developer workflow by significantly expanding Relay's functionality and restructuring its underlying infrastructure over several weeks. Key changes include establishing a robust deployment environment for various services, building out complex features like a local terminal, and deepening integrations with content platforms and AI providers.
Infrastructure and Deployment Updates
The initial work involved migrating core hosting components to create a more resilient development setup.
I moved container images from GitLab registry to Harbor (trident/). To secure the existing services, I deployed Caddy in front of GitLab using wildcard certificates, turning off GitLab’s built-in container registry as part of this process. The website was migrated by preparing a dedicated website-pmx VM with Docker and Nginx setup, and growing its disk space to 30 GB.
Additionally, I modernized the data layer by migrating the Postgres 14 database for vairavcms. For CMS management, I deployed Strapi 5 in Docker. The core front-end was updated using a live image from Harbor, alongside setting up Nginx and TLS certificates for internal browsing through Caddy. Security was addressed by moving secrets out of config.toml and ensuring that project data could be locked behind Touch ID on macOS.
Advanced Workflow Features in Relay
A major focus was enhancing the functionality available within Relay itself.
I scaffolded Relay using the Wails3 React template, building upon existing capabilities to create a unified developer tool. Key additions include:
- Kanban and Content Management: Implementing a Kanban board with drag-and-drop, filters, search, and an item drawer that supports comments and activity tracking. I also added cross-project inbox attention for better content flow.
- Terminal Experience: The terminal view was significantly upgraded. It now features Go-owned PTY sessions allowing detach and reattach, along with xterm panes, tabs, splits, and zoom functionality. Keybindings, pane drag-and-drop, and Nerd Font icons were implemented to improve the developer experience. A quick terminal shortcut (
⌘/) is available over other views. - Security & Data: I added an encrypted display cache that remains read-only until first live sync. The application now handles vault storage using AES-256-GCM, keyed by a keychain key for better security management.
Expanding Integrations and AI Capabilities
I focused heavily on connecting Relay to external platforms and incorporating advanced artificial intelligence features.
Content Platform Integration
- Buffer: I implemented full Buffer integration, supporting sign-in via OAuth (Authorization Code + PKCE) and handling token storage with single-use refresh logic. New capabilities include viewing scheduled and sent posts in a dedicated queue panel, editing drafts within the composer, and even summarizing Dev.to content into per-channel social drafts.
- Dev.to: The application now has specific features for managing Dev.to articles, including publishing, unpublishing, and deleting existing content from Relay.
AI Provider Layer
I built a dedicated AI provider layer in Go that supports multiple providers: OpenAI, Anthropic, and OpenRouter. These providers can be configured with keys stored securely in the system keychain. I also added support for local model running via Ollama and LM Studio, including auto-detection of these local endpoints. This entire section was wrapped in logic to prevent sensitive data from being sent to cloud AI services where it shouldn't be.
User Experience Refinements
General quality-of-life improvements included implementing a first-run onboarding flow, making Plane optional so that Relay can function standalone with just Buffer integration, and improving the overall setup guide to walk users through each connected service. I also enhanced stability by upgrading the application framework multiple times (including moving from Wails v3 beta.32).
While specific next steps were not documented, the groundwork laid for complex data handling and external integrations positions Relay as a highly functional cross-platform toolset.
Top comments (0)