Janus v2.0

  • I've released Janus v2.0, a native macOS AI chat application with dual provider support. You can download it here.

Why Build This

  • The original Janus prototype solved a specific problem: I wanted faster AI interactions on macOS than web interfaces provided, with support for my own API keys rather than subscription services. The prototype worked but had architectural limitations that prevented it from becoming something I'd confidently share with others.
  • v2.0 addresses those limitations while expanding functionality significantly.
  • Note: yes, this is still text only

What Changed

  • Multiple AI Providers:
    • The biggest addition is support for both Gemini and Cerebras. Users can choose Gemini's 4 models (including 1.5 Flash with 2M context for complex reasoning, or Cerebras's 10 models for fast text generation
  • Simplified UX:
    • Rather than allowing mid-conversation provider switching (which proved confusing), users select their AI provider when creating each conversation. This makes interactions more intentional while eliminating state management complexity.
  • Professional Error Handling:
    • The prototype failed silently in many scenarios. v2.0 provides clear error messages and recovery options for network failures, invalid API keys, rate limiting, and other common issues.
    • Robust Architecture:
      • The data layer was completely rewritten using proper SwiftData relationships, eliminating the fragile JSON serialization patterns from the prototype. 
      • This prevents data corruption and simplifies future feature development.

Implementation

  • Built entirely in SwiftUI with comprehensive keyboard shortcuts, menu bar integration, and native macOS design patterns. All conversation data stays local using SwiftData persistence, with API keys secured in the macOS Keychain.
  • The app includes four specialized personas (General Assistant, Code Expert, Creative Writer, Research Assistant -- all of which can be modified in the app settings) and handles the complexity of different provider APIs through a clean abstraction layer.

Development Process (aka Claude FTW)

  • ClaudeCode was absolutely instrumental here
  • The last version was made in "the old days" (i.e. early 2025) when I was using more of Cursor + some combination of Gemini and chatGPT
  • The difference is night and day, and I feel I'm becoming an "AI whisperer" [will save this thread of thought for another article]

Download and Feedback

  • Janus v2.0 is available as a free download at janusapp.me.
  • BYOK (from Google AI Studio and/or Cerebras Cloud)
  • The app represents what I wanted from AI chat software: fast, reliable, private, and genuinely native to macOS.

If you try it, let me know what you think about it