Fullstack Engineer (MOE)
Summary
Build and maintain the Scanvas web platform and ScanController desktop app, integrating scanner hardware and AI/ML services (LLMs, OCR) for exam processing. You'll work with API routes, job queues, and cloud infrastructure optimized for high throughput.
- Solid full-stack experience
- Comfort building desktop applications
- Experience with hardware or device integration
- Experience integrating AI/ML APIs into production systems
- Comfort with cloud infrastructure
- Strong foundation in software hygiene
- Ability to reason about algorithmic complexity
- Understanding of concurrency
- Experience with AI-integrated systems engineering
- Ability to design for operational reality
- Build and maintain the Scanvas web platform — API routes, background job queues,
- database models, and the canvas-based template editor that assessment staff use to
- configure OMR zones.
- - Build and maintain the ScanController desktop application — the interface between
- scan-room operators, the scanner hardware, and the cloud backend.
- - Integrate hardware: scanner SDKs, driver interfaces (TWAIN/ISIS/WIA or vendor APIs),
- and scan-capture pipelines that validate quality and handle errors before upload.
- - Integrate AI services: LLM APIs for OMR template generation, computer vision for zone
- detection, and document OCR/ICR for handwritten and typed responses on mix-form
- booklets.
- - Design and optimise for throughput — job queues, concurrency limits, rate-limited
- external AI calls, and S3 storage pipelines that must sustain peak exam-season load.
- - Collaborate with the Product Manager and operations team to turn real scan-room
- workflows into software that people trust under pressure.
- - Maintain engineering rigour: TDD, typed code, clean API boundaries, meaningful CI
- gates, and documentation that the next engineer can actually use.
- What We're Looking For
- The fundamentals matter most. We are not prescriptive about your current stack. Engineers
- who understand why systems behave the way they do pick up new frameworks quickly.
- Engineers who only know their current framework struggle when the problem doesn't fit the
- tutorial.
- What the fundamentals look like in practice:
- - You can design a system given a set of constraints and articulate the trade-offs you
- made. You don't need a framework to do this.
- - You understand concurrency — threads, event loops, async/await — well enough to
- reason about race conditions and bottlenecks, not just write await and hope.