Microsoft Power Platform · Solution portfolio

Two business problems,
solved end to end.

A working sales CRM and a construction-site quality-assurance app — designed, built, styled and automated for Nordstern Projektmanagement GmbH on the tools they already own. Both apps are live and interactive on this page.

Power AppsSharePoint ListsPower AutomatePower FxAutomated reportingTeams
Scroll to explore
The brief

What Nordstern needed

Assignment 1

A CRM without a CRM

Manage customers, contacts, opportunities and follow-up activities — without buying a dedicated CRM system, and without a big budget.

  • One shared source of truth for the whole team
  • Nothing slips through the cracks — automatic reminders
  • Works on desktop, on mobile and inside Teams
Assignment 2

Quality assurance on site

A mobile app for site inspections: capture photos of elements, flag whether a defect is present, add remarks — then produce a predefined, structured report.

  • Fast capture that works in a gloved hand
  • Photo · defect Yes/No · comment per element
  • A professional report, generated automatically
The approach

Design decisions — and why

Every tool in this build was chosen deliberately. The guiding principle: solve the business problem with what Nordstern already pays for, and keep a clean upgrade path open.

Data platform

SharePoint Lists, not Dataverse

Both assignments fit comfortably in SharePoint Lists: they are included in Nordstern's Microsoft 365 licences (€0 extra), the data volumes of a project-management firm stay well inside their limits, and every admin already knows them.

  • Lookup columns give real relationships
  • Versioning & recycle bin built in
  • Honest trade-off: at enterprise scale, Dataverse adds row-level security and richer modelling — the design migrates cleanly when that day comes
App model

Power Apps canvas apps

Canvas apps give pixel-level control, so both apps look like products — not like forms. All logic is Power Fx: readable, low-code formulas the team can maintain themselves.

  • Tablet layout for the CRM, phone layout for site QA
  • Full add / edit / delete on every entity
  • Embeds directly as a Teams tab
Automation

Power Automate flows

Reminders and reports are things people forget — so they don't stay with people. Scheduled and on-demand flows run in the tenant, next to the data, on standard connectors.

  • Daily reminder flow — built & tested
  • On-demand PDF report flow — free connectors only
  • No premium licence required for any of it
01
Assignment 1 — CRM

A sales CRM, assembled from Microsoft 365 Live app

Four linked SharePoint lists behind a Power Apps canvas app — a dashboard, a colour-coded pipeline, an activity tracker and a full customer profile, all on data the team owns.

Try it — it's fully interactive
apps.powerapps.com › Nordstern CRM
Nordstern CRM

Switch views in the sidebar · click a customer to open its full profile · advance a deal's stage · tick an activity done — the KPIs recalculate live.

Assignment 1 — Data model

Four lists, properly related

Not four flat tables — a small relational model built with SharePoint lookup, choice, person, currency and date columns. Change a customer once, and every contact, deal and activity follows.

Customers core
Title (company)text
Industrychoice
Citytext
AccountOwnerperson
Statuschoice
Contacts n : 1
Name · Positiontext
Email · Phonetext
Customerlookup ↗
Opportunities n : 1
Titletext
Customerlookup ↗
EstimatedValuecurrency
Stagechoice
ExpectedCloseDatedate
Ownerperson
Activities n : 1
Title · Notestext
ActivityTypechoice
RelatedCustomerlookup ↗
RelatedOpportunitylookup ↗
DueDatedate
Status · AssignedTochoice · person
Contacts n→1 Customers Opportunities n→1 Customers Activities n→1 Customers Activities n→0..1 Opportunities
Assignment 1 — The app, screen by screen

Six screens, one workflow

Screen 1

Dashboard

KPI cards — customers, open deals, pipeline value, activities due today — plus recent opportunities and upcoming follow-ups. The morning briefing on one screen.

CountRows(Filter(Activities, Status.Value="Open", DueDate<=Today()))
Screen 2

Customers

Every account with city, industry, owner and a colour-coded status pill, under proper column headers. One tap opens the full profile.

Set(gblCust, galCustomersList.Selected); Navigate(scrCustDetail)
Screen 3

Customer profile 360° view

The account's home: key facts, every contact with email and phone, all opportunities with stage and value, and the activity history — filtered live by lookup.

Filter(Contacts, Customer.Value = gblCust.Title)
Screen 4

Opportunities

The pipeline, colour-coded by stage from Lead to Won, with values in proper German currency format and totals that recalculate as deals move.

Switch(ThisItem.Stage.Value, "Won", green, "Proposal", orange, …)
Screen 5

Activities

Follow-ups by due date with overdue highlighting — the answer to "what do I owe whom today?" Every item links back to its customer and deal.

