Problems & solutions · Internal Tools

Course Catalog and Curriculum Approval Software Problems: The 6 That Cause Graduation Appeals, and How to Avoid Them

Course Catalog AND Curriculum Approval Software workflow illustration showing common problems and fixes.
The short answer

The most expensive failure in curriculum software is allowing one approved committee motion to be interpreted twice, once by whoever publishes the catalog and once by whoever scribes the degree audit rule. Nobody does anything wrong. The proposal passes, the catalog is published, and a second person enters the change into the audit from an email summary, applying it to all students rather than to the incoming catalog year. Two years later a student who followed her advisor's plan and the catalog page she printed is denied graduation. That single divergence produces appeals, financial aid eligibility questions when a program's credit total moved but the aid setup did not, and an accreditation visit where the approved program and the delivered program are not the same thing.

Why does approval routing never survive contact with the bylaws?

A new course in arts and sciences goes to the department, the college curriculum committee, then the general education committee only if it carries a general education attribute, then the senate curriculum committee, then senate, then the provost. A new degree program adds the board, your state coordinating board, and a substantive change notification to your accreditor. A course number change below 500 skips three of those steps. A cross listed course needs both departments and neither wants to be the owner of record.

Curriculog and Kuali both support configurable workflows honestly. The wall institutions hit is that the routing depends on the content of a proposal rather than its type, that quorum and voting rules mirror senate bylaws which are amended on their own schedule, and that a workflow configured once against last year's bylaws stops matching how the committee actually votes. Once it stops matching, faculty go back to email, and the tool becomes a record of what happened elsewhere.

The design that survives expresses routing as rules over the proposal's own attributes. Carries a general education attribute, therefore add that committee. Increases program credits past the threshold, therefore add the state packet step. Crosses colleges, therefore require both deans. Voting is modelled properly with quorum, abstentions and recorded dissent, and a proposal can be returned to a specific step rather than to the start, which is the feature faculty ask for most and the one most tools handle worst.

What goes wrong when catalog years and legacy curriculum data migrate?

Curriculum migrations fail on a single conceptual error: treating the catalog year as a label on a record rather than as a version of it. The legacy data usually arrives that way, because the incumbent system let people edit in place and nobody kept the prior state.

The practical consequences appear immediately. There is no reliable answer to what a program required in a given year, so the migration has to reconstruct history from published catalog PDFs, which is genuine archaeology and takes weeks. Requirements that were corrected mid year exist only in their corrected form, so students who enrolled under the original wording have no record supporting the plan their advisor built. Courses that were retired and reused under the same number in a later year collapse into one record and silently merge two different courses.

The only workable approach is to import each published catalog year as its own immutable version with effective terms, accepting that older years will be less complete than recent ones and recording that gap honestly rather than smoothing it. Then reconcile a sample of active students against their own catalog year and see whether the requirements the audit enforces match the version they enrolled under. Every institution that runs this check finds cases. Finding them during migration is far cheaper than finding them in an appeal.

Why do student information system and degree audit integrations break after launch?

Because the two write paths are different problems and most projects budget for one. Writing a course master record in Banner, Colleague, PeopleSoft Campus Solutions or Workday Student is bounded work with a governance conversation attached that is usually longer than the engineering. Generating a degree audit rule is not bounded in the same way, because scribe syntax is unforgiving, a rule expresses intent rather than data, and the same senate motion can be scribed several defensible ways.

What breaks after launch is the silent write. A change is pushed, something is rejected or partially applied, and nobody reads the log because the proposal shows as approved. The catalog is right, the system is wrong, and the divergence is discovered by a student.

Design the write as a reviewed diff rather than a sync. The system proposes the exact course master change, the exact prerequisite expression and the exact audit rule, a human approves the diff, it writes, and it reads back to confirm what actually landed. Anything that fails goes to a visible queue with an owner. The single highest value upstream fix is a structured prerequisite editor in the proposal form, so faculty pick courses, operators, concurrency and minimum grade conditions instead of typing a sentence that somebody else must translate. That one change removes the largest source of translation error in the whole category.

What happens when impact analysis and state reporting are not covered?

A department wants to retire a course. It is a prerequisite for four courses in two other colleges, a required course in three programs, an approved elective in eleven, part of a general education category, named in two articulation agreements with community colleges, and referenced in a state approved program description. The person retiring it knows about one of those.

Text search in a catalog tool finds mentions in prose. It does not find the audit rule that references the course inside a scribe block, and it certainly does not find an articulation agreement sitting as a PDF on the transfer office's drive. So the retirement passes, and the damage surfaces in registration when students cannot enrol in something they need.

