EncryptX

✨ Completed

A modern, full-stack file encryption tool built with Rust and Next.js — secure, fast, and developer-friendly.

Duration

5 days

Stack

11 Tech

EncryptX preview

Project Overview

EncryptX is a full-stack file encryption platform designed for users who care about privacy and performance. Built with a memory-safe Rust backend and a sleek Next.js frontend, it offers secure encryption and decryption for any file type, directly in the browser.

The tool supports both password-based and key-based encryption using AES-256-GCM, with strong key derivation through Argon2id. Files are compressed with `zstd` before encryption to ensure faster transfers and reduced file sizes. Despite a lightweight UI, EncryptX is optimized for large files and secure by default — making it ideal for developers, security enthusiasts, or anyone handling sensitive files.

EncryptX also offers a public Rust library that can be integrated into other projects, supporting CLI, API, and web-based use cases. Its backend is hosted on Railway, and the frontend runs on Vercel with reliability monitoring via BetterUptime.

Key Features

🔑 Dual encryption modes (password or raw key)

🔐 End-to-end AES-256-GCM encryption

🧠 Argon2id for strong password hashing

🧪 Tamper-proof files with authenticated encryption

📦 Automatic zstd compression before encryption

📂 Works with any file type (docs, images, archives, etc.)

🧱 Large file support (up to ~1GB, depending on server)

🖥️ Intuitive UI with drag & drop and instant feedback

🧼 Built in Rust for memory safety and performance

📦 Public Rust API for integration into other projects

Challenges

⚙️ Handling frontend security (CORS, blob handling, etc.)

📉 Optimizing compression + encryption speed under size constraints

🧵 Adding CLI, API, and parallel encryption logic

🚀 Hosting full-stack Rust+Next.js securely and efficiently

🔐 Safely managing secrets and zeroing memory after use

Key Learnings

🔬 Cryptography in practice: AES-GCM, Argon2id, SHA-256

🦀 Building secure and performant APIs with Actix Web

📦 File compression using `zstd` in Rust

🌐 Client-side file handling and security in Next.js

📡 Full-stack deployment using Railway + Vercel

Tech Stack

RustActix WebNext.jsReactTypeScriptTailwind CSSAES-256-GCMArgon2idzstdRailwayVercel

Timeline

Started

June 17, 2025

Completed

June 22, 2025

Total Duration

5 days

Team

Solo Project