--- tags: - eventkit - discovery-questions --- # Discovery Questions β€” Round 2 Deeper questions building on your earlier answers. These target the remaining open items from [[08-OpenQuestions]] and drill into implementation details. --- ## 🎯 Scope & MVP ### 1. Primary Equipment Sectors Which sectors should the MVP support first? Pick the top 2-3 that you'd want to demo: - [x] Audio (PA systems, microphones, mixing desks) - [x] Lighting (moving heads, LED fixtures, dimmers) - [ ] Video (projectors, LED walls, cameras) - [ ] Staging (decks, legs, railings) - [x] Rigging (truss, motors, chains, shackles) - [x] Power distribution (distros, cables, generators) - [ ] Furniture (tables, chairs, bars, dΓ©cor) - [ ] Other: \_\_\_ > **Answer:** ### 2. MVP Build Order The natural order seems to be: Inventory + Scanning β†’ Planning β†’ CRM β†’ Federation. Do you agree, or would you re-order? > **Answer:** I agree with the order. ### 3. EventKit's Own Pricing Model How will EventKit itself be offered to customers? - [ ] Fully open source (self-hosted only, community support) - [x] Open core (free self-hosted, paid SaaS with premium features) - [ ] Paid licence (self-hosted with per-seat or per-instance licence) - [ ] SaaS only - [ ] Other: \_\_\_ > **Answer:** --- ## βš™οΈ Technical Architecture ### 4. Search For asset/product search across potentially large inventories β€” start with PostgreSQL full-text search and add a dedicated engine later, or use something like Meilisearch from the start? > **Answer:** Seems good to start with PostgreSQL full-text search and add a dedicated engine later. ### 5. File Storage Where should uploaded files (photos, manuals, certificates) live? - [ ] Local filesystem (simplest for self-hosted) - [ ] S3-compatible object storage (MinIO for self-hosted, AWS S3 for SaaS) - [x] Support both, configurable per deployment > **Answer:** ### 6. Real-time Updates Should the UI update in real-time (e.g. when another user scans an asset, dashboards update live)? If yes, gRPC server-streaming via ConnectRPC is the natural fit. Do you want this from the start? > **Answer:** Not from the start, but it would be nice to have in the future. ### 7. Background Jobs For tasks like sending emails, generating reports, processing federation messages β€” use Go's built-in concurrency (goroutines + internal queue), or an external broker like NATS or Redis? > **Answer:** I want to deploy this on a Kubernetes cluster, so I would prefer to use an external broker like NATS or Redis. --- ## πŸ“§ Communication & Integration ### 8. Email Integration How should the CRM handle email? - [ ] Just log emails manually (no integration) - [ ] SMTP sending only (send from within EventKit, no inbox) - [x] Full IMAP/SMTP integration (send and receive within EventKit) - [ ] Gmail/Outlook API integration - [ ] Start simple, expand later > **Answer:** SMTP and IMAP integration would be nice to have utilizing features like sub-addressing to route emails to specific projects or clients. ### 9. Marketing Features Should EventKit include any marketing tools (e.g. email campaigns, newsletters), or leave this to dedicated tools like Mailchimp? > **Answer:** Not for now. ### 10. Calendar Sync Should crew schedules and events sync with external calendars? - [x] Google Calendar - [x] Outlook / Exchange - [x] CalDAV (generic) - [x] iCal export only (manual, no live sync) - [ ] Not needed for now > **Answer:** CalDAV and iCal export only would be nice to have. And Google Calendar and Outlook / Exchange integration would be nice to have in the future. --- ## πŸ“± Scanning & Hardware ### 11. Primary Scanning Device What should the primary scanning experience be? - [ ] Phone camera only (lower cost of entry) - [ ] Bluetooth barcode scanner paired to phone/tablet (faster for bulk ops) - [x] Support both β€” phone camera as default, Bluetooth scanner as optional power-user feature - [ ] Dedicated rugged scanner devices > **Answer:** ### 12. Label Printing How should QR labels be produced? - [ ] Generate PDF sheets β€” users print on any label printer (Avery sheets, etc.) - [ ] Direct integration with label printers (Brother QL, DYMO, Zebra) - [x] Both β€” PDF as default, direct printing as optional - [x] Not needed β€” users can print QR codes however they want > **Answer:** Both β€” PDF as default, direct printing as optional. But not needed β€” users can print QR codes however they want. --- ## πŸ”— Federation Details ### 13. Federation Versioning When the federation protocol evolves (new fields, new RPCs) β€” should there be a formal version negotiation during handshake, or rely on Protobuf's built-in backward compat and just document breaking changes? > **Answer:** Rely on Protobuf's built-in backward compat and just document breaking changes. ### 14. Dispute Resolution When Company A returns equipment to Company B and they disagree about condition β€” what should EventKit provide? - [ ] Photo evidence required at dispatch and return (comparison view) - [x] Timestamped condition logs with before/after - [ ] A formal dispute workflow (raise dispute, evidence, resolution) - [x] Just logging β€” disputes handled out-of-band - [ ] Some combination of above: \_\_\_ > **Answer:** Timestamped condition logs with before/after and just logging β€” disputes handled out-of-band. --- ## πŸš› Planning Details ### 15. Transport Planning How advanced should transport logistics be? - [ ] Basic: assign vehicles to events, simple load lists - [x] Intermediate: weight/volume calculations, truck pack lists - [x] Advanced: route optimisation, multi-stop planning, fuel tracking - [x] Start basic, extend later > **Answer:** Intermediate: weight/volume calculations, truck pack lists and advanced: route optimisation, multi-stop planning, fuel tracking. But start basic, extend later. ### 16. Venue Database Should venue data be: - [ ] Local only β€” each instance manages its own venue records - [x] Federated β€” instances can share venue specs across the network - [x] Start local, federate later > **Answer:** Federated β€” instances can share venue specs across the network. But start local, federate later. --- ## 🌍 Localisation & Compliance ### 17. Language Support Should the UI be localised from the start? If so, which languages for MVP? - [ ] English only for MVP - [x] English + German - [x] Full i18n framework from the start, translations added incrementally - [ ] Other: \_\_\_ > **Answer:** Full i18n framework from the start, translations added incrementally. But other: English + German to start of. ### 18. Currency & Tax Which currency and tax regime should be supported first? - [ ] EUR only (Austrian VAT rules) - [ ] EUR + GBP (UK VAT / Austrian VAT) - [x] Configurable from the start (currency, tax rates, tax ID formats) > **Answer:** Configurable from the start (currency, tax rates, tax ID formats). --- ## πŸ’‘ UX & Design ### 19. Design Language Do you have any preferences for the overall look and feel? - [x] Clean and minimal (e.g. Linear, Notion) - [ ] Dashboard-heavy with data density (e.g. Grafana, Datadog) - [x] Modern and colourful (e.g. Figma, Notion) - [ ] Reference app/website for inspiration: \_\_\_ > **Answer:** Designed using shadcn ui components. ### 20. Dark Mode Should dark mode be supported? - [x] Yes, as default - [ ] Yes, as toggle (light default) - [ ] Not needed for MVP > **Answer:** Yes, as default. Eventually, I would like to have a toggle to switch between other color schemes as well (e.g. high contrast mode). --- ## Related Documentation - [[08-OpenQuestions]] β€” Tracks which questions are still open - [[00-DiscoveryQuestions]] β€” Round 1 answers - [[07-TechnicalRequirements]] β€” Decisions already made