Description
Frontend Developer (React and TypeScript)
Company: Nepal Digital Systems Pvt.
Ltd.
(NDS)Location: Lalitpur Metropolitan City Ward No.
10, Patandhoka Road, Pulchowk, Kathmandu, Nepal (on-site)Type: Full-timeExperience: 3 or more years building production web applications in React and TypeScriptSalary: Negotiable, based on experience and demonstrated abilityOpenings: 1Application deadline: 21-09-2026
About Nepal Digital SystemsNepal Digital Systems is an engineering firm based in Lalitpur specializing in embedded systems, IoT product design, and deep technology.
We design and manufacture hardware for clients in Nepal and abroad, covering wireless mesh networks, lighting control, industrial systems, connected consumer devices, and payment systems.
Most of our work eventually needs software around it.
Hardware has to be configured, provisioned, monitored, and designed into a building before it is ever installed.
This role sits on that side of the business.
Role SummaryWe are hiring a frontend developer to build the web application layer of our product platforms.
The immediate work is a browser based lighting design and configuration platform: a tool where a designer uploads an architectural drawing, places lighting fixtures on it, groups them into rooms and zones, assigns those zones to physical controllers and outputs, validates electrical load against controller capacity, and exports a bill of materials, a marked up plan, and a programming file that provisions the hardware.
The interesting part of this work is not conventional page building.
It is a drawing canvas with an object model on top of it, where every placed symbol carries engineering metadata and the entire application is built around a strict hierarchy running from building, to room, to fixture, to zone, to controller, to output, to address.
The CAD rendering itself is handled by a commercial viewer SDK.
Your work is everything layered above it.
You will be the primary frontend engineer on this product rather than one contributor among many, working directly with our backend developer, the hardware team, and the client.
Technology StackThe intended stack for this platform is as follows.
Prior experience with every item is not expected, and the stack is not fully settled.
Frontend: React with TypeScriptDrawing viewer: Autodesk Platform Services Viewer, with the drawing engine kept behind an abstraction so an alternative such as Apryse WebViewer can be substituted laterOverlay: APS Scene API and custom viewer extensions for all Hypnotik owned objectsBackend: Node.js with TypeScriptDatabase: PostgreSQLStorage: S3 compatible object storage for project files and drawingsRealtime: WebSockets, or Supabase realtimeAuthentication: Auth0, Clerk, or Supabase AuthDevice integration: JSON over REST initially, moving toward direct controller provisioning
What You Will DoBuild the application frontend in React and TypeScript, from project dashboard through to the main design canvasIntegrate a commercial CAD and PDF viewer SDK, and build custom extensions on top of it for object placement, selection, and editingImplement the overlay object model, keeping application data strictly separate from the imported architectural drawing, which stays read onlyBuild drawing interaction tools, including pan, zoom, measure, scale calibration, snapping, grid, layer visibility, and undo and redoBuild placement tools that are faster than general purpose CAD for repetitive layouts, including single placement, copy, linear array with automatic equal spacing, rectangular grid array, wall offset, and align and distributeImplement a polyline tool for linear lighting runs, with automatic length and load calculationBuild room and zone creation, including polygon drawing and automatic assignment of contained fixturesBuild the configuration and validation layer, including controller and output assignment, wattage totals, capacity checking, and clear surfacing of errorsImplement export flows, including fixture schedules, bills of material, marked up PDF plans, and structured JSON for hardware provisioningDesign a component library and interface patterns that hold up across a dense, three panel, tool heavy applicationHandle large drawings and high object counts without the interface degradingContribute to API design with the backend developer rather than consuming whatever is handed overWrite maintainable, typed, reviewed code, and participate in code review
RequirementsAt least three years building and shipping production web applicationsStrong command of React, including hooks, state management, and performance work such as memoisation, virtualisation, and render profilingStrong TypeScript, including practical use of the type system to model a real domain rather than scattered use of anySolid JavaScript fundamentals, including asynchronous behavior, the event loop, and browser APIsExperience consuming and shaping REST APIs, and handling authentication, errors, and loading states properlyProficiency with Git and a team branching workflowAbility to read a specification, ask about what is missing, and turn it into working softwareWorking English, sufficient for written technical communication with an international clientPreferredExperience with canvas, SVG, or WebGL based interfaces, such as design tools, map applications, diagram editors, or floor plan softwareAny exposure to CAD or BIM, including Autodesk Platform Services, Apryse, three.js, or DXF and DWG handlingUnderstanding of coordinate systems, transforms, scaling, and hit testingNode.js and TypeScript on the backend, and comfort working across the full stackPostgreSQL and relational data modellingWebSocket or realtime collaboration experienceExperience generating PDF or structured export output from a web applicationFamiliarity with hardware, electrical, or construction domain softwareGenuine interest in user interface and interaction design, since this product lives or dies on how it feels to useWe do not expect candidates to match every point above.
Strong React and TypeScript fundamentals, plus evidence that you can build something interactive and complicated, matter more than a matching list of technologies.
What We OfferA competitive salary, matched to experience and demonstrated abilityOwnership of a substantial product rather than maintenance of someone else's codebaseDirect work with an international client and with the engineers who build the hardware the software controlsTechnically demanding work, in a problem space where the obvious approach is usually not the right oneSupport for professional development, including training and toolingA stable full-time position at a growing engineering companyHow to ApplySend the following to career@nepaldigital.systems with the subject line Frontend Developer Application:
Your curriculum vitae in PDF formatLinks to your GitHub profile, or to any production applications you have worked on, with a note on your specific contributionA short note, no more than one paragraph, describing the most complex interface you have built and what made it difficultYour salary expectation and earliest available start dateCommunication RequirementThis role requires fluent written and spoken English.
Assessment: We evaluate both your English and technical skills.Interview: Your interview will be conducted in English.