Hasty Briefsbeta

My First Week of Vibecoding

20 hours ago
  • #vibecoding
  • #TypeLex
  • #ATProto
  • The author released TypeLex, a project for creating a proper IDL language for writing ATProto lexicons.
  • TypeLex is designed to compile to ATProto lexicon definitions (JSON) and express the entirety of lexicon, disallowing anything invalid in lexicon.
  • The project was inspired by TypeSpec, a language by Microsoft for schemas, which the author found pleasant to work with.
  • The author used Claude AI to assist in the development, following a process called 'vibecoding' where the AI helps in coding tasks.
  • Initial challenges included setting up a proper test environment and ensuring tests actually ran the emitter, not just superficial checks.
  • The development process involved iterating on the design to make the TypeSpec to Lexicon mapping idiomatic and convenient.
  • A significant breakthrough was realizing that references between lexicons could be handled more naturally by leveraging TypeSpec's type system rather than string decorators.
  • The author emphasized the importance of testing, aiming to cover all Bluesky and built-in AT lexicons from the ATProto repo.
  • After several phases of development and refactoring, the project reached a point where it could generate all lexicons from the ATProto repo and additional ones from other repos.
  • The author created a website and playground for TypeLex, allowing users to input TypeLex code and see the resulting JSON.
  • The entire project, from zero to shipping, took a weekend, showcasing the efficiency of combining human direction with AI assistance.
  • The author reflects on the experience, noting the ability to do in minutes what used to take days, while acknowledging the limitations and learning curve of working with AI.