Filter(Activities, RelatedCustomer.Value = gblCust.Title)
Screen 6

Edit forms

Create, update and delete for every entity through Power Apps forms — validation, choice dropdowns and people pickers included. No list-fiddling in SharePoint needed.

SubmitForm(frmCust) → OnSuccess: Back()
Assignment 1 — Automation

What runs by itself Built & tested

Flow 1 · scheduled daily

Follow-up reminders

Every morning at 08:00, Power Automate reads the Activities list, picks every open item due today or overdue, and emails the assigned owner. Nothing slips.

Recurrence (daily 08:00) └ Get items: Activities filter: Status eq 'Open' and DueDate le today() └ For each → Send email to the activity's AssignedTo

Tested — reminder emails delivered ✓

Designed next

The alerting layer

The same pattern extends without new licences:

  • Won-deal alert — a deal moves to Won → instant notification to the manager
  • New-customer welcome task — auto-create a first follow-up activity
  • Stale-deal watch — proposal untouched for 14 days → nudge the owner
  • Weekly digest — Monday pipeline summary to the team
CRM solution architecture

The full architecture — presentation, data, automation and reporting layers, end to end.

02
Assignment 2 — Construction QA

A field inspection app for the site Live app

Phone-first capture — a photo, a defect flag and a comment per element — feeding a structured report. Add an inspection below and watch the dashboard update.

Try it — add a real inspection
Site QA
Quality inspection dashboard

Tabs at the bottom · filter by status · tap "+ New" to log an inspection — it saves to the list and the stats.

Assignment 2 — The report

From site to structured report

1
Capture onceThe inspector records the element, photo, defect status and comment in the app — three taps per element.
2
SharePoint stores itEvery inspection lands in the Inspections list — filterable by project, inspector, date and defect status.
3
Power Automate builds the reportOn demand, a flow collects the project's records, computes the defect summary and assembles the full report — nobody re-types anything.
4
DeliveredSaved to SharePoint / OneDrive and emailed as a PDF, or posted to the project's Teams channel.
Path A · standard licences

HTML → PDF Free connectors

The flow renders a styled HTML report — project details, defect summary with counts, one block per element — then converts it to PDF via OneDrive and emails it. Runs on any Microsoft 365 tenant, no premium licence.

Path B · premium connector

Word template Photos embedded

A delivered Word template with content controls and a repeating section — one block per inspected element, including the captured photo in a picture control. The "Populate a Word template" action fills it and converts to PDF. Same flow, richer output.

Both report formats are in the deliverables: a 12-finding Word report template and an interactive HTML report generated from the same live data.

QA solution flow

Capture is entered once and flows straight into the report — no re-typing, no lost photos.

Trust

Governed, secure, ready to scale

Access

Who sees what

  • Everything stays inside the Nordstern tenant — no third-party services touch the data
  • SharePoint permissions govern the lists; the apps are shared per security group
  • Sign-in is the existing Microsoft 365 account — MFA and conditional access apply automatically
Data protection

Nothing gets lost

  • Version history on every list — every change traceable to a person and a time
  • Recycle bin & retention policies cover accidental deletes
  • Photos and reports live in SharePoint document storage with the same protection
Scale path

Grows with Nordstern

  • More projects = more list items — no redesign needed
  • Delegation-aware Power Fx keeps the apps fast as data grows
  • When volume or security demands it: migrate lists to Dataverse — the apps and flows carry over
Outcomes

What was delivered

2
working apps, built & published in the tenant
5
SharePoint lists with live sample data
9
app screens with full add / edit / delete
€0
extra licence cost
2 solution decks (PPTX)2 architecture diagramsSolution rationaleClick-by-click build packsPowerShell provisioning scriptSample data — Excel + JSONWord report template (12 findings)Interactive HTML reportDemo scriptThis interactive portfolio

Everything above exists as a file or a running app — not a concept. The two apps you used on this page mirror the real Power Apps builds running against live SharePoint data.

Looking ahead

The first 90 days, if Nordstern says yes

1
Weeks 1–2 · Harden & hand overSecurity groups per team, delegation and error-handling review, admin documentation, onboarding session for the sales and site teams.
2
Weeks 3–6 · ExtendWon-deal alerts and the weekly pipeline digest, Teams tab rollout, premium Word reports with embedded photos, offline capture for the QA app.
3
Weeks 7–12 · ScalePower BI dashboards on both datasets, rollout to further construction sites, environment & DLP governance, Dataverse migration assessment.
Thank you

Ready to build
the real thing.

Two solutions, designed and automated on the Microsoft Power Platform — and built to grow with Nordstern Projektmanagement GmbH.

Portfolio demo · fictional company & data · harispaartan.github.io