Skip to content

Bedrock โ€‹

Your private workspace by design, not by promise.

A decentralized drive-like file manager built with Next.js, React, Tailwind CSS, and Aleph.im. This application lets users upload, organize, sort, and manage files in a cloud interface similar to Proton Drive.

Bedrock.im is a project built on top of Aleph.im's decentralized cloud, supported by their Acceleratooor program.

As the project is still in its early stages, ways to contribute and understand the technical architecture aren't properly documented yet and will gradually appear in our documentation.

If you're interested to learn more about this project, feel free to reach out by creating an issue, or contacting any of the team members.

๐Ÿš€ Features โ€‹

  • ๐Ÿ” Search files and folders
  • ๐Ÿงฉ Sort by name, size, or creation date
  • ๐Ÿ—‚๏ธ Create folders
  • ๐Ÿ“ค Upload files (drag and drop supported)
  • ๐Ÿงญ Breadcrumb navigation
  • โœ… Multi-file selection
  • ๐Ÿ—‘๏ธ Soft/hard delete with restore option
  • ๐Ÿ“ Rename and move files
  • ๐Ÿ” End-to-end encryption with Aleph storage

๐Ÿ› ๏ธ Stack โ€‹

  • Frontend: Next.js (App Router), TypeScript, Tailwind CSS
  • State management: Zustand
  • UI library: Radix UI + Lucide Icons
  • UI testing tools: storybook
  • AI: openai
  • Wallet management: thirdweb + ethers
  • Storage: Aleph.im via @aleph-sdk/*

๐Ÿ“ Project Structure โ€‹

.
โ”œโ”€โ”€ components/drive/       # All drive-specific components (FileList, UploadButton, etc.)
โ”œโ”€โ”€ components/ui/          # Design system (Table, Breadcrumbs, etc.)
โ”œโ”€โ”€ stores/                 # Zustand stores (drive and account state)
โ”œโ”€โ”€ hooks/                  # Custom hooks like use-bedrock-file-upload-dropzone
โ”œโ”€โ”€ pages/                  # Next.js route files
โ”œโ”€โ”€ public/                 # Static assets
โ””โ”€โ”€ ...

๐Ÿงช Available Scripts โ€‹

bash
yarn dev          # Start dev server on localhost:3000
yarn build        # Build the app for production
yarn start        # Run production build
yarn lint         # Run ESLint
yarn format       # Format code with Prettier
yarn test         # Run tests (Jest)
yarn storybook    # Launch Storybook

โš™๏ธ Environment โ€‹

Make sure to configure your .env.local if your Bedrock/Aleph services require secrets or specific URLs.

๐Ÿ“ฆ Dependencies โ€‹

This project uses:

  • @aleph-sdk: To interact with Aleph's decentralized network
  • zustand: Lightweight state management
  • react-dropzone: File upload handling
  • radix-ui: Unstyled component primitives
  • lucide-react: Icon set
  • nuqs: Query state for search, cwd, sort, etc.

๐ŸŒ Future Improvements โ€‹

  • ๐Ÿง  Smart search suggestions
  • โŒš Real-time editor for files

Team โ€‹


Pablo Levy

Florian Lauch

Dorian Moy

Reza Rahemtola