Sébastien Lavoie

Design engineer

File Architect — a macOS app to create file and folder structures from plain text

Outline the files and folders you want, nest them with tabs, and create your structure. It's local, private, and fast.

What initially started as a very simple solution grew into a proper, fully fledged app with many features.

  • Advanced Operations syntax: Allows to copy, rename, or move files or folders and their content
  • AI Generation: Get an AI-Generated structure from a simple prompt
  • Valid Blank Files: Files are created as valid blank files that open, not 0-byte stubs
  • Templating system: Plain-text templates can be saved and managed
  • Fast and minimal: The app stays fast, lightweight (19.9 MB) and simple. The necessary and nothing else.
  • Open-Source Engine: Can be used via command-line: https://github.com/filearchitect

Why build that?

Keeping a file system organized is harder and slower than it needs to be. Creating files and folders by hand is too slow and tedious, and using command lines can work, but it's complex, unintuitive, and somewhat slow too.

Why text as an interface?

Text is the perfect tool to outline a simple, predictable result. It's lightweight, fast, readable, shareable. It's also especially well-suited as input in the era of LLMs.

Another underrated advantage of a text-based approach is that the input is visually similar to the expected result, reducing UI complexity and the gap between editing and output.

A web-friendly tech stack

Building everything from idea to design, backend, and frontend was a fun challenge. What started as a quick tool built for myself quickly became more significant, and I needed to learn quite a bit to make it work, including:

  • Tauri development ecosystem
  • Rust language basics
  • How to structure a large React app
  • How to sign and release an app to work well on macOS

As a developer mostly comfortable with the web, using Tauri felt less dauting that Swift. Also, it makes a future Windows release accessible.

The app is also supported by a Laravel web app that handles:

Generating valid blank files

One thing that I kept running into that I knew would be a problem is that binary files will not open when they're created programmatically. A 0 bytes file.txt is fine, but a 0 bytes file.docx won't open. The reasons why don't matter to the user, it will just look like a bug in the app to most users.

So I did what had to be done and gathered a large amount of minimal valid working blank files and put them in an open-source package, also accessible from a dedicated website, blankfiles.com.

When creating one of those formats, the app downloads the blank file locally and caches it. So that the file created will open smoothly in the right software.

The AI-assisted development process

This project was built with significant help from various AI tools. It was particularly helpful with:

  • Exploring and prototyping ideas quickly
  • Working with Rust/Tauri, which was new to me
  • Accelerating the initial development

While AI tools were very useful, they weren't a complete solution. I don't think I would have been able to do this without some good programming fundamentals for things like:

  • Directing effectively
  • Identifying and fixing duplicated code
  • Refactoring and improving code quality
  • Managing version control and project direction

The initial prototype came together quickly - reaching about 60-70% completion in the first phase. However, the refinement phase involving features like:

  • Authentication
  • Payment processing
  • Bug fixes
  • Performance improvements
  • Testing

Required significant manual intervention and cleanup.

While AI tooling is great and advances quickly, my feeling after all this is that programming remains fundamentally a human task. The role has shifted more toward architecture and oversight rather than pure implementation.

Interestingly, even with AI assistance, many of the project's requirements and features were discovered during the building process rather than being fully specified upfront. If building is a combination of exploration and implementation, the process is not different with AI. The implementation part just happens faster, leaving more space for the exploration.

Try it for free at filearchitect.com