Features
Use cases
Explore
Townie
AI
Blog
Docs
Pricing
Weβre hiring!
Log in
Sign up
jxnblk
OpenTownie
Remix of stevekrouse/OpenTownie
Unlisted
Like
Remix
Close sidebar
OpenTownie
Home
Code
7
backend
4
frontend
6
prompts
2
.vtignore
README.md
TODOs.md
H
index.ts
Branches
10
Pull requests
1
Remixes
2
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
Merge
jxnblk/main
into
stevekrouse/main
README.md
+3
-3
stevekrouse/main
jxnblk/main
TODOs.md
+27
-4
backend/index.ts
+5
-1
backend/routes/projects-loader.ts
+1
-1
frontend/components/App.tsx
+44
-80
frontend/components/Home.tsx
+94
-112
frontend/components/MessageTimer.tsx
+2
-6
frontend/components/Preview.tsx
+27
-59
frontend/hooks/useChatLogic.ts
+4
-1
H
index.ts
+20
-5
.vtignore
+6
-0
backend/routes/project.ts
+25
-0
backend/routes/user.ts
+19
-0
frontend/components/BranchSelect.tsx
+80
-0
frontend/components/ChatRoute.tsx
+198
-0
frontend/components/DebugStyles.tsx
+74
-0
frontend/components/Header.tsx
+105
-0
frontend/components/InputBox.tsx
+251
-0
frontend/components/LayoutRoute.tsx
+15
-0
frontend/components/Loading.tsx
+10
-0
frontend/components/LoginRoute.tsx
+67
-0
frontend/components/Messages.tsx
+238
-0
frontend/components/NewProjectRoute.tsx
+90
-0
frontend/components/NotFoundRoute.tsx
+7
-0
frontend/components/PreviewFrame.tsx
+134
-0
frontend/components/ProjectsRoute.tsx
+96
-0
frontend/components/RequireAuthRoute.tsx
+24
-0
frontend/components/icons.tsx
+178
-0
frontend/favicon.http.tsx
+18
-0
frontend/hooks/useAuth.tsx
+54
-0
frontend/hooks/useBranches.tsx
+30
-0
frontend/hooks/useCreateBranch.tsx
+40
-0
frontend/hooks/useCreateProject.tsx
+52
-0
frontend/hooks/useLoadingFavicon.ts
+15
-0
frontend/hooks/useProject.tsx
+46
-0
frontend/hooks/useProjects.tsx
+45
-0
frontend/hooks/useScrollToBottom.tsx
+45
-0
frontend/hooks/useUsageStats.ts
+70
-0
frontend/styles.css
+780
-0
frontend/utils/images.ts
+38
-0
frontend/components/ApiKeyWarning.tsx
+0
-17
frontend/components/BranchControl.tsx
+0
-233
frontend/components/Chat.tsx
+0
-206
frontend/components/ChatHeader.tsx
+0
-56
frontend/components/ChatInput.tsx
+0
-170
frontend/components/ChatMessages.tsx
+0
-37
frontend/components/CreateBranch.tsx
+0
-121
frontend/components/CreateProject.tsx
+0
-182
frontend/components/DirectoryTree.tsx
+0
-348
frontend/components/ErrorDisplay.tsx
+0
-16
frontend/components/ImageUpload.tsx
+0
-163
frontend/components/LoadingSpinner.tsx
+0
-8
frontend/components/Login.tsx
+0
-132
frontend/components/MessageItem.tsx
+0
-66
frontend/components/MessagePart.tsx
+0
-344
frontend/components/ProjectFiles.tsx
+0
-39
frontend/components/Projects.tsx
+0
-166
frontend/hooks/useProjectFiles.ts
+0
-69
frontend/utils/api.ts
+0
-18
frontend/utils/costCalculator.ts
+0
-55
Features
Version control
Code intelligence
CLI
Use cases
Teams
AI agents
Slack
GTM
Docs
Showcase
Templates
Newest
Trending
API examples
NPM packages
Pricing
Newsletter
Blog
About
Careers
Weβre hiring!
Brand
hi@val.town
Status
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of use
Privacy policy
Abuse contact
Β© 2025 Val Town, Inc.