Built to Learn: The Dual-Perspective Accounting Simulator v1.0

I'm coming up from air in the middle of my MBA program to release one of the apps I built and blogged about earlier.
What I'm releasing today — the Dual-Perspective Accounting Simulator v1.0 — is live, it's free, and it's built on one central conviction: the gap between financial accounting and managerial accounting is a blind spot in need of a bridge.
So I built one.
The Gap Nobody Names
Here's what I discovered during my own self-study prior to my program. In your financial accounting course, you learn that when a company prepays a year of insurance, you don't record an expense. You record an asset — prepaid insurance — and then you systematically expense it month by month. This is GAAP. This is the matching principle. This is the auditor's world, and it's clean and rule-based and satisfying.
In your managerial accounting course, the exact same cash outflow shows up in a completely different frame. The question isn't "how do we record this?" It's "what does this do to our operating runway?" That prepaid policy might be a smart bulk discount or it might be a liquidity strain that leaves you short for payroll next week. Same event. Entirely different question. And the two courses rarely stop to say: by the way, these are two ways of looking at the same check your company just wrote.
I came to the MBA from IT. In engineering, when two systems describe the same reality using different languages, you (try to) build an interface between them.
What the Simulator Actually Does
The concept is simple. The app generates a randomized business scenario — say, your company offers a customer a 2% early-payment discount on a $15,000 invoice — and asks you two questions:
First, the Auditor's Question: What does GAAP say? What's the journal entry? Which account moves, and in which direction?
Second, the CFO's Question: Which managerial lens does this fit under? What's the cash timing? What's the common misconception that makes even smart managers get this wrong?
That's the whole loop. Generate, guess, reveal, repeat.
But the reveal is where the learning happens. On one side of the screen, you get the Auditor's View: a clean two-column journal entry table (debits in teal, credits in coral), the net income impact today versus later, and a plain-language summary of the GAAP logic. On the other side, the CFO's View: the lens classification (is this a cash-vs-accrual timing issue? an incremental analysis problem?), the relevant metric, the cash flow reality, and — this is the part I'm proudest of — a specific misconception note that names the exact wrong reasoning that feels intuitive.
The misconception notes matter because most accounting mistakes aren't random. They're predictable. You expense the whole prepaid policy upfront because "we paid the cash, so it's an expense, right?" You record a journal entry for a special order before the ink is dry because "we're probably going to accept it." These aren't sloppy errors. They're coherent mental models that are wrong in a specific, diagnosable way. The simulator names them.
What's Under the Hood
The app runs 14 scenarios across four managerial lenses:
- Cash vs. Accrual Timing — prepaid insurance, depreciation, credit sales, unearned revenue, accrued wages, multi-period subscriptions
- Working Capital & Liquidity — inventory purchases on credit, early payment discounts
- Incremental Analysis — bad debt estimates, special order decisions, make-vs-buy decisions
- Cost Behavior — R&D as sunk cost, automation tradeoffs, production volume increases
Every scenario randomizes amounts, durations, and terms. You can't memorize the answers. You have to internalize the logic.
Some scenarios are transactions — the event already happened, the books need updating. Others are decisions — management is still evaluating, and the correct answer is literally "no journal entry yet." Accounting records what has happened, not what might happen. That distinction alone catches almost every first-time user at least once, and it's one of the quietest, most valuable lessons in the whole app.
The sidebar tracks your session: attempted scenarios, financial accuracy (do you know your debits and credits?), lens accuracy (can you map events to the right managerial frame?), perfect answers, and your current streak. There's a subtle fire icon when you're on a streak, because sometimes the right incentive is just a small emoji reminding you to slow down.
The Thing I'd Tell a Fellow MBA Student
If you're in the thick of an accounting core right now, here's the honest pitch: this simulator will not replace your textbook. It will not teach you the conceptual framework from scratch. What it will do — what it's designed to do — is surface the places where your understanding is superficial.
You think you understand prepaid expenses until the simulator randomly generates a multi-period subscription with a mid-quarter start date and asks you to split it correctly. You think you understand make-vs-buy decisions until the numbers shift and the "obvious" answer suddenly isn't. The app is a gap detector, and the gaps it finds are usually the ones that matter.
If you're a professor, I'm not sure if this is classroom-ready, but I hope it is, or it can be. I'll know when I'm deeper in the woods of my own accounting journey. Nevertheless, every scenario is deterministic if you freeze the seed, which means you can project it during a lecture and walk through the dual-perspective analysis with a room full of students.
Note: the instructor mode (deterministic seeds for demos) isn't in the sidebar yet, but it's on the roadmap — and the engine already supports it.
If you're here because you're curious about what someone with an IT background does in an MBA program: this is the answer. I find gaps between systems and I build bridges across them. Sometimes those bridges are Python apps.
How to Try It
No signup. No install. No data collection.
The live app is at accounting-learning-sim-karamelbytes.streamlit.app. Open it, click "Generate New Scenario," and see how many you can get right in a row.
If you want to run it locally, the repo is at github.com/KaramelBytes/accounting-learning-sim. Clone it, pip install -r requirements.txt, streamlit run app.py, and you're running.
The code is open. If you find a scenario that doesn't feel right or you want to contribute one, feel free to ping me with suggestions. The engine makes adding scenarios straightforward — one method, one registration line, and you're in.
Closing the Loop
I started this project before I knew enough accounting to know if I was building it correctly. That first version was raw. The second version — after I tore it down and rebuilt it — was a learning tool that actually learned alongside me. This version, v1.0, is the one I'm okay enough to put in front of other people.
Give it a try. See if you can get a perfect streak.
Live App: accounting-learning-sim-karamelbytes.streamlit.app
Source: github.com/KaramelBytes/accounting-learning-sim