Original Idea
Reforging... (Takes ~30s)
Market Analysis
Top Competitors
- Procore: A popular construction project management software, but has alternatives that may better suit some companies.
- Mastt: Purpose-built for cost tracking, project oversight, and risk visibility for capital project owners & project management consultants.
- Autodesk Build: Industry-standard platform for design coordination and field integration for Enterprise GCs & collaboration.
Market Gaps / Complaints
- Poor customer service experiences leading to negative reviews.
- Issues with returns, refunds, and pricing disputes causing customer frustration.
- Technical difficulties with apps, websites, and online portals.
Unique Selling Points
Hyper-Responsive Support Guarantee
We pledge to resolve any customer service inquiry within *one business hour*, or you receive a credit. No more waiting on hold or dealing with unhelpful agents. We prioritize your success with fast and effective support.
Transparent & Predictable Pricing with Dispute Resolution
Our pricing is clear, predictable, and upfront. We offer a documented dispute resolution process handled by a dedicated team, ensuring fairness and resolving pricing discrepancies quickly and efficiently.
Seamless, Reliable Technology with Proactive Monitoring
We invest heavily in a robust and user-friendly platform. Our platform undergoes rigorous testing and proactive monitoring to minimize technical glitches and ensure a smooth, uninterrupted experience. We provide real-time system status updates and quick resolution of any technical issues.
Feature Breakdown
New Feature Definition
User Authentication and Authorization
Secure user login and role-based access control to protect s...
Generated Prompt
Lead Management (EstateIQ)
Core CRM functionality including adding, searching, assignin...
Generated Prompt
Project and Unit Management (BuildMatrix)
Allow users to define projects and manage associated units, ...
Generated Prompt
Basic Reporting and Analytics
Provide essential reports on leads (EstateIQ) and project pe...
Generated Prompt
Document and Asset Management (DataBrics)
Enable uploading and managing key documents related to proje...
Generated Prompt
Notifications
Implement a basic notification system for key events such as...
Generated Prompt
Core Database Functionality
Establish a robust database structure and connection using t...
Generated Prompt
Master Coding Prompt
Customize Your Prompt
Final Output
# Master Coding Prompt: RovaCore MVP
## Goal
Develop a Minimum Viable Product (MVP) of RovaCore, focusing on BuildMatrix and EstateIQ functionality, while prioritizing user experience, reliability, and responsive support, as highlighted by our USPs.
## Tech Stack
* **Backend:** Python 3.11+ with Flask
* **Frontend:** React (create-react-app) with TypeScript. This choice prioritizes a component based approach, which simplifies maintenance, updates and overall developer experience. A Next.js implementation would also be feasible, but for rapid MVP, React alone is more appropriate.
* **Database:** PostgreSQL (for scalability and data integrity)
* **ORM:** SQLAlchemy (for database interactions within Flask)
* **UI Library:** Material UI (for a consistent and professional look and feel)
## Core Features (based on USPs)
1. **Hyper-Responsive Support System:**
* **Feature:** Integrated Support Ticket System. Users can submit support requests directly within the application.
* **Backend:** Flask endpoint to receive and process support tickets. Utilize a database model to store ticket information (status, priority, user, timestamp, details).
* **Frontend:** A clear "Support" button in the main navigation. Ticket submission form with options for priority, category, and detailed description. A dashboard to view ticket status.
* **Logic**: Implement a service level agreement (SLA) enforcement mechanism. Automatically escalate tickets not addressed within the one-business-hour window.
2. **Transparent & Predictable Pricing/Dispute Resolution:**
* **Feature:** Pricing Module with clear cost breakdowns for BuildMatrix and EstateIQ services.
* **Backend:** Database tables to store pricing data for various services and plans. Flask endpoints to fetch and display pricing information. API endpoints for dispute submission.
* **Frontend:** Dedicated "Pricing" page displaying detailed breakdowns. User-friendly interface for submitting pricing disputes with supporting documentation. Tracking for the dispute resolutions.
* **Logic**: A well-defined data schema for cost calculations, tiers and service specific add-ons.
3. **Seamless, Reliable Technology:**
* **Feature:** System Status Dashboard
* **Backend:** A Flask endpoint that monitors the health and performance of key components (database connection, API endpoints, background tasks). Log aggregation system (like ELK Stack, though a basic logging file will suffice for early MVP).
* **Frontend:** A publicly accessible "System Status" page (link in the footer). Clear indicators (green/yellow/red) for each component. Real-time updates via WebSockets.
* **Logic**: Implement health check probes. Integrate monitoring tools like Prometheus or Grafana for advanced metrics later.
## Database Schema (PostgreSQL)
```sql
-- Support Tickets
CREATE TABLE support_tickets (
id SERIAL PRIMARY KEY,
user_id INTEGER REFERENCES users(id),
subject VARCHAR(255) NOT NULL,
description TEXT NOT NULL,
priority VARCHAR(50) NOT NULL,
status VARCHAR(50) NOT NULL DEFAULT 'Open',
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- Pricing Plans
CREATE TABLE pricing_plans (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
description TEXT,
monthly_cost DECIMAL(10, 2) NOT NULL
);
-- Pricing Plan Features (e.g., included users, storage, etc.)
CREATE TABLE pricing_plan_features (
id SERIAL PRIMARY KEY,
pricing_plan_id INTEGER REFERENCES pricing_plans(id),
feature_name VARCHAR(255) NOT NULL,
feature_value VARCHAR(255)
);
-- Pricing Disputes
CREATE TABLE pricing_disputes (
id SERIAL PRIMARY KEY,
user_id INTEGER REFERENCES users(id),
invoice_id INTEGER, -- Optional reference to an invoice
description TEXT NOT NULL,
supporting_document_url VARCHAR(255), -- URL to uploaded document
status VARCHAR(50) NOT NULL DEFAULT 'Open',
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
resolved_at TIMESTAMP WITH TIME ZONE
);
-- System Status
CREATE TABLE system_status (
id SERIAL PRIMARY KEY,
component_name VARCHAR(255) NOT NULL,
status VARCHAR(50) NOT NULL,
last_updated TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- Users (basic structure, expand as needed)
CREATE TABLE users (
id SERIAL PRIMARY KEY,
username VARCHAR(255) UNIQUE NOT NULL,
email VARCHAR(255) UNIQUE NOT NULL,
password_hash VARCHAR(255) NOT NULL
);
-- Populate system_status with initial data
INSERT INTO system_status (component_name, status) VALUES
('Database', 'Operational'),
('API', 'Operational'),
('BuildMatrix Services', 'Operational'),
('EstateIQ Services', 'Operational');
```
## Key UI/UX Elements
* **Clean and Intuitive Navigation:** Use a consistent navigation structure throughout the application.
* **Responsive Design:** The application should be fully responsive and accessible on all devices (desktops, tablets, and mobile phones).
* **Clear Error Handling:** Display informative error messages to guide users when something goes wrong.
* **Consistent Styling:** Adhere to a consistent style guide (using Material UI) to maintain a professional and polished look and feel.
* **Accessibility:** Follow WCAG guidelines for accessibility to ensure that the application is usable by people with disabilities.
* **User Feedback:** Implement visual feedback (e.g., loading spinners, success messages) to keep users informed about the status of their actions.
## Development Process
1. **Setup:** Initialize Flask backend, React frontend, and PostgreSQL database.
2. **Database Models:** Define database models using SQLAlchemy.
3. **API Endpoints:** Create Flask API endpoints for all core features.
4. **Frontend Components:** Develop React components for the UI, consuming the API endpoints.
5. **Testing:** Write unit tests and integration tests to ensure code quality and reliability.
6. **Deployment:** Deploy the application to a cloud platform (e.g., Heroku, AWS).
## Detailed Instructions for Coding the MVP
1. **Authentication:**
* Implement user authentication and authorization.
* Use Flask-Login for session management.
* Create API endpoints for user registration, login, and logout.
* Protect sensitive API endpoints with authentication.
2. **BuildMatrix Integration (Simplified):**
* Create a simplified version of the BuildMatrix interface focusing on project reporting.
* Allow users to upload property data (using the bulk media upload template) and generate basic project reports.
* Implement API endpoints for data upload and report generation.
3. **EstateIQ Integration (Simplified):**
* Create a simplified version of the EstateIQ interface for lead management.
* Allow users to add and manage leads.
* Implement API endpoints for lead creation, retrieval, and updates.
4. **Support Ticket System:**
* Implement the support ticket system as described above.
* Use a background task queue (e.g., Celery) to handle email notifications for new tickets and updates.
5. **Pricing Module:**
* Implement the pricing module as described above.
* Allow administrators to manage pricing plans and features.
6. **System Status Dashboard:**
* Implement the system status dashboard as described above.
* Use a background task to periodically check the status of key components.
7. **Testing:**
* Write unit tests for all backend code.
* Write integration tests to verify the integration between different components.
* Write end-to-end tests (using Cypress or Selenium) to test the UI.
8. **Deployment:**
* Deploy the application to a cloud platform (e.g., Heroku, AWS).
* Configure a CI/CD pipeline for automated deployments.
## Considerations for Future Development
* Integration with third-party services (e.g., CRM, marketing automation).
* Advanced reporting and analytics.
* Machine learning-based lead scoring and opportunity identification.
* Mobile app development.
This prompt provides a detailed outline for building the RovaCore MVP. Use this as a starting point and refine it as you progress through the development process.