posted an update

Thanks for the heads-up! Here’s the clean, emoji-free version of your development log:


Brainstorming & Ideation

  • The project began with the idea to simplify issue tracking on GitLab using AI.
  • The core concept was to automatically classify and summarize GitLab issues as they’re created or updated.
  • This led to the creation of GIAst – GitLab Issue Assistant – to streamline developer workflows.

Phase 1: System Architecture

  • Defined the architecture:

    • Frontend: React + Vite + TailwindCSS + shadcn/ui
    • Backend: Node.js (Express) with MongoDB
    • AI: Gemini Pro from Google Generative AI
    • Authentication: Firebase
    • Dev Environment: Used Lovable.dev for live previews and fast iteration
  • Flow: GitLab → Webhook → Express API → Gemini → MongoDB → Frontend UI


Phase 2: Authentication Setup

  • Integrated Firebase for:

    • Google-based user sign-in
    • Token-based verification on backend using Firebase Admin SDK
  • Secured backend API routes with authentication middleware


Phase 3: Backend and Webhook Development

  • Created RESTful endpoints:

    • /api/repositories
    • /api/issues
    • /api/webhook/gitlab
  • Built MongoDB models using Mongoose for Repository and Issue

  • Implemented GitLab webhook to trigger AI summarization on issue events


Phase 4: Gemini AI Integration

  • Connected Gemini Pro API for natural language understanding
  • Designed prompts to return:
  {
    "summary": "...",
    "classification": "bug|feature|documentation|other"
  }
  • Handled AI output validation and fallback messaging

Phase 5: Frontend Implementation

  • Built a dashboard UI with Tailwind and shadcn/ui
  • Pages included:

    • Repository manager with webhook setup instructions
    • Real-time AI-annotated issue listings
    • Modal-based forms for creating and editing repositories
  • Hook structure (useRepositories, useIssues) helped maintain a clean state management flow


Phase 6: Token Management and API Security

  • CORS errors were resolved by dynamically setting origins in Express middleware
  • Implemented token refresh and automatic re-authorization on the frontend
  • API service was structured with robust error handling and retry logic

Phase 7: Chrome Extensions

Custom Screen Recorder Extension

  • Developed a minimalist Chrome extension to record clean, high-resolution screen sessions
  • Tailored for developers, enabling efficient walkthrough recordings without extra tools like Loom or Screenity

GIAst Chrome Extension

  • Created a second Chrome extension to provide real-time GitLab issue alerts and summaries
  • Users can get updates without opening the main dashboard

Final Phase: Recording and Documentation

  • Documented every development phase and architectural decision
  • Used the custom screen recorder to capture the entire project journey
  • Prepared for public release via video walkthroughs, GitHub, and a possible product launch

Tools and Technologies Used

Tool / Service Purpose
React + Vite Frontend framework
TailwindCSS UI styling
shadcn/ui UI components library
Firebase User authentication and token handling
Express.js API backend
MongoDB Atlas Database for repositories and issues
Google Gemini Pro AI for summarizing and classifying issues
GitLab Webhooks Real-time integration source
Lovable.dev Frontend live preview and deployment
Chrome Extension (Custom) Screen recording
Chrome Extension (GIAst) Real-time GitLab issue notifications

Log in or sign up for Devpost to join the conversation.