Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

What I learned building a real app with Claude Code

Description and use

ShuttleSCP was built as a public beta at version 0.13.0, approximately 22,000 lines of Rust with 149 automated tests, running on Linux, macOS and Windows. Key engineering features included GitHub Actions CI/CD, safe self-updates via Ed25519-signed release manifests with SHA-266 verification, secrets stored in desktop keyrings, and release hygiene. Bugs found through manual use were fixed and some now have automatic checks. The author learned that writing code was the smallest part of software development; decision-making, user testing, noticing subtle issues, and scope control were the main remaining work.

Problem

The author wanted to learn what it is like to rely on Claude and Claude Code for a real project with real bugs and real releases, rather than just taking a course.

Outcome

ShuttleSCP was built as a public beta at version 0.13.0, approximately 22,000 lines of Rust with 149 automated tests, running on Linux, macOS and Windows. Key engineering features included GitHub Actions CI/CD, safe self-updates via Ed25519-signed release manifests with SHA-266 verification, secrets stored in desktop keyrings, and release hygiene. Bugs found through manual use were fixed and some now have automatic checks. The author learned that writing code was the smallest part of software development; decision-making, user testing, noticing subtle issues, and scope control were the main remaining work.

Workflow

  • Decided to build ShuttleSCP as a real project after finishing the Claude Code masterclass.
  • Described requirements in plain words and let Claude write the code.
  • Set ground rules: each feature on its own branch, explain each step as it happens, never handle passwords directly (use a script that asks for them), and be honest that AI built the app in README and web page.
  • Reviewed changes by reading what each change did and why, and testing the app manually.
  • Fixed bugs found during manual use, including missing GTK add-ons causing icons not to load, packaging forcing default theme, and debug build rewriting desktop launcher entry.
  • Fixed version number reuse by checking actual released versions before publishing.
  • Fixed CI status line trust issue where Claude watched GitHub Actions label instead of result.
  • Added automatic checks for first two bugs so they cannot recur.

Evidence

I recently finished The Complete Claude Code & Claude Cowork Masterclass. A course shows you what Claude and Claude Code can do. It doesn't show you what it's like to lean on that tool for a real project, with real bugs and real releases. I wanted to find out.

Source

So that became the project. The result is ShuttleSCP, a free, open-source SFTP, SCP and FTP/FTPS client for Linux, macOS and Windows, written in Rust with GTK 4. It's a public beta at version 0.13.0.

Source

Every feature goes on its own branch, and nothing merges until I've tried it. Explain each step as you go. Never handle my passwords or keys. When something needed a secret, it gave me a script that asked me for it directly. Be honest that an AI built this, in the README and on the web page.

Source

The speed is real. ShuttleSCP is now about 22,000 lines of Rust with 149 automated tests. It runs on Linux, macOS and Windows, and has had eight public beta releases.

Source

Every pull request is linted and tested on GitHub Actions. Pushing one release tag builds, checks and publishes the Linux AppImage, the macOS disk image and the Windows installer.

Source

The app checks a release manifest signed with an Ed25519 key, verifies the download's SHA-266, and swaps the file in one step.

Source

Saved passwords go to GNOME Keyring, the macOS Keychain or the Windows Credential Manager, never a plain file.

Source

  • Record date: 2026-10-22T18:11:16.597Z