Hi, I'm Marcy

I make your business easier to run.

I build data and automation systems that help businesses save time, reduce manual work, and get answers they can trust.
Expert in DATA • AUTOMATION • AI

01 • DATA

Ask Your Business Data

Ask Your Data. Get Business Answers.
An AI assistant that answers questions using your business data, so you spend less time searching through dashboards and more time making decisions.

Video

02 • AUTOMATION

MEETING TO ACTION

Turn Meetings Into Clear Next Steps.
An automation that turns meeting notes into tasks, deadlines, and follow-ups, so nothing gets missed and less time is spent organizing work.

03 • AI

COMPETITOR MONITORING

Monitor multiple competitors in one place and automatically track changes in their prices, products, offers, or content, without checking every website yourself.

LET’S WORK TOGETHER

Let’s make your business easier to run.

I can help you simplify it, automate it, and build a system that works better.


DATA

Ask your data. Get business answers.

An AI assistant that answers questions using your real business data, so you spend less time searching through dashboards and more time deciding.


The problem

Your data lives in five different places

If you run an online store, your data is split across your orders system, inventory tool, shipping carrier, refunds, and customer list. To answer one simple question, you end up opening four tabs and doing the math yourself.

The real cost is timing. A product runs out of stock, a carrier starts running late, a return rate spikes, and none of it shows up until a customer complains or the money is already lost.

The outcome

One screen. Two ways to read it.

A dashboard shows what's happening right now: revenue at risk, orders stuck on inventory, late shipments, affected customers, and any unusual return pattern. An AI assistant sits right next to it, and you can ask it in plain English.

You: Why is revenue at risk this week?

Assistant: $5,481 across 15 orders is currently at risk. The cause is a stockout on the Aurora Headphones, orders keep coming in but the product hit zero stock and was never restocked. I'd prioritize resolving that inventory gap first.

The solution

One trusted layer, read by both

All your data gets pulled into one place and cleaned automatically. On top of it sits a small set of trusted, pre-agreed definitions, one clear meaning each for "Revenue," "Refund Rate," "Orders at Risk," so no two tools calculate them differently.

The dashboard and the AI assistant both read from those same definitions. Nothing gets calculated twice, in two different ways, by two different tools.

Why this, not a chatbot bolted on

The AI isn't allowed to improvise

Most AI-on-your-data tools let the AI invent its own logic on the spot, deciding in real time what "revenue" or "at risk" means. That's how you end up with an assistant that gives you a different number than your dashboard, and now you trust neither.

This system only lets the AI choose from definitions decided once and documented in advance, the same way an accountant works from a fixed chart of accounts instead of making up a number each time. If a question is genuinely ambiguous, it asks you to clarify instead of guessing.

What it's worth to you

Caught early, not found by accident

This project uses simulated store data to prove the mechanism end to end, but the scenario is a common one. In the demo, the system catches $5,481 in stuck revenue from a single stockout, a late-shipping pattern with one carrier, and a return-rate spike on one product, all flagged automatically.

The value isn't the specific dollar figure. It's what it replaces: the hours spent manually cross-checking spreadsheets, and the revenue recovered simply because a problem was caught a week earlier instead of a month later.

Why work with me on this

Built end to end, tested properly

I built this system myself end to end: the data pipeline, the trusted metrics layer, the dashboard, and the AI assistant. I tested it too, with automated checks confirming every number is correct and live tests confirming the AI gives grounded, consistent answers.

That's the standard I bring to a real business's data: numbers defined once, verified, and something you can actually make a decision from.

M

Want this for your business?

Let's talk about what your data looks like right now, and what it could look like on one screen.

