• Blog
  • Docs
  • Pricing
  • Weโ€™re hiring!
Log inSign up
dcm31

dcm31

buildDotMoi

Remix of std/reactHonoStarter
Unlisted
Like
buildDotMoi
Home
Code
5
backend
1
examples
1
frontend
4
README.md
moi.md
Branches
19
Pull requests
4
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/26/2025
Viewing readonly version of main branch: v5
View latest version
README.md

ValGram - Instagram-style Val Town Profile Viewer

ValGram is an Instagram-style profile viewer for Val Town users, showing their vals in a grid layout similar to Instagram.

Features

  • View any Val Town user profile in an Instagram-style grid
  • Posts / Code tabs: Filter between vals with moi.md (Posts) and all vals (Code)
  • Live app links: Posts tab links directly to HTTP endpoints
  • 2:3 aspect ratio cards (portrait mode)
  • Minimal spacing grid: Edge-to-edge on mobile with tighter spacing
  • Responsive design (mobile and desktop friendly)
  • Dark mode support: Automatically follows system preferences
  • Circle-cropped profile pictures
  • Muted colorful placeholders with wrapped val names
  • Hover effects to display val details
  • Responsive grid: More columns on larger screens (3-5 columns)
  • Client-side routing (/@username paths)
  • Custom profile configuration via moi.md files

Usage

Visit the main page and enter a Val Town username to view their profile. You can also directly navigate to:

/@username

Where username is the Val Town username you want to view.

Tabs Functionality

ValGram has two main tabs:

  1. Posts: Shows only vals with a moi.md file and links to their live HTTP endpoints
  2. Code: Shows all vals and links to their code on Val Town

The Posts tab is perfect for highlighting your working applications, while the Code tab gives visitors access to all your Val Town code.

Custom Profile Configuration with moi.md

ValGram supports custom profile configuration using a moi.md file at the root of your Val Town project. This file uses YAML frontmatter to specify custom metadata for your profile or individual vals.

Example moi.md

--- title: "My Awesome Val Town Project" description: "A detailed description of my project" imageUrl: "https://example.com/my-custom-image.jpg" author: "username" tags: ["javascript", "react", "val-town"] --- # My Project Additional markdown content here will be ignored by ValGram but can be used for documentation.

Supported Configuration Options

  • imageUrl: Custom image URL to override the default profile/val image (2:3 aspect ratio recommended, e.g., 800x1200px)
  • title: Custom display title
  • description: Extended description
  • tags: Array of tags for categorization
  • author: Custom author display name

Image Guidelines

  • Profile Images: Square images work best, as they will be displayed in a circle
  • Val/Project Images: 2:3 aspect ratio (portrait orientation) works best, like 800x1200 pixels
  • Placeholders: If no image is available, colorful placeholders with the val name (auto-wrapped at hyphens, underscores, and camelCase) will be shown

Technical Details

  • Built with React (client-side)
  • Hono (server-side)
  • Tailwind CSS (styling)
  • Uses Charlie's User Search API for val discovery
  • Val Town SDK for fetching moi.md configurations and HTTP endpoints
  • Uses Val Town's profile picture proxy for user avatars
  • Dark mode support based on system preferences

API & SDK Integration

The app uses a hybrid approach:

  1. Charlie's User Search API (https://charliesusersearch.val.run/?user=${username}) for discovering user vals
  2. Val Town SDK (npm:@valtown/sdk) for fetching and parsing moi.md files and determining HTTP endpoints
  3. Val Town Profile Pic Proxy (https://pic.val.run/${username}) for user avatars

Credits

Built by dcm31 on Val Town.

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
ยฉ 2026 Val Town, Inc.