Inspiration

I care about preservation of personal and historical media and believe it's important to preserve knowledge. I wanted a portfolio page for things I wanted to share which I've already been preserving forever. However google drive and other cloud services suck.

What it does

Two modes:

  • Vault -- Your private archive. Everything you upload starts here. Only you can see it, behind JWT auth and bcrypt-hashed passwords.
  • Portfolio -- The public face. Choose which items to share. Visitors see a clean, browsable portfolio at /p/yourname. Everything else stays locked.

Key features:

  • Upload files with drag-and-drop or file picker
  • Organize into folders
  • Toggle any file between private (vault) and public (portfolio)
  • Preview images, PDFs, videos, and Markdown files directly in the browser
  • Obsidian-flavored Markdown support (wiki-links, embeds, frontmatter stripping)
  • Search across your archive
  • Multi-select files for batch move and batch delete
  • Folder browsing on the portfolio page
  • Basic User interface customization
  • Mobile-friendly -- access your archive from your phone over HTTPS
  • Single SQLite database file -- easy to back up, migrate, or inspect
  • Local filesystem storage -- no object storage services, no S3, no dependencies ## How we built it Overnight work after lots of pre planning and few-shot agent prompting ## Challenges we ran into Original idea was too big and unfeasible. Lots of reliance on deprecated versions of packages and libraries which doesnt make the project as secure as it should be. ## Accomplishments that we're proud of very nicely working frontend where all initial basic features were implemented with lots of room for future improvement. This was designed as a tool that could help me with my own personal experimentation and research but also to have more experience in industry tools and frameworks.

What we learned

Your own data is some of the most valuable currency in an ai scraping world but it's possible to keep your data to yourself

What's next for archive of ur own

Implementing automatic labeling of the entries in order to create a vector database to be used with an personal MCP agent

Built With

Share this project:

Updates