Skip to content

Add zero-cost static portfolio showcase - #2

Closed
CodeWithMoin wants to merge 2 commits into
mainfrom
release/portfolio-showcase
Closed

CodeWithMoin wants to merge 2 commits into
mainfrom
release/portfolio-showcase

Conversation

@CodeWithMoin

Copy link
Copy Markdown
Owner

What changed

  • added a build-time static showcase adapter with typed synthetic documents, summaries, classifications, activity, search, dashboard insights, labels, and runtime configuration
  • blocked all data mutations in the static build while preserving the normal FastAPI-backed application build
  • added a citation-backed Ask DocuLens example for every synthetic document and made the backend demo seeder backfill new examples idempotently
  • added Cloudflare Pages SPA routing, browser security headers, immutable asset caching, and a dedicated build:showcase command
  • documented the zero-cost deployment path and clarified that the existing single-node Compose showcase is optional
  • made the product label the data boundary explicitly as Read-only showcase · synthetic data

Why

The portfolio demo should be safe and inexpensive to share with recruiters and startup teams. Previously it required always-on API and database infrastructure even though visitors only needed to inspect completed AI workflows. The static build communicates the product without accepting uploads, invoking models, storing visitor data, or incurring backend hosting costs.

The Ask DocuLens source picker also exposed five documents with empty conversations. Each source now has a realistic grounded answer, reasoning summary, confidence score, and exact chunk citations.

Impact and tradeoffs

  • npm run build remains the normal live API client
  • npm run build:showcase creates the standalone portfolio bundle
  • public visitors see precomputed synthetic outputs, not live model inference
  • the full FastAPI, Celery, PostgreSQL, and RAG implementation remains available for local or full-stack demonstrations
  • existing seeded databases receive the missing QA history without duplicating documents

Validation

  • npm run build
  • npm run build:showcase
  • npm run lint
  • ruff format --check app/services/demo_workspace.py tests/test_demo_workspace.py
  • ruff check app/services/demo_workspace.py tests/test_demo_workspace.py
  • pytest -q tests/test_demo_workspace.py
  • pyright --pythonpath .venv312/bin/python app/services/demo_workspace.py
  • git diff --check
  • browser verification of /app, /app/qa, /app/pipeline, command search, dark mode, direct routes, and the AI Governance cited answer with the backend absent

@gitguardian

gitguardian Bot commented Jul 14, 2026

Copy link
Copy Markdown

⚠️ GitGuardian has uncovered 3 secrets following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secrets in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
34812486 Triggered Generic Password 1ea644b docker/docker-compose.showcase.yml View secret
34812487 Triggered Company Email Password 1ea644b app/main.py View secret
21697538 Triggered Generic Password 1ea644b app/main.py View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secrets safely. Learn here the best practices.
  3. Revoke and rotate these secrets.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 60d11967-776a-4d4e-85de-11b345d1d536

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/portfolio-showcase

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@CodeWithMoin

Copy link
Copy Markdown
Owner Author

Closing intentionally: the zero-cost portfolio showcase will remain on the standalone release/portfolio-showcase branch and deploy directly from that branch, without merging into main.

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