Zopim code = 95219EA47EC6612D1030862701C9BF0A4F962861AFB45ED62B34E3A8D96038CE
gis
careers.in
Home
View Jobs
Register
Log in
GIS Web Developer job at Remote
Codvo.Ai
Experience:
3 - 10
Location:
Remote
Posted on:
20-Nov-25
Job Description*
<p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><b>About Us</b></p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">At Codvo, we are committed to building scalable, future-ready data platforms that power business impact. We believe in a culture of innovation, collaboration, and growth, where engineers can experiment, learn, and thrive. Join us to be part of a team that solves complex data challenges with creativity and cutting-edge technology.</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"></p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><b><br>Position Summary</b></p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">We're seeking a GIS Web Developer with strong Esri ArcGIS and React experience to expand our natural language GIS platform. You'll work on integrating spatial analysis with business intelligence, implementing advanced query workflows, and building intuitive map-based visualizations.</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><b>Primary Technologies</b></p><ul style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><li>GIS/Mapping: ArcGIS REST API, Feature Services, OAuth 2.0</li><li>Frontend: React 18.2, Leaflet 1.9, esri-leaflet</li><li>Backend: Node.js, Express, SQLite</li><li>AI/NLP: OpenAI GPT-4 Turbo integration</li><li>Spatial Operations: Haversine distance, buffer analysis, proximity queries</li></ul><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">Infrastructure</p><ul style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><li>Version Control: Git/GitHub</li><li>Deployment: AWS/Azure (planned)</li><li>Database: SQLite (26 contracts, 43 tracts)</li></ul><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><b>What You'll Build</b></p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">Core Responsibilities (70% of time)</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">1. Spatial Query Implementation</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">o Implement new query types (polygon intersections, multi-layer queries)</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">o Optimize ArcGIS REST API performance</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">o Build complex WHERE clause generators from natural language</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">2. Map Visualization</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">o Create interactive Leaflet-based visualizations</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">o Implement custom feature styling and popups</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">o Build proximity buffers and distance calculations</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">3. Data Integration</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">o Connect GIS features with contract/business data</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">o Build efficient data pipelines (SQLite ArcGIS Frontend)</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">o Implement caching strategies for query results</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">4. Performance Optimization</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">o Reduce API call latency</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">o Implement client-side filtering for follow-up queries</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">o Optimize geometry rendering for 40+ features</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">Innovation Opportunities (30% of time)</p><ul style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><li>Spatial drawing tools (polygon queries)</li><li>Real-time collaboration features</li><li>Multi-layer spatial analysis</li><li>Export to GeoJSON/Shapefile/CSV</li><li>Mobile app development (React Native)</li></ul><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><b>Required Qualifications</b></p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><b>Must-Have Skills</b></p><ul style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><li>3+ years working with ArcGIS REST API and Feature Services</li><li>Strong JavaScript/React experience (React Hooks, state management)</li><li>Understanding of spatial concepts: coordinate systems (4326/3857), projections, buffers, spatial queries</li><li>Experience building interactive web maps (Leaflet, Mapbox, or ArcGIS Maps SDK)</li><li>Comfortable with REST APIs and asynchronous JavaScript (async/await, Promises)</li><li>SQL/database experience (SQLite, PostgreSQL, or similar)</li></ul><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">Nice-to-Have Skills esri-leaflet library experience OAuth 2.0 token management OpenAI API or LLM integration Geospatial algorithms (Haversine, centroid calculations, polygon operations) Node.js/Express backend development Docker/containerization Previous GIS chatbot or natural language query experience What Makes a Great Candidate Technical Excellence Can explain complex spatial concepts simply Writes clean, maintainable code Understands when to optimize vs. when to ship Comfortable reading and improving existing codebases Problem-Solving Mindset Thinks about user experience first Balances client-side vs. server-side operations Knows when to use caching vs. real-time queries Can debug spatial data issues (overlapping geometries, projection mismatches) Communication Documents code and architectural decisions Can explain technical tradeoffs to non-technical stakeholders Comfortable working with remote teams Red Flags (What We're NOT Looking For) Only knows ArcGIS Desktop (ArcMap/ArcGIS Pro) with no web API experience Can't explain REST APIs or asynchronous JavaScript No experience building user-facing applications Uncomfortable with modern JavaScript frameworks Expects to work in isolation without collaboration Green Flags (What Makes You Stand Out) Built a web mapping application from scratch Contributed to open-source GIS projects Can demo a spatial query interface you've built Excited about AI/LLM integration Understands tradeoffs between different mapping libraries Has optimized ArcGIS REST API performance before</p><p style="box-sizing: border-box; margin-top: 0px; margin-bottom: 1rem; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><b style="box-sizing: border-box; font-weight: bolder;">Nice-to-Have Skills</b></p><ul style="box-sizing: border-box; padding-left: 2rem; margin-top: 0px; margin-bottom: 1rem; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><li style="box-sizing: border-box;">esri-leaflet library experience</li><li style="box-sizing: border-box;">OAuth 2.0 token management</li><li style="box-sizing: border-box;">OpenAI API or LLM integration</li><li style="box-sizing: border-box;">Geospatial algorithms (Haversine, centroid calculations, polygon operations)</li><li style="box-sizing: border-box;">Node.js/Express backend development</li><li style="box-sizing: border-box;">Docker/containerization</li><li style="box-sizing: border-box;">Previous GIS chatbot or natural language query experience</li></ul><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">What Makes a Great Candidate</p><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">Technical Excellence</p><ul style="box-sizing: border-box; padding-left: 2rem; margin-top: 0px; margin-bottom: 1rem; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><li style="box-sizing: border-box;">Can explain complex spatial concepts simply</li><li style="box-sizing: border-box;">Writes clean, maintainable code</li><li style="box-sizing: border-box;">Understands when to optimize vs. when to ship</li><li style="box-sizing: border-box;">Comfortable reading and improving existing codebases</li></ul><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">Problem-Solving Mindset</p><ul style="box-sizing: border-box; padding-left: 2rem; margin-top: 0px; margin-bottom: 1rem; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><li style="box-sizing: border-box;">Thinks about user experience first</li><li style="box-sizing: border-box;">Balances client-side vs. server-side operations</li><li style="box-sizing: border-box;">Knows when to use caching vs. real-time queries</li><li style="box-sizing: border-box;">Can debug spatial data issues (overlapping geometries, projection mismatches)</li></ul><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;">Communication</p><ul style="box-sizing: border-box; padding-left: 2rem; margin-top: 0px; margin-bottom: 1rem; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><li style="box-sizing: border-box;">Documents code and architectural decisions</li><li style="box-sizing: border-box;">Can explain technical tradeoffs to non-technical stakeholders</li><li style="box-sizing: border-box;">Comfortable working with remote teams</li></ul><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><span style="font-weight: bolder;">Red Flags (What We're NOT Looking For)</span></p><ul style="box-sizing: border-box; padding-left: 2rem; margin-top: 0px; margin-bottom: 1rem; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><li style="box-sizing: border-box;">Only knows ArcGIS Desktop (ArcMap/ArcGIS Pro) with no web API experience</li><li style="box-sizing: border-box;">Can't explain REST APIs or asynchronous JavaScript</li><li style="box-sizing: border-box;">No experience building user-facing applications</li><li style="box-sizing: border-box;">Uncomfortable with modern JavaScript frameworks</li><li style="box-sizing: border-box;">Expects to work in isolation without collaboration</li></ul><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><span style="font-weight: bolder;">Green Flags (What Makes You Stand Out)</span></p><ul style="box-sizing: border-box; padding-left: 2rem; margin-top: 0px; margin-bottom: 1rem; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><li style="box-sizing: border-box;">Built a web mapping application from scratch</li><li style="box-sizing: border-box;">Contributed to open-source GIS projects</li><li style="box-sizing: border-box;">Can demo a spatial query interface you've built</li><li style="box-sizing: border-box;">Excited about AI/LLM integration</li><li style="box-sizing: border-box;">Understands tradeoffs between different mapping libraries</li><li style="box-sizing: border-box;">Has optimized ArcGIS REST API performance before</li></ul><p style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"><b></b></p><ul style="color: rgb(89, 89, 89); font-family: "Indeed Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", Roboto, Noto, sans-serif;"></ul>
Education:
ITI/Diploma
G-Any
PG-G-Any
Skills:
ArcGIS Server Java Script API
ArcGIS Server Administration
Java
ArcGIS-ArcObjects SDK .Net
ArcGIS-ArcObjects SDK Java
HTML/CSS/Bootstrap/jQuery
ESRI Web AppBuilder
Concepts:
GIS Fundamentals
WebGIS
Login & Apply
Back to List