§ Technical Log / Engineering Notes

Debugging notes, CI/CD fixes, backend lessons, and project decisions.

This log documents what broke, why it happened, how I fixed it, and what I learned while building practical backend, full-stack, DevOps, and frontend projects.

Format

Problem → Cause → Fix → Lesson

Focus

Backend · CI/CD · Docker · TypeScript · PostgreSQL

Purpose

To show how I debug, document, and improve real projects.

Note 01

Pinned

Fixing Inventory Dashboard Analytics

Inventory Management System · 2026-07-26

Fixed / Learned

Diagnosed and resolved an analytics issue where dashboard totals were calculated from a paginated ten-item response instead of the full PostgreSQL inventory.

Category: Full-Stack / React / FastAPI / PostgreSQL

ReactTypeScriptFastAPIPostgreSQLDebuggingAnalytics

Problem

As new products were added, the inventory table updated correctly, but the dashboard continued to report totals for only ten items. Product count, quantity, inventory value, and stock-status metrics were therefore inaccurate.

Cause

The React frontend calculated global dashboard metrics directly from the /items response. That endpoint intentionally returns a paginated dataset with a default limit of ten records, while the backend aggregation endpoints already calculated statistics across the full database.

Fix

Separated paginated inventory data from reporting data. The inventory preview continued using /items, while dashboard KPIs and category analytics were connected to /items/stats, /items/category-summary, and /items/category-value. Added dedicated React state and refreshed aggregate data after create, update, and delete operations.

Lesson

Paginated operational data should not be reused for global analytics. When frontend totals do not match database records, trace the complete data flow and verify which endpoint supplies each part of the interface.

Note 02

Pinned

Fixing Bloom Routine Synchronisation

Bloom · 2026-07-13

Fixed / Learned

Diagnosed and resolved a routine persistence issue where authenticated users were unknowingly using localStorage instead of the backend API.

Category: Full-Stack / React / FastAPI / PostgreSQL

ReactFastAPIDebuggingFull-Stack

Problem

Routines created on the Routines page did not appear on Home or Progress, and authenticated users were not persisting routine changes to PostgreSQL.

Cause

Routines.jsx imported backend CRUD functions but never called them. The page always used localStorage regardless of authentication state, creating two separate data sources.

Fix

Implemented backend CRUD flows for authenticated users, preserved localStorage behaviour for demo users, added cross-page synchronisation events, and connected routine operations to FastAPI.

Lesson

When multiple features fail together, trace the complete data flow before fixing individual symptoms. Often a single architectural issue is responsible for several visible bugs.

Note 03

Fixing Frontend CI TypeScript Errors

AI HR Support Assistant · 2026-07-05

Fixed / Learned

GitHub Actions caught hidden TypeScript issues involving JSX/TSX imports, named/default exports, and inconsistent component props.

Category: Frontend / TypeScript / CI/CD

FrontendTypeScriptCI/CDReact

Problem

Frontend CI failed during the production build even though the app had worked during development.

Cause

Dashboard components used inconsistent import/export styles and different prop names for the same stat card component.

Fix

Created a typed AdminStatCard component, updated StatCard exports, and allowed StatCard to accept either title or label props.

Lesson

CI/CD can catch hidden frontend type issues before deployment. Reusable TypeScript components need consistent imports, exports, and props.

Note 04

Pinned

Fixing an Astro Build Hang

Portfolio Website · 2026-07-05

Fixed / Learned

Fixed a local Astro build hang by clearing stale processes and disabling Astro telemetry during builds.

Category: Frontend / Astro / Build Tools

FrontendAstroBuild Tools

Problem

The Astro build appeared to stick before producing normal build output.

Cause

The issue was likely caused by stale Astro/Vite/Node processes, cache state, or telemetry hanging before the build output.

Fix

Stopped old processes, cleared build cache, and updated the build command to disable Astro telemetry.

Lesson

Build issues are not always code errors. Sometimes the local tooling environment needs to be reset.

Note 05

Fixing Backend Tests for AI HR Support Assistant

AI HR Support Assistant · 2026-06-28

Fixed / Learned

Cleaned up the backend testing checkpoint until the AI HR Support Assistant test suite passed successfully.

Category: Backend / FastAPI / Pytest

BackendFastAPIPytestPostgreSQL

Problem

The backend needed a stable testing checkpoint before larger features like authentication, role-based access, and CI/CD.

Cause

The app was becoming more realistic, with FastAPI routes, PostgreSQL logic, SQLAlchemy models, schemas, and ticket workflows.

Fix

Validated the backend test setup until the suite reached 11 passing tests.

Lesson

Backend tests make a project stronger because they confirm the API works beyond manual testing.