Microsoft certification badges banner
Headshot of Michael Korting

Blog

Microsoft 365 • Power Platform • Automation

Building a Data‑Driven Vinyl Collection App with Power Apps

A real-world case study in designing a multi-screen, analytics-driven Power App using SharePoint and Power Automate.

Why this project mattered

Not every Power Platform solution needs to start as an enterprise requirement. Some of the best learning and most practical patterns come from building something personal and evolving it over time.

In this case, I built a Power Apps canvas app to manage and explore my vinyl record collection. What started as a simple inventory quickly grew into a structured, data-driven application with filtering, analytics, and automation. The result is a solution that mirrors many real-world business patterns—just applied to something far more fun.

The core architecture

  • Power Apps (Canvas App) → User interface and interaction layer
  • SharePoint List → Structured data storage
  • Power Automate → Data enrichment and logic augmentation

This architecture balances simplicity with extensibility. The list provides structure, the app delivers UX, and automation fills functional gaps.

Data model design (SharePoint List)

  • Title – Album name
  • Artist – Performer or group
  • Category – Genre classification
  • Decade Released – Aggregation and visualization grouping
  • Release Date – Canonical date reference
  • Cost to Replace – Investment tracking
  • Picture – Album artwork
  • RandSearch – Sequence-based lookup for randomization

The design enables filtering, grouping, and visualization without requiring additional data transformation layers.

Screen design and user experience

Home screen (search + browse)

The home screen uses a gallery that supports flexible substring search across both artist and album name fields. This allows users to find records using partial input rather than requiring exact matches.

SortByColumns(
    Filter(
        VinylCollection,
        txtSearch.Text in Artist ||
        txtSearch.Text in Title
    ),
    "Artist"
)

This approach improves usability significantly, especially as collections grow and exact naming becomes less predictable.

While prefix-based searches (such as StartsWith) can perform better against very large datasets, using the in operator enables a more natural and user-friendly search experience. For moderate-sized datasets, this tradeoff favors usability over strict query performance.

Category screen (aggregation + filtering)

  • Total album count
  • Counts by genre
  • Filterable gallery using dropdown selection
  • Pie chart visualization by decade

This transforms the app from a static list into a lightweight analytics experience.

Random selection screen (interactive logic)

  • Calculate total record count
  • Generate a random number within range
  • Map to sequence-based field (RandSearch)
  • Return selected album

This feature introduces dynamic interaction and demonstrates how simple datasets can be enhanced with logic-driven experiences.

Investment screen (portfolio-style analytics)

  • Total record count
  • Aggregate replacement value
  • Visual breakdown of value by decade
  • Average cost per album

This mirrors real-world reporting scenarios commonly seen in asset or inventory management solutions.

Using Power Automate to extend functionality

SharePoint lists do not natively support reliable sequence generation for random lookup scenarios.

To address this, a Power Automate flow populates a sequence-based field used for random selection. This ensures stability and consistency when mapping generated values back to list items.

This pattern highlights how Power Automate can act as a lightweight data processing layer—not just a workflow engine.

Key patterns you can reuse

  • Searchable gallery pattern – Use Filter + in operator for flexible substring search
  • Choice-based categorization – Drive filtering and grouping logic
  • Data enrichment via automation – Extend SharePoint beyond native capabilities
  • Randomized selection pattern – Add dynamic user interaction
  • Embedded analytics in-app – Deliver insights directly within the experience

Lessons learned

  • Strong data design is the foundation of every successful app
  • Usability often outweighs minor performance tradeoffs
  • Power Automate can fill critical functional gaps in low-code solutions
  • Personal projects often mirror enterprise architecture patterns

Closing thoughts

This project demonstrates how quickly a simple use case can evolve into a robust application when built on the Power Platform.

The same design patterns used here—structured data, dynamic filtering, automation, and embedded analytics—apply directly to enterprise scenarios, making projects like this valuable both personally and professionally.

References