SnapRAID was created following the Unix philosophy: Write programs that do one thing and do it well.
The first design principle was reliability. The result is a simple architecture and an easy to understand implementation.
Extensive and automated tests with the runtime checker Valgrind and with the Google Sanitizers are done to ensure the correctness of the final application. The test has a code coverage of over 90%, measured with lcov.
SnapRAID is also verified with Coverity Scan for both the CLI and the Daemon. and clang static analyzers, and with the American Fuzzy Lop fuzzy tester.
The second design principle was robustness. It supports any kind of problem. Even on kernel panics, power-downs or any other hard failure at runtime, your redundancy data is in safe hands.
It uses all the possible storage techniques to ensure to always keep consistent redundancy even after critical interruptions.
The third design principle was efficiency. It's a native C application highly optimized to ensure maximum throughput of your disk array.
Integrity checks use the highly efficient murmur3 and SpookyHash hashes at 128 bits.
Redundancy computations use a custom RAID library (based on Linux Kernel RAID) supporting up to six parity levels. Internal structures use TommyDS.
This project is not "vibe-coded". Artificial intelligence is used strictly as a precision tool and a pair programmer, never as a substitute for engineering judgment. All architecture decisions, core logic, and safety guarantees remain under direct human control and review.
AI was used selectively to accelerate front-end scaffolding, component layout, and alignment with modern UI standards. All functional behavior, state management, API integration, and system logic were implemented and manually validated.
Development follows a human-led, AI-assisted workflow. The developer defines the architecture and writes the core implementations. AI contributes by exploring design alternatives, surfacing edge cases, suggesting optimizations, and helping refine documentation. Any generated output is reviewed, revised where necessary, and hardened before integration.
This approach improves development efficiency while preserving strict engineering oversight and reliability.