Annotabo

In Development

Problem Solved

While GitHub Gists offers a basic way to store code snippets, its limitations become apparent for teams and complex projects. Annotabo aims to revolutionize snippet management with these key improvements:

  • Rich Formatting: Go beyond plain text; embed code blocks with syntax highlighting, images, tables, and even executable cells like Jupyter Notebooks.
  • Organization: Create folders, tags, and annotations to find the right snippet quickly.
  • Collaboration: Share snippets within teams, assign permissions, and track changes for seamless teamwork.

Tech Stack

  • Ruby on Rails 7: Leverages the power and conventions of Rails for efficient development and a structured backend.
  • Tailwind CSS: Allows for the rapid creation of a custom, responsive interface without wrestling with complex CSS.
  • PostgreSQL: Stores snippets, user data, and collaborative metadata in a robust relational database.
  • Docker: Ensures portability and consistent deployment across different environments.

Challenges

The heart of Annotabo's value lies in its support for teams. Designing the data model involved striking a balance between:

  • Flexibility: Accommodating different team structures, permissions levels, and potential future features.
  • Performance: Ensuring fast retrieval and updates even as the data grows.

Key Learnings

Building Annotabo significantly deepened my understanding of Rails, especially in the areas of:

  • Data modeling and associations
  • Authentication and authorization best practices
  • Structuring a Rails application for maintainability

See it in Action

Launching soon