← 项目档案
Nimbus
围绕文件组织、OTP 访问和存储分析构建的安全文件管理平台。

这是什么
问题
很多个人云工具要么过于简陋,要么过于封闭。Nimbus 把文件存储重新整理成一个清晰的操作界面。
方案
项目使用 Next.js、Appwrite 存储、OTP 身份验证和紧凑的数据可视化,让上传、访问与管理流程保持轻快。
界面一览
Product surfaceThe public product tour explains the storage, sharing, Beam, and optional AI layers before account creation.
技术栈
Product
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS
Platform
- Appwrite Auth
- Appwrite Database
- Appwrite Storage
Transfer + AI
- WebRTC
- Groq
- Claude Haiku 4.5
亮点功能
- Passwordless magic-link OTP authentication
- Drag-and-drop upload, folders, live search, sorting, and file classification
- Revocable sharing links and browser-to-browser Beam transfers
- Optional workspace summaries and file Q&A
- Storage usage analytics and responsive dashboard states
工程实现
- 过程 01
Transfer files without becoming the transfer server
- 背景
- Large peer-to-peer transfers would consume storage and bandwidth while making Nimbus responsible for another copy of the file.
- 方法
- Use a four-digit pairing flow to establish a WebRTC connection and send bytes directly between browsers.
- 结果
- Transfers avoid Nimbus storage, but pairing, NAT traversal, and reconnect states become visible product concerns.
- 过程 02
Keep AI optional instead of foundational
- 背景
- File upload, organization, and sharing must remain dependable when no model key is configured or a provider is unavailable.
- 方法
- Capability-gate the AI workspace and keep the storage model independent from summaries and file Q&A.
- 结果
- The core product degrades cleanly; AI feels additive, though it cannot simplify the underlying file workflows.
实现细节
架构笔记
- Appwrite owns identity, metadata, and object storage; application helpers keep those service details out of the interface layer.
- Beam uses WebRTC and a four-digit pairing code, so transferred bytes do not pass through Nimbus storage.
- The AI workspace is capability-gated and disappears when no provider key is configured.
- Security headers, structured data, dynamic social images, analytics, and performance monitoring are part of the deployment surface.
挑战
- Keeping upload, share, transfer, and AI states legible without turning the dashboard into an operations console.
- Designing WebRTC pairing and failure recovery around short-lived sessions and browser networking constraints.
结果
A deployed v2.2 cloud workspace that goes beyond CRUD storage: passwordless access, revocable sharing, direct peer transfer, and optional AI assistance live behind one coherent product model.
规划与心得
复盘
- 01Authentication copy matters as much as authentication mechanics.
- 02Storage products need visual hierarchy before they need decoration.
下一步
- 01Add deeper file activity history
- 02Broaden Beam recovery states
- 03Publish the Appwrite data model