MarkupMeter Product Requirements Document
Product Overview
MarkupMeter is a specialized mobile application that provides transparency to restaurant wine pricing, enabling value-conscious wine enthusiasts to instantly compare restaurant wine prices against retail market rates. Our vision is to transform the restaurant wine experience by eliminating pricing opacity, empowering diners to make informed decisions, and creating market incentives for fair pricing practices within the competitive restaurant industry.
1. Foundation Layer
1.1 Product Vision
MarkupMeter exists to democratize wine pricing knowledge and restore balance to the restaurant wine experience. By bringing transparency to an intentionally opaque system, we empower consumers to make informed choices and create market incentives for fair pricing practices.
Core Value Proposition
MarkupMeter delivers instant wine pricing transparency, transforming restaurant wine selection from a moment of uncertainty to one of confidence and control.
Key Differentiators
- Specialized Focus: Unlike general wine apps, we exclusively address the restaurant markup issue
- Situational Design: Built specifically for discreet, in-restaurant use cases
- Community Intelligence: Leveraging collective user data to create a restaurant markup index
- Two-Sided Value: Creating benefits for both consumers and fairly-priced restaurants
Market Positioning
MarkupMeter positions itself as the category-defining solution for restaurant wine pricing transparency—a specialized tool that fills a significant gap between general wine information apps and restaurant review platforms.
1.2 User Personas
Primary: The Value-Conscious Wine Enthusiast
- Demographics: 30-65 years old, upper-middle income ($75k-$200k), urban/suburban, college-educated professionals
- Behaviors: Dines out 2+ times monthly at mid to high-end restaurants, has intermediate wine knowledge
- Goals: Find fairly priced wines on restaurant lists, avoid excessive markups, make confident selections
- Pain Points: Frustration with opaque pricing, social discomfort when researching prices at the table, uncertainty about value
- Technical Profile: Smartphone-savvy, uses apps regularly, comfortable with search and comparison tools
- Usage Scenario: Reviewing a wine list at a business dinner, wanting to order a good value bottle without appearing cheap or uninformed
Secondary: The Restaurant Wine Novice
- Demographics: 25-45 years old, middle income, urban dwellers
- Behaviors: Occasional fine dining, limited wine knowledge, intimidated by wine selection
- Goals: Avoid overpaying, gain confidence in wine selection, learn about wine value
- Pain Points: Intimidation from sommelier interactions, lack of wine knowledge, fear of making poor value choices
- Technical Profile: High smartphone usage, prefers simple interfaces, uses social recommendations
- Usage Scenario: On a date night, wanting to order wine confidently without appearing uninformed or spending too much
Tertiary: Fair-Pricing Restaurants
- Demographics: Independent restaurants, progressive restaurant groups, wine-focused establishments
- Behaviors: Offer reasonable wine markups as a competitive advantage, emphasize wine as part of experience
- Goals: Attract wine-ordering customers, differentiate from competitors, build reputation for value
- Pain Points: Difficulty communicating fair pricing as a value proposition, competing with establishments that subsidize food with wine markups
- Technical Profile: Varies widely, from tech-savvy to traditional operations
- Usage Scenario: Restaurant owner wanting recognition for fair wine pricing practices to attract value-conscious customers
1.3 Market Context
Competitive Landscape
Direct Competitors (Wine Information Apps)
- Vivino: Market leader with 50M+ users, focused on wine ratings and retail pricing, limited restaurant functionality
- Wine-Searcher: Comprehensive retail price database, not optimized for restaurant use
- Delectable: Social wine discovery platform, limited price comparison functionality
Indirect Competitors
- Restaurant Review Platforms (Yelp, TripAdvisor): Occasionally mention wine pricing in reviews
- Reservation Apps (OpenTable, Resy): May include wine list information but no pricing analysis
Market Gap Analysis No current solution effectively addresses the specific pain point of restaurant wine pricing opacity, creating a clear market opportunity.
Market Trends
- Increasing consumer demand for transparency across industries
- Growing interest in value-based dining decisions
- Rising wine consumption among millennials and Gen X
- Increased smartphone usage during dining experiences
- Growing acceptance of technology as part of the dining experience
Regulatory Considerations
- Data privacy regulations (GDPR, CCPA) for user contribution systems
- Alcohol advertising restrictions in certain markets
- Restaurant industry standards and practices
1.4 Success Criteria
Business Metrics
- Achieve 100,000 active users within first year of launch
- Reach 250,000 wine price data points in database within 18 months
- Attain 60% user retention rate after 3 months
- Generate 10,000+ user-contributed wine price entries monthly by month 6
User Value Metrics
- 80% of users report increased confidence in wine purchasing decisions
- 70% of users discover at least one "good value" wine per month
- Average time to find wine pricing information under 30 seconds
- 50% of users report ordering wine more frequently when using the app
Product Quality Metrics
- 95% data accuracy for wine pricing information
- 99% app availability during peak dining hours (6-10pm)
- Average app rating of 4.5+ stars in app stores
- 90% of searches return relevant results within 3 seconds
2. Features Layer
2.1 Core Functionality
Wine Search & Identification
- Description: Allow users to quickly find specific wines on restaurant lists
- Key Capabilities:
- Text-based search with autocomplete and fuzzy matching
- Wine label scanning via camera (Phase 2)
- Voice search capability for hands-free operation (Phase 2)
- Recent search history and favorites
- User Stories:
- As a diner, I want to quickly search for a specific wine by name so I can get pricing information before ordering
- As a diner in a dimly lit restaurant, I want to scan a wine label to identify it without typing
- Acceptance Criteria:
- Search returns relevant results within 3 seconds
- Autocomplete suggests wines after 3 characters typed
- Search accommodates common misspellings and partial names
- Results prioritized by relevance and popularity
Price Comparison Engine
- Description: Core system that compares restaurant prices to retail market rates
- Key Capabilities:
- Display current average retail price alongside restaurant price
- Calculate and display markup percentage
- Show historical price trends where available
- Present price comparison visualizations
- User Stories:
- As a value-conscious diner, I want to see the markup percentage on a restaurant wine so I can determine if it's reasonably priced
- As a wine enthusiast, I want to compare multiple wines on a list by their markup to find the best value
- Acceptance Criteria:
- Retail prices updated at least weekly
- Markup calculations clearly explained to users
- Price comparison displayed within 2 seconds of wine selection
- Multiple pricing sources used for accuracy
Restaurant Markup Index
- Description: System that rates and compares restaurants based on their wine pricing practices
- Key Capabilities:
- Calculate average markup percentage for each restaurant
- Assign transparency rating based on pricing practices
- Allow users to filter and sort restaurants by markup index
- Provide trend analysis for restaurant pricing over time
- User Stories:
- As a frequent diner, I want to identify restaurants with fair wine pricing so I can patronize them
- As a user planning a special dinner, I want to compare wine markup policies across several restaurants
- Acceptance Criteria:
- Index calculated based on minimum of 5 wines per restaurant
- Ratings updated weekly based on new price information
- Index accounts for restaurant type and location in comparisons
- Visualizations make ratings instantly understandable
Community Contribution System
- Description: Platform for users to share and update wine pricing information
- Key Capabilities:
- User submission of wine prices and restaurant listings
- Verification system for user-submitted data
- Reputation system for contributors
- Flagging mechanism for inaccurate information
- User Stories:
- As an active user, I want to add wine prices I discover so I can help others make informed decisions
- As a community member, I want to earn recognition for my contributions to build my reputation
- Acceptance Criteria:
- Submission process completable in under 60 seconds
- Verification process prevents spam and inaccurate data
- Contributors receive acknowledgment and status benefits
- Data moderation system reviews flagged entries within 24 hours
Value Discovery Tools
- Description: Features that help users identify good values on wine lists
- Key Capabilities:
- "Best Value" highlighting on restaurant wine lists
- Value alerts for exceptionally good deals
- Personalized value recommendations based on preferences
- Value comparison across wine categories
- User Stories:
- As a diner with limited wine knowledge, I want the app to highlight good values so I can order confidently
- As a user with specific preferences, I want personalized value recommendations
- Acceptance Criteria:
- "Best Value" designation based on clear, consistent criteria
- Value alerts are accurate and relevant to user preferences
- Recommendations account for both price and quality factors
- Value comparisons are easy to understand for wine novices
2.2 Data Management
Data Entities & Relationships
- Wines: Name, vintage, producer, region, varietal, category, retail price history
- Restaurants: Name, location, cuisine type, price tier, markup index
- Wine Lists: Restaurant association, date updated, source (official/user-contributed)
- Price Points: Wine-restaurant pairing, price, date recorded, source
- Users: Profile, contribution history, preferences, reputation score
Data Collection Requirements
- Integration with wine retail pricing APIs and databases
- User contribution system with structured data entry
- Optional restaurant partnership data feeds
- Web scraping of publicly available wine list information (where legal)
- Historical price tracking and versioning
Data Processing & Analysis
- Automated markup calculations based on average retail prices
- Statistical analysis to identify outliers and potential errors
- Trend analysis for price changes over time
- Machine learning for price prediction and anomaly detection
- Aggregation for restaurant markup index calculations
Data Privacy & Security
- No personally identifiable user data shared publicly
- Opt-in for location-based features
- Transparency in data collection and usage policies
- Compliance with GDPR, CCPA and relevant privacy regulations
- Regular security audits and data protection measures
Data Retention & Archiving
- Wine pricing data retained indefinitely with historical versioning
- User contribution history maintained for account lifetime
- Inactive restaurant listings archived after 12 months
- Search history retained for 30 days unless user opts for longer retention
- Regular database optimization and archiving processes
2.3 Integration Requirements
Wine Pricing Databases
- Integration with Wine-Searcher API for retail pricing data
- Connection to regional wine retailer databases where available
- Potential partnership with Vivino for additional pricing sources
- Custom API development for specialized wine retailers
Restaurant Information Systems
- Integration with OpenTable, Resy, and other reservation platforms
- Optional API for restaurant management systems
- POS system integration for participating restaurants (future phase)
- Menu management system connections for automatic updates
Mobile Device Integration
- Camera access for label scanning functionality
- Location services for nearby restaurant identification
- Calendar integration for reservation-based reminders
- Contact sharing for social features
Social Platform Integration
- Share functionality with Instagram, Facebook, Twitter
- Optional authentication via social platforms
- Review platform (Yelp, TripAdvisor) deep linking
- Social messaging platform sharing
External APIs
- Maps integration for restaurant location services
- Weather API for contextual recommendations
- Payment processing for future premium features
- Cloud storage for user data synchronization
2.4 Administrative Functions
User Management
- Account creation and authentication system
- Profile management and preference settings
- Reputation and contribution tracking
- Moderation tools for community management
- User support and feedback system
Content Management
- Wine database management and updates
- Restaurant listing verification and management
- Price data moderation and verification
- Community contribution approval workflow
- Notification and alert management
Analytics Dashboard
- User engagement metrics and reporting
- Content quality and coverage analysis
- Search pattern and user behavior analysis
- Community contribution analytics
- Performance and error reporting
System Configuration
- Feature flag management for phased rollouts
- A/B testing configuration for experience optimization
- Notification settings and management
- API integration management
- Performance optimization controls
3. Experience Layer
3.1 User Flows
First-Time User Onboarding
- Download app and launch
- View brief value proposition explanation (3 screens max)
- Optional account creation (can be deferred)
- Select wine knowledge level (beginner/intermediate/expert)
- Indicate primary use case (restaurant dining, learning, collection)
- Grant optional permissions (location, camera)
- View quick tutorial on core features
- Land on home screen with suggested actions
Restaurant Wine Search Flow
- User opens app at restaurant
- App suggests nearby restaurants based on location (if enabled)
- User selects current restaurant or searches for it
- App displays search interface for wines
- User enters wine name or scans label
- App displays wine details with price comparison
- User can save wine to favorites, share, or view similar values
- Optional: User adds current price if different from database
Adding New Wine Price Data
- User selects "Add Wine Price" from restaurant view
- User searches for wine or scans label to identify
- App pre-fills known wine information
- User enters price and confirms details
- App validates entry against expected range
- User submits and receives confirmation
- User earns contribution points
- New data becomes available to community (after verification for new users)
Restaurant Comparison Flow
- User selects "Compare Restaurants" feature
- App displays nearby restaurants with markup index
- User can filter by cuisine, price range, or distance
- App presents visual comparison of markup practices
- User selects restaurant for detailed wine list view
- App highlights best values at selected restaurant
- User can save restaurant to favorites or share findings
- Optional: Make reservation via integrated booking system
Value Discovery Flow
- User selects "Find Values" feature
- App presents filtering options (wine type, price range, region)
- User selects preferences
- App displays best value wines nearby based on markup index
- User can sort by absolute price, markup percentage, or quality rating
- User selects wine for detailed information
- App shows restaurants offering this wine with comparative pricing
- User can save findings or navigate to restaurant details
3.2 Interface Requirements
Core Interface Elements
- Search Component: Prominent, accessible from all screens, with voice and camera input options
- Price Comparison Display: Clear visual representation of restaurant price vs. retail price
- Markup Indicator: Visual scale showing markup percentage with context (below average, average, above average)
- Restaurant List View: Sortable, filterable list with markup index prominently displayed
- Wine Detail View: Comprehensive information with pricing history, availability, and value assessment
- Navigation System: Simple, intuitive navigation with focus on quick access to core features
- Contribution Tools: Easily accessible input mechanisms for community contributions
Responsive Design Requirements
- Phone Optimization: Primary design target, optimized for one-handed operation
- Tablet Support: Expanded layouts with side-by-side information panels
- Orientation Handling: Functional in both portrait and landscape modes
- Screen Size Adaptation: Flexible layouts accommodating various device sizes
- Dark Mode Support: Full dark mode implementation for discreet restaurant use
- Accessibility Scaling: Text size adjustment without layout breaking
Interaction Models
- Quick Actions: Swipe gestures for common actions (save, share, compare)
- Stealth Mode: One-touch activation of minimal interface for discreet restaurant use
- Voice Commands: Optional voice control for hands-free operation
- Haptic Feedback: Subtle confirmation for key actions
- Progressive Disclosure: Information layering with essential data first, details on demand
- Contextual Help: In-context assistance for complex features
Accessibility Requirements
- Screen Reader Compatibility: Full support for VoiceOver and TalkBack
- Color Contrast: WCAG AA compliance for all text and interactive elements
- Alternative Inputs: Support for external adaptive devices
- Reduced Motion Option: Alternative transitions for users sensitive to motion
- Keyboard Navigation: Complete functionality without touch for tablet users with keyboards
- Readability: Clear typography with adjustable text size
3.3 Performance Requirements
Response Time Targets
- Search results displayed within 3 seconds of query submission
- Wine details page loaded within 2 seconds of selection
- Price comparison calculations completed within 1 second
- App launch to usable state under 4 seconds
- Camera scanning to wine identification under 5 seconds
- User contributions acknowledged within 1 second
Offline Capabilities
- Basic wine information available offline
- Recently viewed restaurants and wines cached for offline access
- Queued contributions stored for submission when connectivity restored
- Clear indication of offline status and limited functionality
- Automatic synchronization when connection reestablished
- Offline search within cached data
Resource Efficiency
- Battery usage optimized for extended restaurant sessions
- Data usage under 5MB per typical restaurant visit
- Storage requirements under 100MB for core application
- Optional expanded cache for frequent users (user-configurable)
- Background processing minimized during active use
- Memory footprint optimized for older devices
Reliability Standards
- 99.9% uptime during peak dining hours (6-10pm local time)
- Graceful degradation when services are limited
- Automatic recovery from common error conditions
- Data preservation during unexpected shutdowns
- Consistent performance across supported device types
- Regular background synchronization to prevent data loss
3.4 Contextual Adaptations
Location-Based Adaptations
- Automatically suggest nearby restaurants when app is opened
- Adjust search radius based on urban/suburban/rural location
- Highlight restaurants within walking distance in urban areas
- Provide directions integration for selected restaurants
- Adapt restaurant recommendations based on user location patterns
- Respect location privacy with clear opt-in and temporary use options
Time-Based Adaptations
- Prioritize features based on time of day (pre-dinner vs. at restaurant)
- Highlight restaurants currently open
- Adjust interface brightness based on ambient light detection
- Surface relevant historical data (e.g., "You visited this restaurant 3 months ago")
- Weekend vs. weekday optimizations for different use patterns
- Seasonal wine recommendations when appropriate
User Preference Adaptations
- Interface adjustments based on wine knowledge level
- Personalized value recommendations based on price sensitivity
- Feature visibility based on usage patterns
- Detail level adapted to expertise (more technical for experts)
- Language complexity adjusted to user preference
- Metric/imperial unit display based on user location and preference
Device-Specific Adaptations
- Camera quality adaptations for wine label scanning
- Battery-saving mode for extended restaurant sessions
- Performance optimizations for older devices
- Enhanced visualizations for high-end displays
- Reduced data mode for limited connectivity
- Tablet-specific layouts for larger screens
4. Validation Layer
4.1 Functional Testing
Feature Testing Approach
- Comprehensive test cases for each core feature
- Edge case identification and testing for search functionality
- Cross-device testing on iOS and Android platforms
- Regression testing protocol for each release
- Automated test suite for core functionality
- Manual testing for user experience quality
Critical Test Scenarios
- Wine Search Accuracy: Verify search returns correct wines with various input methods
- Price Calculation Correctness: Validate markup calculations against known values
- Data Contribution Flow: Ensure user contributions are properly processed and verified
- Restaurant Index Accuracy: Confirm markup index calculations reflect actual pricing data
- Offline Functionality: Verify critical features work without connectivity
- High-Load Performance: Test system under simulated peak usage conditions
Data Validation
- Verify retail price accuracy against multiple sources
- Validate restaurant price data through multiple user confirmations
- Test data synchronization across devices and platforms
- Verify historical data retention and accessibility
- Test data export and backup functionality
- Validate privacy controls and data protection measures
Integration Testing
- Verify all third-party API integrations function correctly
- Test authentication flows with social login providers
- Validate mapping and location service integration
- Test sharing functionality with social platforms
- Verify deep linking and app-to-app transitions
- Validate notification delivery across platforms
4.2 User Acceptance
Usability Testing Methodology
- Moderated usability sessions with representative users
- Restaurant environment testing for real-world conditions
- A/B testing of critical user flows
- Heatmap and session recording analysis
- Task completion rate measurement
- User satisfaction surveys after key interactions
Key Acceptance Criteria
- 90% of users can complete wine search within 30 seconds
- 85% of users can understand markup information without explanation
- 95% of users can successfully add a new wine price
- 80% of users report increased confidence in wine selection
- 90% of users can identify "best value" wines on a list
- 85% of users would recommend the app to others
Beta Testing Program
- Phased beta rollout to wine enthusiasts and restaurant professionals
- Structured feedback collection through in-app mechanisms
- Bug bounty program for critical issue identification
- Feature request prioritization by beta community
- Usage pattern analysis to identify improvement opportunities
- Satisfaction measurement throughout beta period
Stakeholder Approval Process
- Regular demos for key stakeholders throughout development
- Formal approval checkpoints at feature completion
- User advisory board review of major features
- Restaurant partner feedback integration
- Wine expert consultation on data presentation
- Executive review of business metric alignment
4.3 Performance Verification
Load Testing
- Simulate concurrent users at 2x projected peak levels
- Test search performance under high query volume
- Validate database performance with projected data volume
- Measure API response times under various load conditions
- Test notification system at scale
- Verify content delivery network performance
Device Performance Testing
- Test on range of devices from minimum spec to current flagship
- Measure battery consumption during typical usage sessions
- Monitor memory usage patterns across extended sessions
- Verify performance in low-connectivity environments
- Test performance with minimum available storage
- Measure startup time across device range
Reliability Testing
- Continuous operation testing over extended periods
- Random shutdown and recovery testing
- Connectivity interruption and restoration tests
- Database consistency verification after sync operations
- Error recovery from various failure conditions
- Background process reliability verification
Monitoring Requirements
- Real-time performance monitoring system
- User-reported error tracking
- Crash analytics integration
- Performance metric dashboards
- Alerting system for critical issues
- Usage pattern analysis tools
4.4 Compliance Verification
Data Privacy Compliance
- GDPR compliance verification
- CCPA compliance verification
- Data collection consent mechanisms
- User data access and deletion capabilities
- Privacy policy clarity and accessibility
- Data minimization principle implementation
Accessibility Compliance
- WCAG 2.1 AA compliance verification
- Screen reader compatibility testing
- Keyboard navigation verification
- Color contrast analysis
- Text scaling functionality testing
- Alternative input method verification
Platform Guideline Compliance
- iOS App Store guideline verification
- Google Play Store policy compliance
- In-app purchase implementation compliance
- Notification permission handling
- Camera and location permission management
- Background processing compliance
Industry-Specific Compliance
- Alcohol advertising regulation compliance
- Restaurant industry standard adherence
- Age verification where required by law
- Appropriate disclaimers for user-generated content
- Fair use compliance for wine information
- Terms of service clarity and enforceability
5. Implementation Considerations
5.1 Technical Architecture
MarkupMeter will be built using a client-server architecture with native mobile applications (iOS and Android) communicating with cloud-based backend services. The system will employ:
- Frontend: Native applications using Swift (iOS) and Kotlin (Android)
- Backend: Cloud-based microservices architecture for scalability
- Database: Combination of relational database for structured data and NoSQL for user-generated content
- APIs: RESTful API design with GraphQL for complex data queries
- Caching: Multi-level caching strategy for performance optimization
- Analytics: Integrated analytics platform for user behavior tracking and performance monitoring
5.2 Development Phasing
Phase 1: MVP (Months 1-3)
- Core wine search functionality
- Basic price comparison engine
- Initial restaurant database (top 10 markets)
- Essential user accounts and profiles
- Simple contribution mechanism
- Basic restaurant markup index
Phase 2: Enhanced Experience (Months 4-6)
- Wine label scanning capability
- Expanded restaurant coverage
- Advanced search filters and sorting
- Enhanced user contribution system
- Social sharing features
- Improved visualization of markup data
Phase 3: Community & Scale (Months 7-12)
- Reputation and gamification system
- Restaurant partnership program
- Advanced analytics and personalization
- Expanded integration with reservation platforms
- Premium feature exploration
- International market expansion preparation
5.3 Risk Assessment
Technical Risks
- Data Accuracy: Challenge of maintaining current retail pricing data
- Mitigation: Multiple data sources, user verification system, regular audits
- Scaling Challenges: Handling growth in user-contributed data
- Mitigation: Scalable cloud architecture, performance monitoring, incremental capacity planning
- Device Compatibility: Ensuring consistent experience across device types
- Mitigation: Comprehensive device testing matrix, progressive enhancement approach
Business Risks
- Restaurant Opposition: Potential pushback from high-markup establishments
- Mitigation: Positioning as consumer tool, restaurant partnership program for transparency advocates
- Data Coverage: Achieving sufficient wine and restaurant data
- Mitigation: Focused launch in key markets, incentivized contribution system, strategic data partnerships
- User Adoption: Overcoming habit change for wine selection
- Mitigation: Seamless onboarding, clear value demonstration, targeted marketing to early adopters
5.4 Dependencies
Critical External Dependencies
- Wine retail pricing data sources
- Restaurant information databases
- Mobile platform approval processes
- Third-party authentication services
- Payment processing for future premium features
Internal Dependencies
- Design system development
- Data validation methodology
- Community management infrastructure
- Content moderation system
- Analytics implementation
5.5 Success Enablers
Key Implementation Factors
- Focus on speed and simplicity for in-restaurant use
- Emphasis on data accuracy and verification
- Community-building from earliest stages
- Restaurant relationship development
- Regular user feedback incorporation
- Continuous improvement based on usage patterns
6. Appendices
6.1 Glossary
- Markup: The percentage increase from retail to restaurant price
- Markup Index: MarkupMeter's proprietary rating of restaurant wine pricing practices
- Value Rating: Assessment of a wine's price-to-quality relationship
- Stealth Mode: Discreet interface option for unobtrusive restaurant use
- Contribution Points: Rewards earned for adding price data to the system
- Verification: Process of confirming accuracy of user-submitted data
6.2 Research References
- Wine industry pricing studies
- Restaurant consumer behavior analysis
- Mobile app usage patterns in dining contexts
- Wine enthusiast community surveys
- Competitive analysis of wine and dining applications
- Transparency impact studies from adjacent industries
6.3 Future Considerations
- Premium subscription model for enhanced features
- Expansion to spirits and craft beer pricing
- Restaurant reservation integration
- Sommelier recommendation integration
- Personalized wine education pathways
- Wine collection management features