Skip to content

Thoth Tech Technology Stack

This document outlines the technology stack used across all products at Thoth Tech Company. It highlights the various technologies employed, as well as the skills required for those interested in joining a product team.


Company Leadership

Tools

  • GitHub: A platform for hosting and collaborating on code, offering version control and source code management.
  • Planner: A task management tool used for organising and tracking team tasks, projects, and deadlines.

Languages

  • Markdown: A lightweight markup language used for formatting text and creating structured documents.
  • TypeScript: A typed superset of JavaScript that enhances code reliability and scalability in frontend development.
  • Tailwind CSS: A utility-first CSS framework for building custom designs without leaving the HTML.
  • Python: A versatile programming language used for scripting, automation, and data analysis.
  • Astro: A modern static site generator that offers a fast and optimised way to build websites.

Software

  • Microsoft Teams: A comprehensive communication and collaboration platform that integrates chat, video conferencing, file storage, and application integration.
  • Visual Studio Code: A powerful code editor that supports multiple programming languages, debugging, and extensions.
  • Astro Starlight: A documentation site framework that provides a customisable and performant way to create and manage documentation.
  • Netlify: A cloud-based platform for hosting web projects, offering continuous deployment and serverless backend services.

Skills Required

  • Leadership and Collaboration: Essential for guiding teams, fostering a collaborative environment, and ensuring effective communication.
  • Creativity and Innovation: Important for generating new ideas and improving existing products and processes.
  • Proficiency in TypeScript, Tailwind CSS, and Python: Key technical skills for frontend development and scripting tasks.
  • Strong Project Management: Crucial for planning, organising, and managing resources to achieve project goals efficiently.
  • Data Science Knowledge: Valuable for analysing data, extracting insights, and supporting data-driven decision-making.

OnTrack

Tools

  • GitHub: Source code management and version control platform, facilitating collaboration on projects.
  • Git: A distributed version control system that tracks changes in source code during software development.
  • Planner: Used for planning, tracking progress, and managing tasks and projects within teams.

Languages

  • Markdown: Used for documentation and creating formatted text files.
  • AngularJS and Angular 17: JavaScript frameworks for building dynamic web applications, with Angular 17 being the latest version using modern TypeScript features.
  • CoffeeScript: A language that compiles into JavaScript, used with AngularJS for concise code.
  • TypeScript: Enhances JavaScript with static typing, making code more predictable and easier to debug.
  • HTML and SCSS: Core web technologies for structuring content and styling web pages.
  • Ruby on Rails Grape: A Ruby framework for building REST-like APIs, offering a lightweight and flexible approach.
  • Tailwind CSS: A utility-first CSS framework for creating responsive and custom designs efficiently.

Software

  • Microsoft Teams: Facilitates communication and collaboration among team members.
  • Visual Studio Code: A versatile code editor with extensive language support and integrated development features.
  • Docker Desktop: An application that allows developers to create, deploy, and manage containerised applications.
  • MariaDB Database: An open-source relational database management system, used for storing and managing data.

Skills Required

  • Frontend and Backend Understanding: Knowledge of both frontend and backend technologies for full-stack development.
  • Familiarity with GitHub and Visual Studio Code: Essential for source control and coding.
  • Proficiency in Angular and TypeScript: Important for developing robust and maintainable web applications.
  • Knowledge of HTML, SCSS, and Ruby on Rails Grape: Necessary for building and styling web interfaces and APIs.
  • MariaDB Database Experience: Useful for database design and management.
  • Adaptability to New Technologies: Ability to learn and integrate new tools and technologies as needed.

SplashKit

Tools

  • GitHub: Platform for hosting and collaborating on SplashKit’s source code.
  • Git: Version control system for tracking changes in the SplashKit codebase.
  • GitHub Actions: CI/CD tool for automating workflows, including testing and deployment.
  • Planner: Tool for managing tasks, organising projects, and coordinating work among team members.
  • Raspberry Pi: A low-cost, credit-card-sized computer used for running applications and experiments, especially in educational and hobbyist contexts.

Languages

  • Markdown: Used for writing documentation and formatting content.
  • C++ and C#: Programming languages used for developing the core components of SplashKit.
  • Bash Scripts: Shell scripts used for automating tasks in Linux environments.

Software

  • Microsoft Teams: Used for team communication and collaboration.
  • Visual Studio Code: The primary code editor for developing SplashKit, offering rich language support and debugging features.
  • Docker Desktop: Enables containerisation and easy deployment of applications.
  • WSL (Windows Subsystem for Linux): Provides a Linux environment on Windows, useful for development and testing.
  • Clockify: A time tracking tool used for monitoring and reporting work hours.
  • Astro Starlight: Used for creating and managing the SplashKit documentation website.

Skills Required

  • Proficiency in C++ and C#: Essential for developing and maintaining the SplashKit framework.
  • Understanding of Linux-based Systems: Important for working with Raspberry Pi and other Linux-based environments.
  • Basic Web Development and Design Knowledge: Useful for contributing to the SplashKit.io website and Starlight documentation.
  • Ability to Update and Expand SplashKit Library: Capability to enhance and extend the functionality of the SplashKit library.

CourseFlow

Tools

  • GitHub: Repository hosting service for version control and collaboration.
  • Planner: Tool for organising tasks, tracking progress, and managing project timelines.
  • Figma: A web-based design tool used for creating UI/UX designs and prototypes.
  • Draw.io (diagrams.net): A diagramming tool for creating flowcharts, network diagrams, and other visual content.

Languages

  • Markdown: Used for documentation and notes.
  • Ruby on Rails: A web application framework that provides structures for a database, web service, and web pages.
  • TypeScript: Used for building frontend applications with Angular, providing type safety and code clarity.

Software

  • Microsoft Teams: Central hub for team communication and file sharing.
  • Visual Studio Code: The code editor of choice for developing CourseFlow applications.
  • Docker: Used for containerising applications, ensuring consistency across different development and production environments.

Skills Required

  • Knowledge of Angular for Frontend Development: Critical for building and maintaining the user interface of CourseFlow.
  • Experience in Backend API Creation: Valuable for developing the backend infrastructure, particularly if familiar with frameworks like Ruby on Rails.
  • Machine Learning Skills: Beneficial for implementing features such as course categorisation and personalised learning paths.
  • Strong Self-Management and Willingness to Learn: Key attributes for continuous personal and professional growth, especially in a rapidly evolving tech landscape.