StackPulse
Objective
- Build and refine StackPulse: a Next.js dashboard for API health, architecture visualization, incident management, and chaos simulation against a Supabase backend.
Requirements - Use Tailwind CSS semantic tokens (bg-background, text-foreground, border-border, bg-card, bg-muted, etc.) defined in CSS files
- Clicking an incident in the incident feed should open the drawer at 50% of screen width for readability
- Support light and dark themes with a toggle
- Provide SQL seeding scripts for larger datasets
- Verify all APIs and ensure data integrity
- Improve graph layout to reduce congestion and give nodes more space
Decisions - Use shadcn/ui + Tailwind v4 with CSS variables, theme driven by next-themes (class-based) with a new storage key
- Incident drawer width controlled via Tailwind v4 trailing ! important overrides to bypass Sheet primitive constraints
- Chaos API logic lives in lib/chaos/chaos.ts with app/api/chaos/route.ts kept thin for HTTP concerns
- Switched the local Zustand store from the small demo topology to the larger “Global Commerce Mesh” graph
- Seed SQL fixed to cast impacted_service_ids to uuid[] and omit explicit id for serial telemetry_logs inserts
Work State
Completed - Replaced local topology with “Global Commerce Mesh” (13 services, 15 edges) in store/usePulseStore.ts
- Made incident drawer 50% width (w-full! sm:w-1/2! max-w-none!) in components/incidents/IncidentDrawer.tsx
- Implemented light/dark theming with softened light palette, ThemeToggle component, “d” hotkey, and theme-aware canvas in components/canvas/ServiceCanvas.tsx
- Created and corrected supabase/seed.sql for the larger project (UUID casting + serial telemetry fixes)
- Verified tsc –noEmit and eslint pass
Active - Space out the graph (adjust zoom/padding and improve layout logic) to reduce congestion
- Verify all APIs and ensure data integrity
Blocked - (none)
Built with
next.jssupabasegemmageminiopenaideepseek
AI tools
Coded withCodexOpenCodeKiroGoogle AI StudioGemini 3.8 FlashGPT-6.1 SolDeepSeek V4.1 FlashClaude Code
Prize Categories Entered
- Submitted
Best Use of Gemma 4