Full-Stack Web Developer
Role details
Job location
Tech stack
Job description
We are building a robot for automated oil tank floor inspections using phased array ultrasonic (PAUT) sensors. Every inspection produces large volumes of thickness and corrosion data that need to become two things: standardized inspection reports our clients can act on, and a portal where they can browse, review, and download their results. We need a full-stack web developer to own that entire pipeline from the data layer, through report generation, to the client-facing web app.
This is a data and reporting role, not a marketing-site role. The work is about correctly turning inspection data into accurate, trustworthy reports and presenting it clearly. Reliability and correctness matter more than visual flourish.
What You'll Build
- A client portal where customers log in to browse their tanks, view inspection history, and access results - with role-based access so each client sees only their own data
- An API 653 inspection report generator that takes processed PAUT measurement data and produces clean, consistent PDF reports (thickness summaries, corrosion findings, remaining-life context, recommendations)
- Data visualizations of tank floor inspections: thickness/corrosion heatmaps, per-region breakdowns, and trend views across repeat inspections
- Backend APIs to serve inspection data, manage report-generation jobs, and handle auth, organizations, and permissions
- A data layer that organizes inspection runs by client, site, and tank, and makes large measurement datasets fast to query and aggregate, * Backend / data pipeline: TypeScript / Bun, Node.js, MongoDB, Redis
- Frontend: React, TypeScript, Chart.js, Konva
- Reporting: PDF generation pipeline (headless rendering)
- Robot control backend (upstream): Go
- Infrastructure: Docker, cloud hosting
Requirements
Do you have experience in Web applications?, Frontend
- Strong React and TypeScript. Hooks, component architecture, state management, and building data-dense UIs that stay responsive
- Comfortable building dashboards and tables for real data: filtering, sorting, pagination, and presenting large datasets clearly
- Data visualization experience. Charts and/or 2D canvas rendering (e.g. Chart.js, Konva, D3, or comparable) for heatmaps and inspection views
Backend
- Solid Node.js (or Bun) backend experience - designing REST/JSON APIs, structuring services, and handling auth and access control
- MongoDB: schema design, aggregation pipelines, indexing, and working efficiently with large collections of measurement data
- Comfortable owning a feature end-to-end, from database query to API to rendered UI
Document / PDF Generation
- Hands-on experience generating PDFs programmatically (e.g. Puppeteer / headless Chrome, React-PDF, PDFKit, or comparable)
- Ability to build consistent, multi-page document layouts with tables, charts, headers/footers, and page numbering
- Attention to detail - reports go to clients and must be accurate and consistently formatted every time
Nice to Have
- Our stack: Bun / Elysia, Go, C++, Redis, or similar tooling
- Go: our robot control backend is written in Go. Being able to read it and understand the data we receive is a plus
- DevOps: deploying and maintaining Node services, databases, and web apps (Docker, cloud hosting, CI/CD)
- An eye for polish: the portal is client-facing, so a sense of clean, professional UI helps even though it isn't the core of the role
What We Don't Need
This is a web / data role. You do not need experience with:
- Raw ultrasonic signal processing or DSP - data arrives already processed
- Heavy brand/marketing design or building a design system from scratch
Benefits & conditions
$70,000 - $90,000 a year - Full-time, Contract