Skip to main content
All case studies

24 customer initiatives shipped for Portico’s Success team in 9 months.

For two years I’ve been the embedded engineer for Portico’s Success team. I take their customer requests from plan to deploy, and the reports and fixes I ship leave Portico’s clients happier.

Client
Portico logo

Portico, opens in a new tab Portico's software and services help career schools simplify operations, stay compliant, and grow with confidence.

Length
2 years, ongoing
Industry
EdTech
  • 24major initiatives shipped in 9 monthsTracked this year
  • 2 yearsembedded with the Success teamOngoing
  • 4–100+hours a month, set by each month’s needStarted at 10 a month, prepaid

The 24 covers this year’s tracked work. Year one ran on a prepaid block of hours and wasn’t tracked item by item.

“When Portico receives certain edge case requests that are not near-term on our roadmap, Fadee is able to step in and facilitate. This helps Portico continue to deliver on its promise of being a true partner to our schools.”

Shannon Weitz,Portico

Where things stood

Portico’s four products (Campus Ivy, CourseKey, Verity IQ, and Trajecsys) serve nursing, allied health, beauty and wellness, and trade and technical schools. The products share customers, and one Success team handles roadmap and reporting requests across all of them.

Portico wanted its Success team to deliver on customer requests quickly, while core engineering stayed on the product roadmap. Those requests came straight from schools: roadmap features, custom reports, and documentation. So the Success team got its own engineer.

How we worked

I sit between Portico’s Success team and their engineers. Nearly every request reaches me as a Success-team ticket, and I take it from plan and design through build, staging, and deploy. I’m in their chat, meetings, and code review like anyone else on the team, and their engineers review and QA everything before it ships.

We started with a prepaid block of 10 hours a month. It now runs from 4 to 100+ hours a month, depending on what the Success team needs. Portico signed on before I offered the weekly retainer, which is why their terms are in monthly hours.

Where the tracked hours went

  • About 124 hours on attendance and reporting
  • 68+ hours on integrations and data infrastructure
  • 130 logged entries on testing, debugging, pull requests, staging validation, and deployment

What I built

I work across their web app, backend, database, and internal services, on new features, fixes, and reports for customers and for Portico’s own staff.

  • Portico’s products connect to D2L Brightspace over LTI 1.3. LTI 1.3 is the standard learning management systems (LMSs) use to plug in outside tools. I built it with dynamic registration, where Brightspace registers the tool from a URL, and did integration work for Canvas.
  • I added new attendance and academic reports, for customers and for Portico’s staff. That meant new calculations, filters, grouping, exports, and administrative data.
  • Imports and exports validate records and catch duplicates. I added validation, sanitization, and duplicate detection to the import and export workflows.
  • I resolved edge cases in timezones, course grouping, and filtering. Some sat between the frontend and backend, and I made the two agree on the data.
  • Every release goes through testing and staging before deploy. I write the tests, fix regressions, and support each deploy.
Setup dialog for registering CourseKey in D2L Brightspace through LTI 1.3 dynamic registration, with numbered steps and the registration URL to paste.
Attendance setup in CourseKey, technology step: the school chooses which check-in methods students must pass, such as face or fingerprint scan, GPS, sound, or QR code.
Approval status report: a table showing each record’s approval status, who approved it, when, and in which time zone.
Instructor notification inbox on the Unread tab: an alert to certify a class’s attendance at the end of the day, and two alerts about student forms to send or review.
Screens from CourseKey, one of Portico’s products, in test environments with test data: LTI 1.3 setup for D2L Brightspace, attendance check-in setup, an approval status report, and the instructor notification inbox.

What changed

  • Clients got what they asked for, and came away happier. I took on priority accounts across Portico’s products and shipped the reports and fixes they asked for. Together those accounts represent tens of thousands of dollars in revenue.
  • Enhanced reports give schools more detail. I reworked how reports calculate attendance, missed time, makeup hours, expected hours, and course-level metrics, added new filters and grouping, and set them to generate and send by scheduled email.
  • Core engineering stayed on its roadmap. Even the LTI 1.3 and Canvas work only needed their standard review and QA.
  • The Success team has documentation for what shipped. I write it as each piece ships, so the team can answer customer questions on its own.

Tech stack

Frontend

  • React

Backend and data

  • Node
  • MySQL

Integrations

  • LTI 1.3 with dynamic registration for D2L Brightspace
  • Canvas integration work

Infrastructure and delivery

  • AWS Serverless
  • Staging validation and deployment support

More case studies

Tell me what you’re trying to ship.

Free · no prep needed · proposal in 48h