$70/hour · Independent contractor · Remote (US) · Paid two-week trial at 20 hrs/week, then 30 hrs/week guaranteed (up to 40 by mutual agreement) · Six months, with a real possibility of extensionCBMSkills.com is an educational technology platform that helps K–5 teachers assess and build students’ skills in math, reading, and writing. Teachers assign brief assessments and skill-building activities, which students complete in their web browsers, often on school Chromebooks. The project is affiliated with the University of Oregon. For this engagement, you would contract directly with CEAA, a nonprofit organization based in Eugene, Oregon, that is also affiliated with the university. The codebase dates to 2020 and is well maintained: CI/CD with a staging environment, approximately 1,100 automated tests, Sentry monitoring on the server and browser, and up-to-date written runbooks. We’re a very small team looking for an experienced developer to take ownership of a substantial share of the engineering work. You should be comfortable working independently, making sound technical decisions, and knowing when to ask for input. The stack • Laravel 12 / PHP 8.4, MariaDB 11, Redis queues and scheduler • Teacher app: Inertia + Vue 3 + Tailwind • Student app: Vue 3 SPA (Vuex, Vue Router) on a Sanctum API • Laravel Nova 5 admin • AWS S3, Transcribe and Polly; Anthropic API; Postmark; Sentry • Docker locally; GitHub Actions → container images → staging on every merge, production on tags What you’d do • Build teacher- and student-facing features, including new modules, reports, and interfaces. • Resolve existing bugs and software-quality issues, which is an explicit part of the contract. Many of these involve audio, timers, and submissions in the student app. • Improve query performance and make careful schema changes on live data. • Work through modernization efforts that are already scoped, including legacy test factories, lint and static-analysis gates, and framework upgrades. What we need • Several years of production Laravel experience and hands-on Vue 3 experience • Strong SQL skills and care with production data • Comfort debugging and improving code you didn’t write • Experience working independently and owning your work, with clear written communication • Some regular availability during U.S. Pacific business hours
Preferred:
Inertia, Nova, Redis queues, Sentry, AWS, and day-to-day use of AI coding tools. You can learn our deployment setup and the educational assessment side of the project here. How we work
- About one Zoom meeting per week, more at the start. You set your own hours, but we need some regular overlap with U.S. Pacific business hours for the weekly meeting and for occasional real-time collaboration (chat, email, or an impromptu Zoom).
- You work directly with the people who make decisions. We provide priorities and context, then trust you to manage your work and move it forward.
- Bugs are a shared responsibility. You’re primarily responsible for issues in code you’ve shipped, and we share responsibility for the rest.
- AI coding tools are encouraged; you use your own. You review and take responsibility for what you commit, and student data must stay out of AI tools.
- The trial uses seeded data only. You’ll sign a confidentiality agreement covering the code and student data. Terms
- $70/hour. All project time is billable, including meetings, learning the codebase, bug fixes, and documentation.
- Two-week paid trial at 20 hours/week. The full 40 hours are guaranteed.
- If we both decide to continue: 30 hours/week, guaranteed, with budget for up to 40 hours/week by mutual agreement. There’s plenty of work, so there will always be enough to fill your 30 hours, and you choose when you work them.
- Six-month engagement, including the trial, with a review of goals at the end of month three. For the right person, there’s a real possibility of continuing beyond six months.
- Invoice at the end of the trial and every two weeks for the first two months, then monthly.
- Remote within the United States. Independent contractor agreement with CEAA (W-9 required). This is not a university position.
- Start date is flexible; tell us your earliest start.
How to apply: Apply here on LinkedIn, include:
- A résumé or LinkedIn profile
- Short answers to the questions below (a few sentences each is plenty)
- Optionally, a link to code you wrote or a pull request you’re proud ofThere’s no take-home assignment. If it looks like a fit, we’ll set up a Zoom conversation. The paid trial gives both sides an opportunity to evaluate the working relationship through actual development work.
Application questions1.
Laravel in production: Which Laravel versions have you used in production? What’s the largest or oldest Laravel application you’ve maintained that someone else started? (2–3 sentences)2.
Vue: Have you shipped Vue 3 in production with, the Options API, or both? Any experience with Inertia.js? (One line each)3.
Inherited code: Briefly describe a production bug you tracked down in code you didn’t write. How did you find it, and what did you change? (3–5 sentences)4.
Working independently: Describe a time you had to make a call without being able to reach the person who owned the decision. What did you decide, and how did you communicate it? (2–4 sentences)5.
Availability and logistics: Are you based in the U.S., authorized to work here without visa sponsorship, and able to work as an independent contractor? Is $70/hour acceptable? Can you commit to 30 hours/week for six months, with some regular overlap during Pacific business hours? Are you interested in more hours (up to 40/week)? What’s your earliest start date?6.
AI tools: Which AI coding tools do you use day to day? How do you review and validate their output before it ships? (2–3 sentences)