1) Got the NovaMuse demo running locally on Windows
- We clarified that commands like
py -m venv .venvmust be run in PowerShell / Command Prompt, not inside the Python REPL (>>>). - We resolved Python/pip compatibility issues:
- Your machine was on Python 3.7.2 and an older pip, which caused package/version install failures.
- You upgraded to a newer Python so dependencies could install correctly.
- We confirmed the local demo URLs (
http://127.0.0.1:8000/staff,/kiosk) work only on your computer unless you deploy/host them.
2) Deployed the demo to AWS App Runner
- We containerized the app with Docker, pushed the image to ECR, and created an App Runner service.
- We fixed a deployment failure caused by a wrong port:
- App Runner health checks were running on port 8080, but the app listened on 8000.
- After setting App Runner to use port 8000, deployment succeeded.
- We produced a public URL for the app and validated
/staffand/kioskwere reachable.
3) Fixed demo functionality bugs in the app
- We addressed issues you reported in the staff dashboard:
- The Reset button behavior was updated so it can work without a password (previously it required a token/password flow).
- The zone +/- controls were fixed so the "+5 / -5" buttons actually update the zone values.
- We also created and delivered an updated demo zip containing the fixes.
4) Attempted to integrate Amazon Nova 2 Lite via Amazon Bedrock
- We updated your deployment configuration to support Bedrock by setting runtime environment variables in App Runner:
NOVAMUSE_AI_MODE=bedrockAWS_REGION=us-east-1BEDROCK_MODEL_ID=...
- We created/attached an App Runner instance role and ensured it had Bedrock permissions (using broad access for fast testing).
5) Diagnosed why the app stayed in local/mock mode
- We verified the API response showed
mode: local, meaning the app was falling back to deterministic mock behavior. - We modified the code to print Bedrock errors to logs (so failures were visible), then rebuilt and redeployed.
- App Runner logs revealed the real issue:
ValidationException: Operation not allowed
- Conclusion at that stage: Bedrock Runtime inference was blocked at the account/service level (not a code bug).
6) Verified Bedrock “Mantle” worked, but Bedrock Runtime (Nova) was blocked
- Using Bedrock Quickstart, you successfully ran the OpenAI-compatible (Mantle) example and got
OK. - However, Nova 2 Lite requires Bedrock Runtime (
Converse/InvokeModel), not Mantle Responses. - Your local
boto3+ CLI tests againstbedrock-runtime conversecontinued to fail until AWS Support unblocked your account.
7) After AWS Support unblocked the account, we resolved the remaining integration blockers
Bearer token expiration
- You got:
AccessDeniedException: Bearer Token has expired
- Root cause: your shell still had
AWS_BEARER_TOKEN_BEDROCKset from earlier testing. - Fix:
- Removed the env var and returned to normal AWS credential usage.
On-demand throughput not supported for the base model ID
- You got:
Invocation of model ID amazon.nova-2-lite-v1:0 with on-demand throughput isn’t supported. Retry ... with an inference profile
- Root cause: your account requires calling Nova 2 Lite through an inference profile, not the base on-demand model ID.
- Fix:
- Switched to the inference profile ID:
us.amazon.nova-2-lite-v1:0
PowerShell JSON quoting and AWS CLI parsing issues
- Multiple CLI attempts failed because PowerShell stripped JSON quotes when passed inline.
- Fix:
- Wrote a JSON request to a file (
request.json) using ASCII encoding to avoid BOM/encoding issues. - Used:
--cli-input-json file://request.json
- Wrote a JSON request to a file (
- Result:
- The Bedrock Runtime CLI test printed
OK, confirming Nova 2 Lite inference works with: modelId = us.amazon.nova-2-lite-v1:0
- The Bedrock Runtime CLI test printed
8) Final deployment configuration for Nova 2 Lite in App Runner
- Since Nova 2 Lite works only via an inference profile in your account, App Runner must use:
BEDROCK_MODEL_ID=us.amazon.nova-2-lite-v1:0
- Keep:
NOVAMUSE_AI_MODE=bedrockAWS_REGION=us-east-1
- Then redeploy App Runner and verify the app response switches from:
mode: local→ tomode: bedrock
Bugs and issues we worked out
Local development issues
- Running shell commands inside Python REPL caused
SyntaxError. - Outdated Python/pip caused dependency resolution failures (FastAPI version mismatch).
AWS deployment issues
- App Runner health check failures caused by port mismatch (8080 vs 8000).
- Confusion around ECR region/account variables and correct command usage in PowerShell.
- Incorrect environment variable formatting in App Runner (map key/value format errors).
Demo app issues
- Reset flow required a password/token when you wanted a clean slate reset without a password.
- Zone "+5 / -5" buttons did not update values.
Bedrock/Nova integration issues
- CloudShell environment creation blocked due to account verification (not required for integration, but slowed debugging).
- Bedrock Runtime initially blocked with
Operation not alloweduntil AWS Support unblocked the account. - Expired bearer token (
AWS_BEARER_TOKEN_BEDROCK) causedBearer Token has expired. - Base model ID (
amazon.nova-2-lite-v1:0) failed due to on-demand throughput not supported; fixed by using inference profile (us.amazon.nova-2-lite-v1:0). - PowerShell JSON quoting caused invalid JSON parsing; fixed by using a JSON file with safe encoding.
Log in or sign up for Devpost to join the conversation.