An AI-powered mockup generation dashboard for Product Managers, powered by NVIDIA Nemotron. This application allows PMs to generate HTML mockups from natural language prompts, edit them with AI assistance, view past projects, and iterate before passing to developers.
This solution supports Product Managers in the Prototyping & Testing phase by:
- Generating wireframes and mockups instantly from natural language descriptions
- Enabling rapid iteration with AI-assisted refinement
- Facilitating stakeholder feedback collection
- Accelerating speed to market by reducing manual design work
This project demonstrates:
- Reasoning beyond single-prompt conversation: The AI understands context and generates complete, production-ready HTML mockups
- Workflow orchestration: Multi-step process from prompt β generation β feedback β refinement
- Tool integration: Integration with NVIDIA Nemotron API through Brev for rate limit management
- Practical value: Real-world application solving PM productivity challenges
- π€ AI-Powered Chatbot: Interactive conversational AI assistant with markdown support for product management guidance
- π¬ Two-Step Mockup Generation: AI provides suggestions first, then generates HTML after confirmation
- π GitHub Integration: Analyze repositories and generate context-aware mockups with README access
- π JIRA Integration:
- View JIRA tickets in beautiful dashboard
- Automatically create development tickets from mockups
- Live JIRA data access for chatbot - query ticket status, assignees, and project status
- Smart ticket creation with AI-generated acceptance criteria, difficulty, and priority
- β‘ Instant Preview: Real-time HTML rendering with iframe preview
- βοΈ AI-Powered HTML Editor: Edit HTML with natural language instructions using AI Assistant
- πΎ SQLite Database: Persistent storage for all mockups and edits
- π Past Projects: View and revisit all your previously generated mockups in a beautiful grid layout
- π Auto-Save: AI edits are automatically saved to the database
- π AI Refinement: Refine mockups with AI assistance
- π₯ Export Ready: Download HTML files to share with development teams
- π¨ Modern UI: Beautiful, responsive dashboard with golden-themed glassmorphism design
- π Code Editor: Direct HTML editing with syntax highlighting
- π― Smart Ticket Generation: Compare mockups with repos and create prioritized JIRA tickets
- π§ MCP Server: Model Context Protocol server for GitHub-aware mockup generation
- π‘ Markdown Support: Full markdown rendering in chat messages with syntax highlighting for code blocks
- π± Responsive Design: Mobile-friendly interface with flexible layouts
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend (React) β
β - Dashboard: AI Chatbot, JIRA Board Button, Past Projects β
β - MockupViewer: Preview, code editor, AI editor assistant β
β - JiraBoard: Ticket dashboard with status filters β
β - Markdown rendering with react-markdown β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ
β
β REST API (Port 5001)
β
ββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββ
β Backend (Flask) β
β - Chat API with conversation history β
β - JIRA integration (read/write) β
β - GitHub README fetching β
β - HTML to image conversion β
β - SQLite database for persistent storage β
β - AI-powered ticket generation β
ββββββββ¬ββββββββββββββ¬βββββββββββββββββββββ¬ββββββββββββββββββββ
β β β
β API Calls β REST API β REST API
β β β
ββββββββΌββββββββββββββΌββββ βββββββββββββββΌβββββββββββββββββββ
β NVIDIA Nemotron API β β External Services β
β - Chat completions β β - JIRA (Atlassian) β
β - HTML generation β β - GitHub (README fetching) β
β - Ticket analysis β β β
β - Context understandingβ β β
βββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββ
- React 18 - UI framework
- Axios - HTTP client for API calls
- react-markdown - Markdown rendering in chat
- remark-gfm - GitHub Flavored Markdown support
- Lucide React - Icon library
- CSS Grid & Flexbox - Responsive layouts
- Flask - Python web framework
- NVIDIA Nemotron - AI model (llama-3.3-nemotron-super-49b-v1.5)
- SQLite - Local database
- html2image - Screenshot generation
- python-dotenv - Environment management
- requests - HTTP library for external APIs
- JIRA REST API - Ticket management
- GitHub REST API - Repository analysis
- NVIDIA API Catalog - AI capabilities
- Python 3.8+
- Node.js 16+
- npm or yarn
- Git (for cloning the repository)
- NVIDIA API Key (get from NVIDIA API Catalog)
- GitHub Personal Access Token (optional, for private repos or higher rate limits)
- Jira credentials (optional, for Jira integration)
# Clone the repository
git clone <repository-url>
cd hackutd_25
# Or if you have the repository URL:
git clone https://github.com/your-username/hackutd_25.git
cd hackutd_25Note: Replace <repository-url> with the actual repository URL.
Windows (PowerShell or Command Prompt):
cd backendMac/Linux:
cd backendWindows (PowerShell):
python -m venv venvWindows (Command Prompt):
python -m venv venvMac/Linux:
python3 -m venv venvWindows (PowerShell):
.\venv\Scripts\Activate.ps1Windows (Command Prompt):
venv\Scripts\activateMac/Linux:
source venv/bin/activateβ
Verification: You should see (venv) at the beginning of your command prompt.
Important: Make sure your virtual environment is activated (you should see (venv) in your prompt).
pip install -r requirements.txtβ Verification: You should see "Successfully installed" messages. If you get errors, check:
- Python version is 3.8+ (
python --version) - Virtual environment is activated
- You have internet connection
Option A: Manual Creation (Recommended)
- Create a file named
.envin thebackenddirectory - Add the following content (replace placeholders with your actual values):
# Required: NVIDIA API Key for mockup generation
NVIDIA_API_KEY=your_nvidia_api_key_here
NVIDIA_API_URL=https://integrate.api.nvidia.com/v1/chat/completions
# Optional: GitHub Token (for private repos or higher rate limits)
# Get from: https://github.com/settings/tokens
GITHUB_TOKEN=your_github_token_here
# Optional: Jira Integration (for submitting mockups to Jira)
# Get from: https://id.atlassian.com/manage-profile/security/api-tokens
JIRA_BASE_URL=https://your-domain.atlassian.net
JIRA_EMAIL=[email protected]
JIRA_API_TOKEN=your_jira_api_token_here
# Flask Configuration
FLASK_ENV=development
FLASK_DEBUG=True- Do NOT put quotes around the API key values
- Do NOT add spaces around the
=sign - The file must be named exactly
.env(not.env.txtorenv) - Never commit the
.envfile to Git (it should be in.gitignore)
Option B: Use PowerShell Script (Windows Only)
.\create_env.ps1Or use the setup script:
.\setup_env.ps1Then edit the .env file it creates and add your actual API keys.
β Verification:
- Check that
.envfile exists inbackenddirectory - Verify the NVIDIA_API_KEY is set (without quotes)
- Get your NVIDIA API key from: https://build.nvidia.com/
- GitHub token is optional (see
backend/GITHUB_TOKEN_SETUP.mdfor details) - Jira credentials are optional (only needed if using Jira integration)
Make sure your virtual environment is activated (you should see (venv) in your prompt).
python app.pyβ Expected Output:
β
NVIDIA_API_KEY loaded (length: XX characters)
* Serving Flask app 'app'
* Debug mode: on
WARNING: This is a development server...
* Running on http://127.0.0.1:5001
Press CTRL+C to quit
β Verification Steps:
- You should see "β NVIDIA_API_KEY loaded" message (not a warning)
- Server should say "Running on http://127.0.0.1:5001"
- Open a browser and visit:
http://127.0.0.1:5001/api/health- You should see:
{"status": "healthy", "message": "PM Mockup Generator API is running"}
- You should see:
- The
data/mockups.dbfile will be created automatically on first run
- If you see "
β οΈ NVIDIA_API_KEY is empty or not set": Check your.envfile exists and has the correct format - If port 5001 is already in use: Stop other Flask processes or change the port in
app.py - If you get import errors: Make sure virtual environment is activated and dependencies are installed
Keep this terminal window open - the server needs to keep running!
Windows (PowerShell or Command Prompt):
cd frontendMac/Linux:
cd frontendNote: If you're in the backend directory, go back first:
cd ..
cd frontendnpm installβ Verification: You should see:
- "up to date" or "added X packages" messages
- No critical errors (warnings about vulnerabilities are okay)
β±οΈ This may take 2-5 minutes depending on your internet speed.
If your backend is running on a different port or URL, create a .env file in the frontend directory:
REACT_APP_API_URL=http://localhost:5001Note: If you don't create this file, it defaults to http://localhost:5001. Only create it if you need to change the backend URL.
npm startβ Expected Output:
Compiling...
Compiled successfully!
You can now view pm-mockup-generator in the browser.
Local: http://localhost:3000
On Your Network: http://192.168.x.x:3000
Note that the development build is not optimized.
β Verification Steps:
- Your browser should automatically open to
http://localhost:3000 - If not, manually open:
http://localhost:3000 - You should see the PM Mockup Generator dashboard
- Check the browser console (F12) for any errors
- Try generating a mockup to verify backend connection
- If port 3000 is already in use: The terminal will ask if you want to use a different port (press Y)
- If you see "Cannot connect to backend":
- Make sure backend is running on port 5001
- Verify backend URL in
frontend/.env(if you created one) matches your backend - Check browser console (F12) for specific error messages
- Test backend directly:
http://127.0.0.1:5001/api/health
- If npm install fails: Try deleting
node_modulesfolder andpackage-lock.json, then runnpm installagain
Keep this terminal window open - the frontend server needs to keep running!
You need TWO terminal windows running simultaneously:
Terminal 1 - Backend:
cd backend
.\venv\Scripts\Activate.ps1
python app.pyβ Should show: "Running on http://127.0.0.1:5001"
Terminal 2 - Frontend:
cd frontend
npm startβ Should open browser to: http://localhost:3000
Both servers must be running for the app to work!
Note: All API calls use full URLs with port numbers (http://localhost:5001/api/...) for better portability. You can customize the backend URL by creating a frontend/.env file with REACT_APP_API_URL=your_backend_url.
Before starting, verify you have everything:
- Python 3.8+ installed (
python --version) - Node.js 16+ installed (
node --version) - npm installed (
npm --version) - NVIDIA API key obtained from https://build.nvidia.com/
- Two terminal windows ready (one for backend, one for frontend)
Problem: python app.py fails or shows errors
Solutions:
- β
Check virtual environment is activated - you should see
(venv)in your prompt - β
Verify Python version:
python --version(should be 3.8+) - β
Reinstall dependencies:
pip install -r requirements.txt --force-reinstall - β
Check if port 5001 is in use:
netstat -ano | findstr :5001(Windows) orlsof -i :5001(Mac/Linux) - β
Make sure you're in the
backenddirectory when runningpython app.py
Problem: See "
Solutions:
- β
Verify
.envfile exists inbackenddirectory (not root directory) - β
Check
.envfile format:β CORRECT: NVIDIA_API_KEY=nvapi-abc123... β WRONG: NVIDIA_API_KEY="nvapi-abc123..." β WRONG: NVIDIA_API_KEY = nvapi-abc123... - β
Restart Flask server after creating/editing
.envfile - β
Test API key: Visit
http://127.0.0.1:5001/api/debug/api-keyin browser - β Verify API key is valid at https://build.nvidia.com/
Problem: Frontend shows "Cannot connect to backend" or API calls fail
Solutions:
- β
Verify backend is running: Visit
http://127.0.0.1:5001/api/health - β
Check API URL configuration:
- If
frontend/.envexists, verifyREACT_APP_API_URL=http://localhost:5001 - Default is
http://localhost:5001(no .env needed) - Make sure port matches your backend port
- If
- β
Restart frontend server after changing
.envfile (React needs restart for env changes) - β
Check browser console (F12) for specific error messages
- Look for CORS errors or network errors
- Check Network tab to see if requests are going to correct URL
- β Verify both servers are running simultaneously
- β
Test API directly: Open
http://localhost:5001/api/healthin browser
Problem: Edits not saving or projects not appearing
Solutions:
- β
Check
backend/data/mockups.dbfile exists - β Verify file permissions (should be writable)
- β Restart backend server to reinitialize database connection
- β Check backend console for SQLite errors
Problem: "Address already in use" error
Solutions:
- Backend (port 5001):
- Find process:
netstat -ano | findstr :5001(Windows) orlsof -i :5001(Mac/Linux) - Kill process or change port in
app.pyline 729:app.run(debug=True, port=5002, ...)
- Find process:
- Frontend (port 3000):
- Terminal will prompt to use different port - press
Y - Or manually:
PORT=3001 npm start
- Terminal will prompt to use different port - press
- Open the dashboard at
http://localhost:3000 - Use the chat interface to:
- Ask questions about product management
- Get suggestions for features
- Query JIRA tickets: "How many tickets are in progress?"
- Check project status: "What tickets are unassigned?"
- Request to fetch README: "fetch readme" to load your tech stack context
- Chat supports full markdown formatting:
- Bold text with
**text** - Italic text with
*text* Inline codewith backticks- Code blocks with triple backticks
- Lists, headers, and more!
- Bold text with
- Ask the AI to create something: "Create a login page" or "Build a dashboard"
- Step 1 - Suggestions: AI will provide 3-5 feature suggestions for Version 1
- Review the suggestions and respond:
- "Yes, proceed" or "looks good" to continue
- Provide modifications: "Add a dark mode toggle"
- Step 2 - Generation: AI generates the HTML mockup with your approved features
- Wait for the mockup to generate (15-30 seconds)
Example Prompts:
- "Create a modern landing page for a fintech SaaS product"
- "Build a dashboard for a project management tool"
- "Design a product page for an e-commerce site"
Important: The AI only generates mockups when you explicitly ask using keywords like: create, build, make, generate, design, develop. Otherwise, it acts as a normal chatbot.
- Click the "JIRA Board" button in the dashboard header
- View all your JIRA tickets organized by status (To Do, In Progress, QA, Done)
- Filter tickets by status
- Click on any ticket to see details and open in JIRA
- The chatbot has live access to this data - ask it questions!
Example Questions for Chatbot:
- "How many tickets are in progress?"
- "What tasks are in QA?"
- "Show me unassigned tickets"
- "What's the status breakdown?"
- Preview Tab: View the rendered HTML mockup in real-time
- HTML Code Tab: View and copy the HTML source code
- Edit with AI Tab:
- Edit HTML directly in the code editor
- Use the AI Editor Assistant (right sidebar) to make changes with natural language
- Examples: "Change the background color to blue", "Make the heading larger", "Add rounded corners to buttons"
- AI edits are automatically saved to the database
- Manual edits can be saved with the "Save Changes" button
- All generated mockups appear in the "Past Projects" section (right sidebar on dashboard)
- Two projects per row in a beautiful grid layout
- Click any project card to view and edit it again
- Your edits are persisted in the SQLite database
- Chat interface and Past Projects are in a 60/40 split for optimal viewing
- Click "Refine with AI" button in the header
- The AI will generate an improved version of the current mockup
- Review and continue editing as needed
- Once satisfied with the mockup, click "Download HTML"
- Share the HTML file with your development team
- Developers can use it as a reference for implementation
- Ask the chatbot to "fetch readme" to load your repository's tech stack
- The system will analyze the repository README to understand:
- Technology stack and frameworks
- Project structure and conventions
- Existing patterns and best practices
- The AI will use this context for:
- Better mockup suggestions aligned with your stack
- More relevant feature recommendations
- Context-aware JIRA ticket generation
- Dynamic Loading: README is only fetched when you explicitly request it, not hardcoded
- After generating a mockup in the chat, click "Create JIRA Tickets"
- Or, from the mockup viewer, click "Create JIRA Tickets"
- The system will:
- Analyze the mockup with AI
- Generate 3-5 implementation tickets covering frontend, backend, integration, etc.
- Create tickets in your KAN board with:
- Difficulty scores (1-10 scale)
- Priority levels (High, Medium, Low)
- Detailed descriptions
- Acceptance criteria (AI-generated)
- View all created tickets with direct links to JIRA
- Monitor progress through the JIRA Dashboard
GET /api/health
Returns API health status.
GET /api/debug/api-key
Returns API key status (without exposing the key).
POST /api/generate-mockup
Content-Type: application/json
{
"prompt": "Description of the mockup",
"project_name": "Optional project name",
"github_repo_url": "https://github.com/owner/repo" // Optional: for context-aware generation
}
Note: If github_repo_url is provided, the system will analyze the repository and enhance the mockup to align with the repository's technology stack and patterns.
GET /api/mockups?limit=10&include_html=false
Returns list of all mockups stored in database.
GET /api/mockups/{mockup_id}?include_html=true
Returns mockup metadata and optionally HTML content.
GET /api/mockups/{mockup_id}/html
Returns HTML file directly.
GET /api/mockups/{mockup_id}/screenshot
Returns screenshot image.
PUT /api/mockups/{mockup_id}/update
Content-Type: application/json
{
"html_content": "Updated HTML content"
}
Updates the HTML content in the database and regenerates screenshot.
POST /api/edit-html
Content-Type: application/json
{
"html_content": "Original HTML",
"instruction": "Change the background color to blue"
}
Uses AI to edit HTML based on natural language instruction.
POST /api/refine-mockup
Content-Type: application/json
{
"original_html": "Original HTML content",
"feedback": ["Feedback item 1", "Feedback item 2"]
}
Refines mockup based on feedback.
POST /api/mockups/{mockup_id}/submit
Analyzes the mockup against the GitHub repository and creates multiple Jira tickets with:
- Difficulty scores (1-10)
- Priority levels (High, Medium, Low)
- Detailed descriptions
- Acceptance criteria
Response:
{
"success": true,
"message": "Created 3 ticket(s) in Jira",
"tickets_created": 3,
"tickets_failed": 0,
"tickets": [
{
"title": "Implement user dashboard component",
"issue_key": "KAN-10",
"issue_url": "https://...",
"difficulty": 5,
"priority": 1,
"success": true
}
]
}The application uses NVIDIA's nvidia/llama-3.3-nemotron-super-49b-v1.5 model. To configure:
- Sign up at NVIDIA API Catalog
- Generate an API key
- Add to
backend/.env:NVIDIA_API_KEY=your_actual_api_key_here NVIDIA_API_URL=https://integrate.api.nvidia.com/v1/chat/completions
- Important: Remove any quotes around the API key value
- Restart the Flask server after creating/updating the
.envfile
For GitHub repository analysis and context-aware mockups:
- Go to GitHub Settings > Tokens
- Generate a new token with
reposcope (for private repos) orpublic_reposcope (for public repos) - Add to
backend/.env:GITHUB_TOKEN=ghp_your_token_here
- Note: Without a token, you can still use public repositories (with 60 requests/hour limit)
- See
backend/GITHUB_TOKEN_SETUP.mdfor detailed instructions
For submitting mockups to Jira and creating development tickets:
- Go to Atlassian Account Settings
- Create an API token
- Add to
backend/.env:JIRA_BASE_URL=https://your-domain.atlassian.net JIRA_EMAIL=[email protected] JIRA_API_TOKEN=your_jira_api_token_here
- The system will create tickets in the "KAN" project by default (configurable in code)
- See
backend/test_jira.pyto test your Jira connection
Windows Users: You can use create_env.ps1 or setup_env.ps1 script to create the .env file template.
- Model parameters: Edit
temperatureandmax_tokensinapp.py - Screenshot size: Modify
sizeparameter inhti.screenshot()calls - UI theme: Update CSS files in
frontend/src/components/
hackutd_25/
βββ backend/
β βββ app.py # Flask backend with API endpoints
β βββ requirements.txt # Python dependencies
β βββ setup_env.ps1 # Windows PowerShell script to create .env
β βββ create_env.ps1 # Alternative env creation script
β βββ .env # Environment variables (create this, not in repo)
β βββ nemotron_client.py # NVIDIA Nemotron API client
β βββ github_integration.py # GitHub API integration
β βββ jira_integration.py # Jira API integration
β βββ repo_mockup_generator.py # Repository-aware mockup generator
β βββ mockup_analyzer.py # Mockup vs repo comparison and ticket generation
β βββ mcp_server.py # MCP server for GitHub-aware generation
β βββ test_jira.py # Jira connection test script
β βββ GITHUB_TOKEN_SETUP.md # GitHub token setup guide
β βββ MCP_SERVER_README.md # MCP server documentation
β βββ data/
β β βββ mockups.db # SQLite database (auto-created)
β βββ mockups/ # Generated HTML files storage
βββ frontend/
β βββ public/
β β βββ index.html # HTML template
β βββ src/
β β βββ components/
β β β βββ Dashboard.js # Main dashboard with past projects
β β β βββ Dashboard.css
β β β βββ MockupViewer.js # Mockup viewer with AI editor
β β β βββ MockupViewer.css
β β βββ config/
β β β βββ api.js # API endpoint configuration
β β βββ App.js # Root component
β β βββ App.css
β β βββ index.js # React entry point
β β βββ index.css
β βββ package.json # Node dependencies
βββ README.md # This file
βββ SETUP.md # Quick setup guide
- Rapid Prototyping: Quickly generate mockups for stakeholder meetings
- A/B Testing: Generate multiple versions to test with users
- Client Presentations: Create professional mockups for proposals
- Developer Handoff: Provide clear visual references to development teams
- Sprint Planning: Visualize features before sprint commitment
- Stakeholder Alignment: Get feedback early in the design process
- JIRA Project Management: Query ticket status and create implementation tickets directly from mockups
- Context-Aware Development: Leverage your existing codebase (README) for better mockup suggestions
- Golden-themed glassmorphism design inspired by premium fintech products
- Sponsor branding (PNC & NVIDIA) elegantly integrated
- Responsive layouts with optimal 60/40 split for chat and projects
- Right-aligned user messages for natural conversation flow
- Full markdown support including syntax-highlighted code blocks
- Two-step generation: AI suggests features before creating, preventing over-eager generation
- Contextual awareness: Understands your tech stack from GitHub README
- Live JIRA data: Chatbot can query and answer questions about your project status
- Smart ticket creation: Automatically generates detailed tickets with acceptance criteria
- JIRA: View dashboard, create tickets, track progress
- GitHub: Fetch README for context-aware suggestions
- NVIDIA Nemotron: Powerful AI for natural language understanding
- All working together in a cohesive, polished interface
- Persistent storage: SQLite database for all mockups and chat history
- Auto-save: Never lose your work
- Error handling: Robust JSON parsing and API error management
- Clean architecture: Separate concerns with modular components
π For comprehensive troubleshooting, see the Troubleshooting Guide section above.
Mockup preview not loading
- Check browser console (F12) for errors
- Ensure iframe sandbox permissions are correct
- Try hard refresh:
Ctrl+Shift+R(Windows) orCmd+Shift+R(Mac)
AI edits not working
- Verify backend console shows "β NVIDIA_API_KEY loaded"
- Check API key has credits available at https://build.nvidia.com/
- Review backend console for detailed error messages
- Test API endpoint:
http://127.0.0.1:5001/api/debug/api-key
Projects not showing in Past Projects
- Verify
backend/data/mockups.dbfile exists - Check backend console for database errors
- Try refreshing the dashboard page
- Verify you've generated at least one mockup
- Never commit your
.envfile to version control - it contains sensitive API keys - Keep your API keys confidential:
- NVIDIA API key
- GitHub token (if using)
- Jira credentials (if using)
- The HTML preview uses iframe sandboxing for security
- All data is stored locally in SQLite database (
backend/data/mockups.db) - For production deployment:
- Migrate to a cloud database (PostgreSQL, MySQL, etc.)
- Use environment variables or secret management services
- Enable HTTPS for all API communications
- Implement proper authentication and authorization
- AI Chatbot with Markdown Support - Full markdown rendering in chat messages
- Two-Step Mockup Generation - AI suggests features first, then generates
- JIRA Dashboard - Beautiful view of all tickets organized by status
- Live JIRA Data for Chatbot - Query ticket counts, status, assignees in real-time
- Dynamic README Loading - Fetch GitHub README on-demand for context
- Smart Ticket Creation - AI-generated JIRA tickets with acceptance criteria
- Database Integration - Persistent storage with SQLite
- Past Projects Grid - Beautiful 2-column layout for mockup history
- AI-Powered HTML Editing - Natural language HTML modifications
- GitHub Repository Integration - Context-aware mockup generation
- Golden-Themed UI - Modern glassmorphism design with PNC & NVIDIA branding
- Responsive Layouts - 60/40 split for chat and projects
- MCP Server - Model Context Protocol for advanced integrations
- Automated Screenshot Generation - Visual previews for all mockups
- Right-Aligned User Messages - Clean chat UI with proper message alignment
- User authentication and project management
- Version control for mockup iterations
- Collaborative editing features
- Export to Figma/Sketch
- Mobile app support
- Real-time collaboration
- Template library
- AI-powered A/B test suggestions
- Cloud database migration for production
- Custom Jira project selection
- GitHub webhook integration
- Automated PR creation from mockups
This project was created for HackUTD 2025.
- NVIDIA for providing the Nemotron AI model
- PNC for sponsoring the Product Manager productivity challenge
- HackUTD for organizing the hackathon
- Brev for rate limit management infrastructure
For questions or issues:
- Check the troubleshooting section above
- Review the API documentation
- Check Flask and React console logs
- Refer to NVIDIA API documentation
- Check
backend/GITHUB_TOKEN_SETUP.mdfor GitHub integration help - Check
backend/MCP_SERVER_README.mdfor MCP server documentation - Run
python backend/test_jira.pyto test Jira connection
- GitHub Integration: See
backend/GITHUB_TOKEN_SETUP.md - MCP Server: See
backend/MCP_SERVER_README.md - Quick Setup: See
SETUP.mdfor a condensed setup guide - Jira Testing: Run
python backend/test_jira.pyto verify Jira connection
After cloning the repository:
- Install Python 3.8+ and Node.js 16+
- Create virtual environment:
python -m venv backend/venv - Activate virtual environment
- Install backend dependencies:
pip install -r backend/requirements.txt - Install frontend dependencies:
npm install(in frontend directory) - Create
backend/.envfile with NVIDIA_API_KEY - (Optional) Add GITHUB_TOKEN to
.envfor GitHub integration - (Optional) Add Jira credentials to
.envfor Jira integration - Start backend:
python backend/app.py - Start frontend:
npm start(in frontend directory) - Open http://localhost:3000 in your browser
Built with β€οΈ for HackUTD 2025