Public
Like
OUT-app
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.
Viewing readonly version of main branch: v63View latest version
OUT is an app that makes raising children together in the city as effortless as possible. It helps parents discover spontaneous opportunities to connect with their community - from open doors at neighbors' houses to impromptu playground meetups.
The app solves the "computational problem" of parenting social coordination by knowing:
- Where everyone is and what they're up for
- What sort of hanging out they want (energy levels, social circles)
- How to get there and the effort required
- What affordances exist for childcare at each location
- Old Pals: Effortless, energizing relationships - see all your activities
- Friends: Some energy required but enjoyable bonds - see friend and old pal activities
- New Friends: Getting-to-know-you relationships - see activities targeted to all circles
- Open Door: "Come over anytime" invitations with duration
- Public Outings: Scheduled activities anyone can join
- Private Outings: Planned activities for specific circles
- Help Requests: Mutual aid opportunities
- Distance-based filtering: Only see activities within reasonable travel time
- Transport optimization: Calculates best travel mode (walk, bike, transit, car)
- Social targeting: Only see activities from people in your circles
- Natural language: "Go to Bob's place (5 min bike ride)"
- Add friends: Search and add other users to your network
- Manage circles: Move friends between old pals, friends, and new friends
- Visual interface: See all your social connections organized by intimacy level
βββ backend/
β βββ database/
β β βββ migrations.ts # Database schema setup
β β βββ queries.ts # Database query functions
β βββ routes/
β β βββ users.ts # User management endpoints
β β βββ activities.ts # Activity management endpoints
β β βββ static.ts # Static file serving
β βββ index.ts # Main Hono app entry point
βββ frontend/
β βββ components/
β β βββ App.tsx # Main React app
β β βββ ActivityList.tsx # List of available activities
β β βββ CreateActivity.tsx # Form to create new activities
β β βββ FriendsManager.tsx # Manage social circles and friends
β β βββ UserSetup.tsx # Initial user registration
β βββ index.html # Main HTML template
β βββ index.tsx # Frontend entry point
β βββ style.css # Styling
βββ shared/
β βββ types.ts # Shared TypeScript types
βββ README.md
- Backend: Hono (lightweight web framework)
- Database: Val Town SQLite
- Frontend: React with TypeScript
- Styling: TailwindCSS
- Deployment: Val Town
The app is deployed on Val Town. The main entry point is backend/index.ts which serves both the API and the frontend.
POST /api/users- Register a new userPUT /api/users/:id- Update user informationPOST /api/users/:id/friends- Add a friendPUT /api/users/:id/friends/:friendId- Move friend to different circlePOST /api/activities- Broadcast a new activityGET /api/activities/:userId- Get available options for a userPUT /api/activities/:id/deactivate- Deactivate an activity
- Basic profile information
- Location and transport modes
- Social circles (old pals, friends, new friends)
- Children information and sleep schedules
- Type (open_door, public_outing, private_outing, help_request)
- Location and timing information
- Target audience (which social circles can see it)
- Affordances (bathroom, shade, food, etc.)
- Real-time updates via WebSockets
- Google Calendar and Huckleberry integrations
- Push notifications
- In-app messaging
- Recurring activities
- User feedback and ratings