Model the curriculum as a graph and make impact analysis a required step before a proposal can advance, with automatic notification to every owning department and a comment window. This turns a category of political ambush into a procedural step, and provosts value it more than any other single feature because it stops curriculum fights from reaching their office. State coordinating board packets are the other common omission: they have their own formats and their own deadlines, and building them late means assembling them by hand for at least one cycle.

Should you build custom or configure what you already own?

If you are under roughly 2,500 students with a stable curriculum, one or two approval bodies and straightforward rules, buy. Acalog with Curriculog or Coursedog will serve you, and building would be an expensive way to get a worse catalog website. CourseLeaf is a serious product and if your governance genuinely fits its model, use it and put the money into documenting your bylaws instead.

Here is the uncomfortable part of the buy case. The catalog website is the least valuable thing in this category and it is what vendors demonstrate. Before you scope anything, run a small audit: take twenty program requirements, compare the published catalog against what the degree audit actually enforces, and count the differences. If the answer is zero, your process works and you need a publishing tool. If the answer is four, no publishing tool will fix it, because the problem is downstream of publication.

Build when your routing depends on proposal content rather than type, when you have documented drift and are handling appeals because of it, when you need generated audit rules rather than a second person interpreting the same motion, when a system office adds its own approval layer, or when faculty have routed around the official form to the point that changes enter the student information system without passing through governance. That last one is a compliance problem wearing a usability costume.

How do hidden costs get into the quote?

In our delivery experience a focused first release with a conditional proposal form, rule based routing that matches your bylaws with real voting, immutable catalog year versioning and a validated write into the course master runs $65,000 to $140,000 and ships in 12 to 16 weeks. A full platform adding degree audit rule generation, structured prerequisites, impact analysis across the curriculum graph, state program packets, articulation tracking and public catalog publishing runs $160,000 to $350,000 phased over 6 to 12 months.

Three things reliably push a quote past its band. Approval bodies, because five bodies with content dependent routing is far more than five times one body, and the discovery work of writing down what your bylaws actually say is usually the longest part of the project. Write access to the student information system, where the integration governance conversation with your database administrators and security team is calendar time nobody controls and it sits on the critical path.

And degree audit generation, because scribe syntax takes real iteration and the first three rules teach you what the next hundred need. Ask for these as separate line items. Also ask what happens to proposals that are in flight at go live: institutions that plan to launch mid cycle and finish existing proposals in the old process do fine, and institutions that try to migrate live proposals lose weeks.

What separates a build that works from one that fails here?

Ask them to explain how a course change becomes a degree audit rule. A developer who has done this will talk about prerequisite expression trees, scribe block generation, effective terms and a human approved diff. A developer who says they will sync it through an interface has not looked at what an audit rule actually is and will discover it three months in, at your expense.

Ask how they will handle a mid year correction to a published catalog. If the answer involves editing the record, they do not understand that the catalog is a contract with students, and you will permanently lose the ability to answer what it said on the day someone enrolled. The correct answer is a new version with a documented reason and the prior version still queryable.

Ask what write access they need and how they intend to get it approved. The right answer starts with your database administrators and integration governance team and includes staged validation, not a claim of experience with your platform. A developer who has done this raises the politics before you do.

Ask how the proposal form behaves for a title correction. If it shows ninety fields, faculty will route around it and your governance problem returns wearing a new interface. Then settle ownership of the code and the curriculum data in writing before kickoff. At Digital Heroes the client owns the code from the first commit. Curriculum history is legally significant to every student who has ever enrolled and should never sit in an account you cannot reach.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. SaaS spend averaged $4,830 per employee (up 21.9% year over year), with large enterprises (10,000+ employees) spending roughly $284M annually and running about 660 apps, while organizations wasted an average of $21M annually on unused licenses. Source: Zylo (2025) →
  2. The median annual wage for U.S. software developers was $133,080 in May 2024, and employment is projected to grow 15% from 2024 to 2034 - a core input to any in-house build-vs-buy TCO model. Source: U.S. Bureau of Labor Statistics (2024) →
  3. Retailers connecting point-of-sale and loyalty data in an omnichannel strategy reported up to 15% lower cost per purchase and nearly 20% higher incremental store revenue. Source: Deloitte (2024) →
  4. Senior executives report the highest average compensation among developer roles (e.g., $225K median in the US), and reported salary bands shifted downward year-over-year ($60-75K vs. $70-85K in 2023), underscoring how compensation varies sharply by role and location. Source: Stack Overflow (2024) →
