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
RepositoryandIssueImplemented 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.