Steve Krouse, Val Town creator, joins Jerod & Amal to talk about Val Town, a social programming environment. They discuss its advantages, handling abuse, building trust, targeting hobbyists, scalability, AI for a smart linter, and security considerations. Exciting insights shared!
Val Town is a social website for writing, running, deploying, sharing, scheduling, and storing code snippets with a focus on making coding more approachable for beginners and experienced developers alike.
Val Town provides a centralized platform where users can access runnable code snippets, easily share and collaborate on them, and search for existing values to promote code reuse and collaboration.
Val Town aims to gradually evolve into a mature platform by targeting hobbyists and amateur use cases, minimizing developer lock-in, enhancing user data protection, and introducing pricing tiers based on compute usage in the future.
Deep dives
Val Town: Bringing Code to Your Fingertips
Val Town is a social website designed for writing, running, deploying, sharing, scheduling, and storing code snippets. The platform focuses on making simple tasks easy and more complex tasks achievable. Users can start with use cases that involve light computation, integrations, and API prototypes. The long-term vision for Val Town is to become a full backend replacement, but this will be a gradual process. The idea for Val Town was inspired by the frustration of encountering dead code on the internet, code snippets that don't run unless copied and pasted elsewhere. Val Town aims to provide a centralized platform where users can access runnable code snippets and easily share and collaborate on them. The platform's goal is to make coding more approachable and efficient for both beginners and experienced developers alike.
The Architecture of Val Town
Val Town's backend relies on a Postgres database for storing code, including values and their output. Currently, only JavaScript and TypeScript are supported as programming languages, with all users running on the same version of Dino. The execution environment for user code is sandboxed and isolated using Dino servers managed by the Val Town team. The platform also includes an API server and a Remix React server for front-end rendering. Currently, all services are hosted on Render in their Ohio region. Val Town is exploring possibilities of introducing different JavaScript runtimes and potentially other programming languages in the future. Customizable persistence and versioning features are available, allowing users to reference and update values from other values, providing continuity and flexibility to their code snippets.
Community and Future Potential
Val Town has a growing community centered around their Discord server, where users actively share, discuss, and collaborate on code snippets. The platform encourages users to search for existing values before creating new ones, promoting code reuse and collaboration. Although Val Town currently lacks advanced discoverability features like tags or categories, users can search for exact text matches in values. The Val Town team aims to improve the community experience by integrating comments directly into the platform and refining the trending filter. While Val Town's focus is primarily on small-scale code snippets, there is potential for users to combine multiple values together to create more complex systems. However, Val Town acknowledges the challenges of scaling to larger applications and is currently exploring options for allowing users to easily manage and update multiple values as a cohesive unit.
Valtown's Future Plans and Growth Strategy
Valtown is focused on gradually expanding its user base by targeting hobbyists and amateur use cases. By first catering to smaller, less critical projects, Valtown aims to build trust and gradually evolve into a mature platform. The team is keen on minimizing developer lock-in and is actively working towards making Valtown a web standards-compliant platform. They are planning to support dynamic imports in the near future. Additionally, Valtown intends to enhance user data protection by implementing checks to detect and redact any accidental exposure of user secrets or sensitive data.
Valtown's Pricing and Security Measures
Currently, Valtown offers a single Pro plan priced at $10 per month. The Pro plan grants users the ability to run intervals more frequently and offers higher limits for persistence. The focus of the Pro plan is to provide additional features and capabilities rather than charging for compute usage. However, in the future, as the platform scales, Valtown plans to introduce pricing tiers based on compute usage. Valtown is diligent about ensuring security and has received valuable insights from white-hat hackers who have helped identify and fix potential exploits. The team continues to invest in strengthening security measures and exploring ways to further protect user data while maintaining the platform's agility.
Val Town is a shiny, new social programming environment to write, run, deploy and share code. Steve Krouse –Val Town creator– joins Jerod & Amal to tell us all about it.
Changelog++ members get a bonus 5 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com
Fly.io – The home of Changelog.com — Deploy your apps and databases close to your users. In minutes you can run your Ruby, Go, Node, Deno, Python, or Elixir app (and databases!) all over the world. No ops required. Learn more at fly.io/changelog and check out the speedrun in their docs.
Typesense – Lightning fast, globally distributed Search-as-a-Service that runs in memory. You literally can’t get any faster!