• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
wolf

wolf

EmailAttachmentLog

Public
Like
EmailAttachmentLog
Home
Code
9
backend
2
frontend
2
shared
2
.vtignore
README.md
H
dashboard.ts
deno.json
email-handler.ts
E
getFiles.ts
Branches
1
Pull requests
Remixes
History
Environment variables
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
README.md
Code
/
README.md
Search
4/23/2025
Viewing readonly version of main branch: v28
View latest version
README.md

Email Attachment Storage and Dashboard

A Val Town project that receives emails with attachments, stores them in blob storage, and displays them in a dashboard with a Remarkable-inspired black and white aesthetic.

Project Structure

├── backend/
│   ├── index.ts       # Main Hono app
│   └── routes.ts      # API routes
├── frontend/
│   └── index.html     # Dashboard UI with Tailwind CSS
├── shared/
│   ├── storage.ts     # Blob storage utilities
│   └── types.ts       # Shared type definitions
├── dashboard.ts       # HTTP entry point
├── email-handler.ts   # Email processing logic
├── getFiles.ts        # Email trigger entry point
└── README.md

Components

1. Email Handler

This component:

  • Receives incoming emails with the email trigger
  • Extracts the first attachment from each email
  • Stores the attachment content in blob storage
  • Maintains metadata about each attachment
  • Sends a confirmation email to the sender

2. Dashboard

This component:

  • Uses Hono as the backend framework
  • Provides a REST API for accessing attachments
  • Serves a frontend with Tailwind CSS
  • Displays all received attachments in a clean, minimal interface
  • Shows metadata for each attachment (filename, sender, date, etc.)
  • Allows viewing and downloading of attachments
  • Features a responsive design with a black and white aesthetic inspired by Remarkable

Technology Stack

  • Backend: Hono.js for API routing
  • Frontend: HTML, JavaScript, and Tailwind CSS
  • Storage: Val Town blob storage
  • Styling: Tailwind CSS via CDN for minimal black and white aesthetic

Data Structure

Attachments are stored in blob storage with the following structure:

  • attachments:list - JSON array of all attachment IDs
  • attachment:{id}:content - Raw content of the attachment
  • attachment:{id}:metadata - JSON metadata about the attachment

Usage

  1. Send an email with an attachment to your Val Town email address
  2. The attachment will be automatically stored
  3. View all attachments on the dashboard
FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.