Aryan G. · Shopify Engineer · Delhi

Aryan builds and maintains Shopify stores at Digital Heroes, handling theme changes, product and collection setup, app configuration and the steady stream of small fixes a live store generates. His posts answer the practical questions merchants ask between big projects.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

A student is appealing on the basis of her catalog year. How do we prove what the catalog said?
Only immutable versioning answers that question quickly. If curriculum records carry effective terms and corrections create new versions rather than editing existing ones, the requirement in force on her enrolment date is a query. If the record was edited in place, you are reconstructing from published PDFs and advisor notes, which is why these appeals take weeks and why the institution usually concedes. Advisors should also be able to view any student's requirements under that student's own catalog year.
Our senate amends its bylaws regularly. Will routing need a code change every time?
It should not. Express routing as rules over the proposal's own attributes rather than as a fixed workflow per proposal type, and let a designated administrator edit those rules with an effective date. Quorum, abstention and recorded dissent belong in the voting model rather than in a comment field. The test to apply during evaluation is simple: ask how the system would handle adding one conditional committee step, and see whether the answer involves a release.
Faculty edit courses directly in the student information system. How do we stop that without a fight?
Make the sanctioned path faster than the unsanctioned one, then close the door. A title correction that shows four fields instead of ninety removes most of the motive, and returning a proposal to a specific step rather than to the start removes most of the resentment. Once the form is genuinely usable, restricting direct course master edits is a policy conversation rather than a confrontation. Doing it in the other order is what makes the conversation hostile.
Why is write access to the course master harder than the engineering?
Because the engineering is bounded and the approval is not. Writing to the course master means a conversation with your database administrators, your security team and whoever owns integration governance, each of whom has their own queue and their own risk position. The work itself is routine and the approval routinely takes weeks. Start it in week one, plan staged validation in a test environment, and treat it as a dependency on the critical path rather than a task.
Can prerequisites really be entered as structure rather than free text?
Yes, and it is the single highest value change in the proposal form. Faculty pick courses, boolean operators, concurrency and minimum grade conditions rather than typing a sentence that a registrar and an audit scribe must each interpret. Free text prerequisites are the largest source of translation error in this category, and they are the reason two people acting reasonably produce two different enforced rules from one approved motion.
We are mid year and found a prerequisite error in the published catalog. What is the correct fix?
Create a new version with a documented reason and an effective term, and leave the prior version queryable. Editing the current record makes the catalog page disagree with what students were told when they enrolled, with no record of what it used to say, which is exactly the situation that loses appeals. Then decide explicitly which cohorts the correction applies to, because that decision is a governance question rather than a data entry one.
How do we find every place a retiring course is referenced?
Model the curriculum as a graph and make impact analysis a required step before a proposal advances, covering programs, requirements, prerequisite chains, general education categories and articulation agreements. Text search finds mentions in catalog prose and misses the audit rule inside a scribe block and the articulation agreement held as a PDF elsewhere. Notify the owning departments automatically with a comment window, which converts a political ambush into a procedural step.
Should new degree program proposals be in phase one?
Usually not. Course level changes are the overwhelming majority of volume and they teach the entire pattern, so building them first keeps the first release affordable and gets the system into daily use inside a semester. New program proposals need the fullest instrument plus board approval, state coordinating board packets in their own formats and accreditor notification, and each of those is a document shape rather than a feature. Phase two is the right home for them.
Who owns the code when an agency builds our internal tool?
You should, outright, with full IP transfer in the contract and the code delivered to a repository you control, such as your own GitHub organization. Digital Heroes transfers complete ownership on final payment as standard practice, and any agency that keeps the code or licenses it back to you is building a dependency you will pay for later. Confirm you also own the hosting, domain, and database accounts, since many of the vendor disputes Digital Heroes gets called into involve infrastructure registered under the agency's name.
Should we build our internal tool in Retool instead of hiring developers?
Retool is the right choice if someone on your team is comfortable with SQL and JavaScript and the audience is a handful of technical users, because a basic CRUD dashboard comes together in days. Hire developers when non-technical staff will use the tool daily, when the logic goes beyond forms sitting on a database, or when per-seat pricing stings, since Retool's Business tier lists at $50 per standard user per month. A pattern Digital Heroes sees often: companies arrive after a year on Retool with a tool nobody can maintain because the one person who built it has left.
At what point does Retool cost more than building a custom tool?
The crossover usually lands between 25 and 50 daily users. At Retool's published Business rates of $50 per standard user and $15 per end user monthly, a 40-person deployment with a typical seat mix runs roughly $9,000 to $15,000 per year, every year, while a comparable custom tool built once for $20,000 to $30,000 carries no per-seat fees and costs about 15 to 20 percent of the build price annually to maintain. On a three-year horizon, custom comes out ahead for most growing teams in Digital Heroes engagements.
Should I hire a freelancer or an agency for my software project?
A skilled freelancer is the right call for a single-discipline scope under roughly $15,000, like a website, a plugin, or one integration. Above that, projects need design, backend, testing, and project management at once, and a solo builder becomes the single point of failure: if they get sick or take a bigger client, your project simply stops. Agencies bill 20-40% more per hour but carry continuity, code review, and someone to escalate to, which is what you are actually buying.
How much does a custom internal tool cost to build?
Most custom internal tools cost $8,000 to $40,000 to build, based on Digital Heroes delivery data across 2,000+ client projects. A single-purpose tool like an approval dashboard or inventory tracker sits at the low end, while a multi-department platform with role-based access and several integrations pushes past $40,000. The three biggest cost drivers are the number of user roles, the number of systems the tool must connect to, and custom reporting requirements.
Can a custom internal tool connect to QuickBooks, Salesforce, and the other software we already use?
Yes, and integrations are usually the strongest argument for going custom instead of chaining tools together with Zapier. QuickBooks, Salesforce, Shopify, Stripe, Slack, and Google Workspace all have mature APIs, and each integration typically adds $1,500 to $5,000 to a Digital Heroes build depending on how much two-way syncing you need. The honest caveat is legacy industry software without an API, which may need file-based imports instead of a live connection, so list every system in the first conversation.
Can we migrate years of data out of our current system into new custom software?
Almost always yes, through CSV exports or the vendor's API, and migration should be scoped as its own workstream with field mapping, a dry run, and a planned cutover window rather than an afterthought. The real time sink is rarely moving the data; it is cleaning it, since years of duplicates, free-text fields, and inconsistent formats surface all at once. Pull a full export from your current vendor before committing to anything new, because some SaaS plans restrict exports on lower tiers.
When does a company outgrow Airtable?
The usual breaking points are record limits, permissions, and automation complexity. Airtable's Team plan caps each base at 50,000 records and Business at 125,000, so operations logging thousands of rows a month hit the ceiling within a year or two. The other trigger Digital Heroes sees constantly is permissions: restricting who can view specific fields or records is clumsy below Airtable's Enterprise tier, which becomes a genuine problem once salaries, pricing, or client contracts live in the base.
Is a freelancer or an agency better for building an internal tool?
A solid freelancer works for a single-workflow tool under roughly $10,000, if you accept that one person holds all the knowledge. An agency earns its premium once the tool spans departments or integrations, because you get a developer, a designer, and a project manager plus continuity when someone leaves or gets sick. The hidden freelancer cost appears 18 months later when you need changes and the original builder has moved on, a rescue situation Digital Heroes is hired for regularly.
What are the most common mistakes companies make when building internal tools?
The three failures Digital Heroes sees most: building for every department at once instead of nailing one workflow, designing without the end users so staff quietly go back to their spreadsheets, and leaving no named owner after launch so small bugs pile up until the tool dies. A subtler fourth is faithfully recreating the old spreadsheet, including its workarounds, instead of fixing the process first. Start with one team's most painful workflow and put the actual users in the room from week one.
How long does it take to build an internal tool from scratch?
A working first version typically ships in 4 to 8 weeks, and larger multi-module tools run 10 to 16 weeks. Across Digital Heroes internal tool projects the schedule splits into roughly one week of process mapping, 3 to 6 weeks of build, and 1 to 2 weeks of testing with your actual staff. The most common delay is not development but waiting on the client for sample data and workflow decisions, so name one internal owner before kickoff.
Should we build the whole internal tool at once or start with an MVP?
Start with a version that fully replaces one workflow, ship it in 4 to 6 weeks, and let real usage set the roadmap. Internal tools have a captive audience, so you learn within days which features matter, and across Digital Heroes projects roughly a third of initially requested features never get built once staff work with version one. Phasing also spreads the spend: a $40,000 vision becomes a $15,000 phase one that starts paying for itself while phase two is scoped.
Who can build a custom internal tools system?

Digital Heroes builds custom internal tools systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other internal tools companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?