Product development

Arpeta: project and server management in a single app

Arpeta is a project management and server operations app I built for my own team. It runs on the desktop with Electron and on iPhone with SwiftUI, and both talk to the same Fastify API.

Client

My own product (internal tool)

Year: 2026

My role

Design, full stack and iOS development

Services
  • Desktop app (Electron)
  • REST API (Fastify + MySQL)
  • iOS app (SwiftUI)
  • Release and auto-update pipeline
Tech stack
ElectronReactFastifyMySQLSwiftUI
Highlights
  • Electron + SwiftUI + Fastify
  • SSH terminal and MySQL backups
  • Built-in AI chat

Problem

When you run several client projects, tasks live in one place, server details in another, and backups and deployments stay in the terminal. There was no single view of payment dates, server health or team access.

The goal was to bring project, task, team and server work into one app and keep sensitive data safe.

Solution

I built a layered Fastify 5 and Sequelize API, an Electron and React desktop interface and a shared types package. The schema is managed only through migrations, and server passwords and AI keys are stored encrypted with AES-256-GCM.

  • Kanban task board, project membership and permission based access control
  • Team management by invitation and in-app notifications
  • Server metrics over SSH, an interactive terminal and live log streaming
  • A MySQL table explorer with manual and scheduled backups
  • An nginx site wizard, plus PM2 and firewall management
  • Uptime monitoring, one-click deploys and automatic rollback
  • GitHub and Bitbucket integration
  • A built-in AI chat with multiple providers and saved conversation history

Result

In about three weeks of focused work, it became a working product that runs my daily server and project chores from one place. The desktop build ships as a macOS package with auto-update, and the iOS client is on the App Store as Projectify.

  • Desktop, iOS and API live in one repository with shared contract types
  • Credentials are encrypted, and Electron runs with contextIsolation and sandbox on
  • Versioning and the update flow are automated
Screenshots