Skip to content

Add recent cloud and agentic engineering work - #20

Merged
nilushan merged 9 commits into
masterfrom
feat/update-career-content
Aug 11, 2026
Merged

nilushan merged 9 commits into
masterfrom
feat/update-career-content

Conversation

@nilushan

Copy link
Copy Markdown
Owner

Summary

  • add detailed case studies for GCP cost optimisation and keyless delivery, SmartSMB's human-in-the-loop workflow, and an AI voice-service prototype
  • update the professional profile with current TypeScript/Node.js experience, earlier C#/Java/C++ experience, and AI-assisted engineering practices
  • add recent Cloud SQL partitioning, logging, Artifact Registry, Kustomize, CI/CD, and Workload Identity Federation work
  • simplify skills, interests, and experience cards to prevent badge overlap and reduce visual clutter
  • curate homepage projects around production outcomes and reduce repeated or unsupported claims
  • improve expandable-section accessibility and add dedicated AI icons
  • make years-of-experience copy dynamic and consistent

Validation

  • TypeScript and TSX syntax checks passed
  • Astro frontmatter syntax checks passed
  • project YAML and content-schema shape checks passed
  • git diff --check passed
  • completed an independent follow-up review with Grok 4.5 at high reasoning

Build limitation

A full Astro build could not complete in the current ARM workspace because Rollup's optional native package (@rollup/rollup-linux-arm64-gnu) is unavailable after dependency installation. No source-level validation errors were found.

@github-actions

github-actions Bot commented Aug 11, 2026

Copy link
Copy Markdown

Visit the preview URL for this PR (updated for commit a666a82):

https://nilushansilva--pr20-feat-update-career-c-swbqexc3.web.app

(expires Tue, 18 Aug 2026 10:09:42 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: f724968d440e28b28049b4ce218cbf77cd81c98c

@nilushan

Copy link
Copy Markdown
Owner Author
  • projects page shows the project cards in a unorganized way. layout needs to be fixed.

  • project " GCP Cost Optimisation & Keyless Delivery Platform" needs to be two different projects. 1 GCP cost optimization, 2. CICD pipeline with WIF .

  • chat bot is not working. please fix

@nilushan

Copy link
Copy Markdown
Owner Author

Addressed the review feedback in a666a82:

  • Projects layout: replaced the masonry columns with an ordered responsive grid, made grid cards fill their rows consistently, and replaced fixed-height technology badges with wrapping chips.
  • Split project: replaced the combined case study with two focused projects:
    • /projects/gcp-cost-optimization
    • /projects/cicd-keyless-delivery
  • Chatbot: changed the Astro Node adapter from standalone to middleware mode so the Firebase Function can import the generated handler without Astro starting a second HTTP server. The function also explicitly disables Astro autostart before importing the handler, loads the Gemini secret first, and now returns structured startup errors. The client validates API responses and no longer renders user input as raw HTML.

Both PR checks pass. The updated preview is:
https://nilushansilva--pr20-feat-update-career-c-swbqexc3.web.app

Note: Firebase preview channels reuse the currently deployed production Cloud Function, so the chatbot backend fix will become live when the Functions deployment runs after merge. The preview currently verifies the updated UI and project pages; the existing live function still returns the pre-fix 500 response.

@nilushan

Copy link
Copy Markdown
Owner Author

Follow-up fixes are now in bce2181 and 28e36df:

  • Two PR checks: there was only one PR workflow run. FirebaseExtended/action-hosting-deploy used repoToken to create an additional Firebase “Deploy Preview” check alongside the normal GitHub Actions job. I removed repoToken, so the latest commit now has only one passing build_and_preview check.
  • GCP cost project: changed to status: completed with period 2026.
  • Chat: the server chatbot cannot currently deploy because Secret Manager reports that billing is disabled for the Firebase project (GEMINI_API_KEY access/deployment returns HTTP 403). I added a client-side portfolio-content fallback, so the visible chatbot now answers common questions about skills, experience, languages, GCP cost work, CI/CD/WIF, AI projects, and contact details even when /api/chat is unavailable. The UI no longer claims every answer is AI-generated.
  • Removed function setup from the PR preview workflow, reducing runtime and avoiding the failed billing-dependent deployment.

The latest preview build passes and contains the new fallback assistant:
https://nilushansilva--pr20-feat-update-career-c-swbqexc3.web.app

@nilushan

Copy link
Copy Markdown
Owner Author

The 404 response confirms the deployed Firebase Function is still running stale code configured with gemini-2.0-flash.

Commit 3d4a262 now defaults the API to gemini-3.5-flash-lite and supports an optional GEMINI_MODEL environment override. I tested this exact model against the configured key through the Gemini v1beta generateContent endpoint and received HTTP 200 / OK. The PR build also passes.

The source fix will affect /api/chat only after the Firebase Function is rebuilt and deployed (normally by the merge workflow). The static PR preview cannot replace the already-deployed function.

@nilushan
nilushan merged commit 0de0e2c into master Aug 11, 2026
1 check passed
@nilushan
nilushan deleted the feat/update-career-content branch August 11, 2026 13:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant