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: v29View 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
- Friends: Some energy required but enjoyable bonds
- New Friends: Getting-to-know-you relationships that require more energy
- Open Door: "Come over anytime" invitations
- Public Outings: Scheduled activities anyone can join
- Private Outings: Planned activities for specific circles
- Help Requests: Mutual aid opportunities
βββ 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
β βββ 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