OpenStreetMap logo OpenStreetMap

Hello everyone!

I’m Ayush Dhar Dubey, a 2nd-year undergraduate student at Indian Institute of Technology Roorkee, pursuing my major in Civil Engineering. While my academic roots lie mostly in reinforced concrete and structural design…software development and open-source have become equally foundational to how I think about solving real-world problems.

I’m thrilled to share that I’ve been selected for Google Summer of Code 2025 as a student developer with OpenStreetMap (OSM). My project, under the mentorship of Lonvia and Tordanik, is titled “Modernize the 3D Model Repository (3DMR)”.

alt text


What is 3DMR and Why Does it Matter?

The 3D Model Repository (3DMR) is an online platform that allows contributors to upload openly licensed 3D models and link them to OpenStreetMap features. Tools like OSM2World can then render realistic 3D views of real-world locations using this data.

However, 3DMR’s current implementation is aging. It runs on outdated dependencies, uses the now-limited OBJ file format, and has a broken OAuth authentication system. This project is a timely opportunity to bring the platform up to modern standards functionally, visually and structurally.

If you enjoy reading codebases that creak when you open them, you might also fall in love with: Legacy 3DMR Code.


Proposal Overview & My (Slightly Ambitious but Totally Doable) Plan

You can find my full proposal here: OSM: Modernize the 3D Model Repository

Here’s a brief breakdown of my plan and approach for tackling this challenge:

1. Strengthen the Foundation with Testing

The legacy 3DMR codebase lacks test coverage, which makes even minor upgrades risky. So, the first milestone will be to add comprehensive unit tests for existing views, APIs and rendering logic. These will serve as a safety net for future upgrades.

2. Modernize the Codebase

With a solid test suite in place, I’ll:

  • Upgrade Django from 2.0.5 → 3.2 → 4.2 → 5.1.7
  • Upgrade Python to 3.12+
  • Refactor deprecated logic
  • Fix OAuth integration
  • Resolve all conflicting dependencies

This is the most critical and technical part of the project and lays the groundwork for all future improvements.

3. Goodbye OBJ, Hello glTF

glTF is the new standard in 3D model formats—lightweight, efficient, and well-supported across modern rendering engines.

I plan to:

  • Modify the upload pipeline to accept glTF files
  • Add a feedback loop (e.g., triangle count, texture check) using Three.js and pygltflib
  • Implement conversion tools (e.g., using obj2gltf) to help transition legacy models
  • Ensure compatibility with rendering tools like OSM2World
  • Create API endpoints for retrieving and linking models with OSM data

First Community Bonding Period (CBP) Meeting

We kicked off the Community Bonding Period with our first meeting on May 13. It was great connecting with Sarah and Tobias 👋. Our first meeting was warm and welcoming. We discussed early plans, clarified expectations and talked about our shared goals for the project. I already feel a sense of belonging in the OSM community.

The plan for the CBP, as of now is to:

  • Familiarizing myself with 3D structure mapping
  • Familiarizing myself with software tools like OSM2World & Blender.
  • Deepening my understanding of glTF rendering pipelines
  • Exploring how best to structure the test suite
  • Preparing for the code sprint starting in early June

What I Hope to Learn

Through this project, I aim to:

  • Understand how to modernize legacy web applications effectively
  • Explore 3D model optimization and rendering concepts
  • Sharpen my collaborative open-source development skills
  • Learn how to ship production-grade code as part of a distributed team
  • Understand the OSM family of projects and form lasting contributor relationships

Let’s Go!

I’m grateful for the opportunity to work with OpenStreetMap and look forward to sharing more updates in the coming weeks.

Thanks for reading, and see you in the next diary entry! 😃

Ayush

Location: Sahijna, Tenar, Garhwa, Jharkhand, 822114, India
Email icon Bluesky Icon Facebook Icon LinkedIn Icon Mastodon Icon Telegram Icon X Icon

Discussion

Comment from tordans on 21 May 2025 at 06:15

Thank you for sharing and welcome :)

Comment from -karlos- on 8 June 2025 at 11:31

Could you Tell us about new meetings in the community forum please

Log in to leave a comment