digital-web-weaver — workspace
+91 97125 15105▶ Run project

// nextsense.tsx · portfolio case study · EdTech / healthcare education

CASE STUDY

From static mockups to a platform worth trusting

NextSense is an Australian organisation delivering cochlear implant, hearing and vision services alongside professional education for clinicians and educators. Digital Web Weaver took their Learning Management System from static design mockups to a production Vue 3 application — then ran a systematic QA and security audit that surfaced and fixed real, previously-invisible bugs and data-integrity gaps across the admin backend.

40+admin controllers audited
90+migrations reviewed
12+bugs found & fixed
5performance bugs caught before failure
role-scope.json— live
1// NextSense LMS — role & scope2export const nextsense = {3 frontend: "Vue 3, Vue Router 4, Pinia",4 backend: "Laravel 10, MySQL, Sanctum",5 qa: "Playwright, full-journey audits",6 audit: "security + data integrity",7};8
frontend, backend, QA & security — full stack
40+
CONTROLLERS_AUDITED
▲ full admin backend review
90+
MIGRATIONS_REVIEWED
▲ data-integrity audit
12+
BUGS_FIXED
▲ across the full user journey
5
LATENT_BUGS_CAUGHT
▲ before they could fail in production

// the challenge — what the brief actually asked for

Three questions, in order

The platform had two faces: a public course catalog and checkout flow that needed to match an approved design, and an internal admin panel — already in daily use by staff — that had accumulated years of incremental changes and untracked technical debt.

Build it right

Turn static design mockups into a real, componentized Vue application without losing fidelity to the design or introducing subtle cross-page inconsistencies that static HTML hides until it's wired to real data.

Prove it works

Not just "the code compiles" — a genuine end-to-end audit: does every page render correctly, does every button do what it says, does checkout actually complete for a real user?

Make it safe to trust

Before treating the admin backend as production infrastructure, find out what happens under real scrutiny: bad data, concurrent use, and a security review.

// the approach — replacing assumptions with verification

Full-stack work, checked end to end

I worked across the full stack — converting the design into a componentized Vue 3 application, closing the gap between "looks right" and "works right" through systematic testing, and running a full audit of the Laravel backend that powers both the public site and the internal admin panel.

NextSense — public site
NextSense's public homepage, an Australian organisation delivering cochlear implant, hearing and vision services alongside professional education

NextSense delivers cochlear implant, hearing and vision services alongside professional education for clinicians — the platform this project rebuilt sits behind their public site.

Student Account Dashboard
The rebuilt NextSense student account dashboard, showing enrolled courses, certificates, and recent orders

The rebuilt student account dashboard — one of the areas covered by the full QA sweep across the entire student journey.

1. Design-to-code, with an architecture that survives contact with real content

The static mockups styled each page independently, which meant a shared component (navigation, footer, modals) could look perfect on the one page it was designed against and break silently on every other page that reused it. I established a standing rule — every shared component owns its own complete styling rather than inheriting from a specific page's CSS block — and rebuilt the shared layout components against it. This class of bug came up repeatedly early on; fixing the architecture instead of each individual symptom stopped it from recurring.

2. Systematic QA over spot-checking

Rather than testing pages one at a time as they were built, I ran full Playwright-driven sweeps across the entire student journey and the entire admin panel — every page, checking for console errors, failed network requests, broken images, and dead links. This surfaced real, previously-invisible issues, including:

  • A session-state bug where a logged-in user could still be sent to the login page from the account menu.
  • Course listings silently falling back to a placeholder image instead of showing the real thumbnail.
  • A navigation dropdown rendering behind page content on one specific dashboard, caused by a legacy CSS rule from years earlier.
  • Two "add material" admin workflows whose file-upload feature was completely non-functional in production — the API route had drifted out of sync with a method rename.

Each fix was verified by reproducing the actual user flow, not just by reading the code that changed.

3. Performance and reliability under real data volume

One admin report — a purchase/order listing — was crashing with an opaque server error. I traced it to a query that eagerly loaded several nested relationships across the full table with no upper bound, which worked fine in development and exhausted PHP's memory limit against production-scale data. After fixing it, I used the same diagnostic pattern to proactively check the rest of the codebase and found four more queries with the identical latent issue — fixed before they had the chance to fail the same way in front of a user.

4. Turning "it feels broken" into a concrete fix

Users reported that actions like checkout and course registration "felt like nothing was happening," even though they were working correctly underneath. I audited every async action across the application and found the pattern: most gave no visual feedback beyond a barely-noticeable text change while a network request was in flight, so a normal 1–2 second wait read as a frozen page. I added consistent loading-state feedback across every one of these actions, closing a real trust gap without touching the underlying visual design.

5. A full security and data-integrity audit of the admin backend

Before treating the admin system as trustworthy infrastructure, I ran a systematic audit covering authentication coverage, credential handling, file-upload safety, data-referential integrity, and dead/duplicate code — verifying every finding against the running system rather than relying on a read-through alone. This surfaced issues across a full range of severity, from immediately fixable (hardcoded credentials in source, a debug statement left live in a production code path, PII-bearing log files about to be committed to version control) to structural (authentication coverage gaps needing a coordinated, planned fix).

I fixed every issue that was safe to resolve immediately and produced a written, prioritized report for the rest — distinguishing clearly between "broken and needs fixing," "a real risk that needs a proper plan," and "fine to leave for now" — so the client has an honest, actionable picture rather than either false confidence or an unusable wall of findings.

Tech stack

LayerTechnologies
FrontendVue 3, Vue Router 4, Pinia, Bootstrap 5, SCSS
BackendLaravel 10, MySQL, Laravel Sanctum
Admin toolingjQuery DataTables (Bootstrap 5 integration)
Testing & QAPlaywright — automated browser testing, network/console auditing, visual verification
PracticesComponent-driven architecture, systematic audits over spot-fixes, written technical documentation

Outcomes

  • A public course platform rebuilt from static design to a fully functional Vue application, with a documented component architecture to prevent the class of cross-page styling bug that would otherwise keep resurfacing.
  • A dozen-plus concrete, previously-invisible bugs found and fixed across the full user journey — session handling, broken images, dead links, and a stacking-context bug affecting every page in the application.
  • A production-crashing performance bug diagnosed to root cause and fixed, plus four latent instances of the same issue caught and resolved before they could fail the same way.
  • Two admin workflows' file-upload features restored from silently non-functional to working.
  • A consistent loading-state pattern applied across every async action, closing a real, user-reported "feels broken" trust gap.
  • A full security and data-integrity audit of the admin backend, with immediate fixes applied to every safe-to-fix issue and a clear, prioritized, written remediation plan for the rest.
The common thread across this engagement was replacing assumptions with verification: instead of trusting that a component "should" look right on every page, checking it on every page; instead of guessing why a report crashed, reproducing it and reading the actual failure; instead of describing a security posture in the abstract, testing it against the running system and reporting exactly what was found.

$ ./contact --start-project

Need someone to make sure it's actually production-ready?

Design-to-code, full-journey QA, or a security and data-integrity audit of a system you already have — this is the standard we hold the work to, regardless of project size.

● Fixed-price quotes● Senior engineers only● Full test coverage
⎇ main✓ 0 errors⚠ 0 warningsnextsense.tsxTypeScriptLn 1, Col 1