Email me
Marcy Impact — Data, Automation & AI
document.documentElement.classList.add('js'); var steps = Array.prototype.slice.call(document.querySelectorAll('.step')); if ('IntersectionObserver' in window) { var io = new IntersectionObserver(function(entries){ entries.forEach(function(e){ if (e.isIntersecting) e.target.classList.add('in-view'); }); }, { threshold: 0.22, rootMargin: '0px 0px -8% 0px' }); steps.forEach(function(s){ io.observe(s); }); } else { steps.forEach(function(s){ s.classList.add('in-view'); }); } var timeline = document.querySelector('.timeline'); var fill = document.querySelector('.timeline-fill'); var ticking = false; function updateFill(){ var rect = timeline.getBoundingClientRect(); var vh = window.innerHeight;
AUTOMATION

Say it once. Never lose it again.

This tool finds the important decisions and facts in your meetings, checks that they are true, and saves them where your team can find them later.

Company knowledge base in Notion

Where it lands — Notion

The automation workflow in n8n

How it runs — the workflow


The problem

What gets said out loud gets lost

Important things get said in meetings. Decisions, client requests, lessons learned. But they only live in a transcript nobody opens again. Weeks later, the team argues about something already decided, or forgets what a client asked for.

The information was there. It just got lost.

?

The outcome

Two clear lists, not one big mess

Paste in a meeting transcript. The tool finds the important parts: decisions, client facts, lessons learned. Clear decisions get saved as company knowledge. Anything unsure goes to a review list instead. Nothing becomes fact until a person checks it.

Company Knowledge: Contracts must be signed before the first invoice.

Needs Review: A new pricing idea was mentioned, not decided yet.

The solution

Checked twice before it is trusted

The tool does not just trust the AI. Every fact is checked against the real meeting text. If the exact words are not found, it moves to the review list instead.

Nothing gets overwritten. Every entry is new. Running the same meeting twice will not erase anything already saved.

Why this, not just an AI summary

Not just another meeting summary

Most AI tools just give you a shorter summary. Nobody reads that either. It does not help weeks later when you need to know what was actually decided.

This pulls out single facts instead of a paragraph. Guesses stay separate from decisions. So "maybe we raise prices" can never turn into "we decided to raise prices" by mistake.

What it's worth to you

Found in a minute, not three weeks later

In the demo, one 18 minute meeting created four confirmed facts and flagged four more for review. Each one saved where people would actually look for it.

The real value is what it replaces: no more arguing about a decision already made, no more missing a client detail because it only lived in someone's memory.

Why it can be trusted

Built to handle mistakes too

This system covers every step: finding the facts, checking them, sending them to the right place, and blocking duplicate meetings so the same one never gets processed twice. It also fails safely. If something goes wrong, nothing gets saved. The error gets logged instead of breaking your records.

That is the standard for a real business tool: not just AI connected to a form, but a system that is honest about what it knows and what still needs a person.

M

Want this for your meetings?

Get in touch to talk about what's being said in your meetings, and where it should actually end up.

Email me
Marcy Impact — Data, Automation & AI
document.documentElement.classList.add('js'); var steps = Array.prototype.slice.call(document.querySelectorAll('.step')); if ('IntersectionObserver' in window) { var io = new IntersectionObserver(function(entries){ entries.forEach(function(e){ if (e.isIntersecting) e.target.classList.add('in-view'); }); }, { threshold: 0.22, rootMargin: '0px 0px -8% 0px' }); steps.forEach(function(s){ io.observe(s); }); } else { steps.forEach(function(s){ s.classList.add('in-view'); }); }
INTELLIGENCE

Catch the price drop. Skip the lost sale.

Competitor prices and stock get scraped every day, cleaned, and stored. Ask it a question and it answers only from that stored data, never invented.


The problem

Competitors move first. You find out last.

Checking three competitor sites by hand every day does not scale, so it usually does not happen. A price cut or a stockout goes unnoticed until it already shows up as a lost sale.

The outcome

Competitors, scraped daily. One screen to check.

Three competitor sites get scraped automatically every day. The dashboard turns that into a color-coded summary, most urgent first: what changed, who's cheaper, who's out of stock.

Price Drop Alert — Nike Pegasus 41: Competitor X reduced its price by 15.5%.

Your price: $135. Competitor price: $109. Difference: $26.

The solution

Scraped, cleaned, and stored, not just collected.

Every scrape is checked before it counts: a missing price, a broken value like "SALE!", a missing stock label, or a duplicate reading gets set aside, not used in a comparison.

What passes gets stored day by day, so today's price always has yesterday's to compare against, not just a single snapshot.

Why this, not just asking AI to check prices

The AI only speaks about your data. Nothing else.

Ask AI is not a general chatbot. It answers only from the prices and stock actually scraped and stored here, and it is told never to invent a number.

Every percentage and threshold is computed by fixed rules first. AI only explains what the rules already found. It still works with zero AI turned on at all.

What it's worth to you

The moment a competitor moves, not the week after.

A 15.5% price cut, caught the same day. Three competitors out of stock while 120 units still sit on the shelf, surfaced as an opportunity instead of missed. 38 products, 3 competitors, checked daily with nobody opening a browser tab.

Why work with me on this

Built to fail safely, not just to work.

Built end to end: scraper, data cleaning, historical storage, and the rules that rank it all. Nothing writes a price on its own, and bad data gets flagged, never trusted quietly.

M

Want this watching your competitors?

Let's talk about which competitors you're already checking by hand, and what it would take to have this system do it instead.

Email me
Marcy Impact — Data, Automation & AI
document.documentElement.classList.add('js'); var steps = Array.prototype.slice.call(document.querySelectorAll('.step')); if ('IntersectionObserver' in window) { var io = new IntersectionObserver(function(entries){ entries.forEach(function(e){ if (e.isIntersecting) e.target.classList.add('in-view'); }); }, { threshold: 0.22, rootMargin: '0px 0px -8% 0px' }); steps.forEach(function(s){ io.observe(s); }); } else { steps.forEach(function(s){ s.classList.add('in-view'); }); } var timeline = document.querySelector('.timeline'); var fill = document.querySelector('.timeline-fill'); var ticking = false; function updateFill(){ var rect = timeline.getBoundingClientRect(); var vh = window.innerHeight; var progress = (vh - rect.top) / (rect.height + vh); progress = Math.max(0, Math.min(1, progress)); fill.style.height = (progress * 100) + '%'; ticking = fals