Quantcast
Channel: maps for developers - Medium
Viewing all 2294 articles
Browse latest View live

Join us at 360|AnDev 2016!

$
0
0

Mapbox is proud to co-sponsor the 360|AnDev Conference on July 28th and 29th in Denver, Colorado. This two day event will bring together a diverse group of people from the Android community interested in learning from one another. We’ll also be on hand to share our experiences building the Mapbox Android SDK and Mapbox Android Services libraries.

Be sure to stop by our table or catch us in the halls to say hi to Cathryn (@CathrynStickel), Kajari (@kajari_ghosh), Cameron (@cameronmace10), and Brad (@bradleege).

For more information on the event and to register, visit the 360|AnDev Conference website. And as always, feel free to hit up Mapbox on Twitter @Mapbox!


Mapbox welcomes Nate Perkins!

$
0
0

We’re growing fast here at Mapbox. At the forefront of our expansion is Operations, which runs our team, company, and logistical infrastructure. This month we welcomed Nate Perkins to our team.

Nate comes to us from the White House, where he was the Chief of Staff to President Obama’s Director of Legislative Affairs. Nate knows that building systems and executing on tasks are two very different things, and he loves doing both. We’re already moving faster because of him. Welcome, Nate - we’re thrilled to have you.

Color balancing imagery with histogram matching

$
0
0

In our post on rio color we introduced a Rasterio plugin for color-balancing geospatial imagery. By adjusting gamma, saturation, and contrast we can correct colors to produce a more attractive and consistent basemap.

rio hist takes a different approach to a similar problem. Instead of adjusting the color balance manually, we can use histogram matching to automatically match the colors of a source image to look similar to a reference image. Here’s how it works:

We start with a source image to be adjusted. In this case we have a 2005 aerial photo of Disneyland in Anaheim, CA taken at 1 meter resolution. It has good detail but unbalanced colors; too dark and tinted green.

source

Compare that with our reference image of the same area. The resolution is not great but the color balance is more realistic and attractive:

reference

Ideally we could retain all of the detail of the source with the color balance of the reference. Enter histogram matching, using rio hist on the command line:rio hist --color-space RGB source.tif reference.tif final.tif

final

To understand what’s happening under the hood, rio hist provides a --plot option which shows the source, reference, and final histograms along with the cumulative distribution function, or CDF, that is used to perform the matching.

plot

Because histogram matching with red, green, and blue bands can occasionally introduce hue distortions, we’ve added the ability to work in other color spaces with more perceptually uniform scales. For more details on the histogram matching algorithm, check out the ipython notebook, which walks through the implementation details.

The histogram matching approach provides an automated method for achieving color consistency across many disparate sources. We use rio hist in our image processing pipeline so that new image acquisitions stay consistent with our mapbox-satellite basemap. By using the Rasterio plugin architecture we get a consistent command line interface and Python API with excellent performance and scalability.

Interested in trying histogram matching on your own images? The rio hist plugin is available on github and can be installed using pip install rio-hist. Reach out to us on Twitter: @Mapbox if you have any questions.

State of the Map Japan 2016 at Tokyo

$
0
0

The third edition of State of the Map Japan is happening on August 6th at Tokyo. Mapbox is proud to sponsor the largest OpenStreetMap conference in Japan. The theme of the conference this year is “リレーション” or “relations” - fostering stronger partnerships between various users of the map.

The OpenStreetMap community in Japan at State of the Map last year. CC-by-sa Ikiya

The previous year has seen a strong growth in the OpenStreetMap data of Japan, with over 650,000 km of new roads and 2.4 million buildings added to the map by the mapping community driven by an increased interest in using open data for disaster preparedness and research.

The conference will have talks from representatives of the community and industry including OSGeo Japan, Hitachi, Esri Japan, Georepublic, Mapillary, Wheelmap Project, covering a range of topics for innovative uses of the map data for local context. Tickets are free. It’s a must attend if you are a lover of Japan and maps.

Meet Mapbox at Inman Connect San Francisco!

$
0
0

We’ll be at Inman Connect in kiosk #K12 in San Francisco tomorrow August 2 through Thursday, August 4. Come hear what we have in store for web and mobile.

We’ll be on hand to talk about how real estate professionals can take advantage of the Mapbox platform - from designing custom base maps that highlight neighborhoods, to visualizing rental data, to adding videos and pictures to your preview listings.

Swing by our kiosk to meet our team Jeff, Noemi, and me, Joel.

To learn more about how Mapbox can power your maps, check out our Real Estate page and see what our customers have built. To reach out to us directly email us at enterprise@mapbox.com.

Weather maps with WeatherBug

$
0
0

WeatherBug’s interactive forecasts and maps paint a colorful picture of real time weather trends around the globe. Toggle on the different layers to visualize weather data about everything from temperature to humidity to wind chill, all displayed using a custom Mapbox basemap made with 512 pixel tiles.

Use the WeatherBug lightning map to visualize recent strikes in your area, displayed on top of our dark map style.

Want to talk about weather maps? Say hello on Twitter or drop me a note at hjudge@mapbox.com.

Say hi at Black Hat USA 2016 and DEFCON 24!

$
0
0

We’ll be at Black Hat USA 2016, the largest information security conference in the world, and DEF CON 24 in Las Vegas tomorrow August 3rd through August 7th.

We’ll be there to chat about our HackerOne bug bounty program and promote our open source security projects, such as Patrol. We’ll also be on hand to answer any questions you may have about the security of the Mapbox platform.

If you’ll be at either Black Hat or DEF CON, say hi to Ian (@ianshward), Tom (@tjl), and me (@AlexUlsh)!

Interested in joining the Mapbox security team? We’re hiring for Information Security Engineers to join our team in D.C. and San Francisco.

Power your Framer prototypes with real location data

$
0
0

Prototyping with real data allows you to build realistic interactions and create better user experiences. If you’re designing a location-based application, you can add real geographic data to Framer prototypes with Mapbox developer tools. The data can be read and updated in real-time with only a few lines of code.

Here’s a quick look into how we create location data, fetch it dynamically, display custom markers on a map, and update data directly through user interactions.

1. Create location data with Mapbox Studio dataset editor

The Mapbox Studio dataset editor, now in private beta, lets you create points, lines, and polygons by drawing on a map or importing files.

Let’s use a travel planning app as an example. We’ll need to create some landmarks as example map data in the dataset editor. First, type in the place name in the search bar and click the “add point to location” button to add a feature. Then, add some additional properties to that feature like a telephone number, description, and address.

You can always come back to the editor and modify the data. The changes will be immediately reflected in your Framer projects after saving.

2. Fetch data with the Mapbox Datasets API

Once you create the POI data, you can access them directly through the Mapbox Datasets API. The Mapbox JavaScript SDK makes it simple to interact with the API.

First, install Mapbox JavaScript SDK as a Node.js module:

cd ~/my-framer-project
npm install mapbox

In the modules folder, create a new file and name it npm.coffee, then add:

exports.mapbox=require"mapbox"

Then, use the listFeatures method to fetch the data. You will need two things: 1) A dataset ID, you can find the ID from the dataset view page. 2) An access token with scopes datasets:read and datasets:write. You can create one from the token page of Mapbox Studio. The code will look like this:

{mapbox}=require"npm"mapboxAccessDatasetToken="your_access_token"datasetID="your_dataset_id"mapboxClient=newmapbox(mapboxAccessDatasetToken)# Use the listFeatures method to fetch datamapboxClient.listFeatures(datasetID,{},(err,dataset)->printerriferr# Create a list of locationsforfeature,iindataset.featureslocationTitle=newLayerhtml:feature.properties.place_name+feature.properties.address)

3. Turn data into custom markers on a map

Since your data is stored as GeoJSON features, you can easily turn them into interactive markers on a map with Mapbox GL JS. First, we’ll need to install GL JS as a module and add a map into your prototype. Read our guide to Mapbox + Framer for more details.

After you add the map, add the dataset as a source to the map:

map.on("load",()->map.addSource("points",{"type":"geojson","data":{"type":"FeatureCollection","features":dataset.features}}))

The data that you created with the dataset editor is stored as GeoJSON and includes longitude and latitude coordinates. This makes it easy to retrieve the data on a live map and style the data in any way you want with libraries like Mapbox GL JS. You can also add interactions to the map that correspond to specific mouse or touch events. For example, when clicking on a marker, add an active class to that marker and trigger the state switch function of a layer:

dataset.features.forEach(feature,i)->img=document.createElement('img')img.className="location-marker"# use images as markers on the mapimg.style.backgroundImage="url('images/"+(i+1)+".png')"marker=newmapboxgl.Marker(img).setLngLat(feature.geometry.coordinates).addTo(map)img.addEventListener("click",()-># add an active classhighlightedMarkers=document.querySelectorAll('.active')forhighlightMarker,iinhighlightedMarkershighlightMarker.classList.remove('active')img.classList.add('active')# switch marker content when clickingmarkerContent.states.switch(i))

4. Design realistic interactions

You can also update the data in real-time by using the insertFeature method of the Datasets API. This will help you create more advanced interactions, such as rating a restaurant or adding a museum to a travel list.

In this example, after a user submits a new rating, the updateReviewScore function fetches the latest data and recalculates the count and score, and then the updateFeature function updates this specific feature with the new count and score. When people interact with this prototype, they can see the review score and count changing and get instant feedbacks from their actions.

# Use the on function to listen for the click eventconfirmRateThis.onEvents.Click,->featureID=markerContent.nameupdateReviewScore(featureID,newScore)updateReviewScore=(featureID,newScore)-># Fetch the latest featuremapboxClient.readFeaturefeatureID,datasetID,(err,feature)->oldScore=feature.properties.review_scoreoldCount=feature.properties.review_countfeature.properties.review_score=(oldScore*oldCount+newScore)/(oldCount+1)feature.properties.review_count=oldCount+1updateFeature(feature)# Update the feature with the new dataupdateFeature=(feature)->mapboxClient.insertFeaturefeature,datasetID,(err,feature)->generateContentPageContent(feature)clearRateModal()

You can download and view the full code example from here. Want early access to Mapbox Studio dataset editor? Sign up here.


Design a location-based game map with Mapbox Studio

$
0
0

A couple weeks ago I built a web map in the style of Pokemon Go, and a bunch of you emailed asking how I made it. For all you designers out there, here’s a tutorial on designing a fun, minimal map for your next location-based game with Mapbox Studio.

Step 0: Pick your colors

Before opening Mapbox Studio, I recommend picking the basic color palette for your map. You’ll need colors for roads, land, buildings, and water. I used Inkscape for this step, but any graphics program will do the trick. Here’s my palette:

color palette

If you need help refining your palette, check out https://coolors.co/ or https://color.adobe.com.

Step 1: Create your style

Head to Mapbox Studio and create a new style using the “Basic” template. If you’re new to Mapbox Studio, check out our Get started with Mapbox Studio guide. When you’re in the style editor, zoom in on a city of your choice – this will be your playground for creating this map style.

Minneapolis

Step 2: Clean up the template

Before you get started adding to your color palette, delete the following layers (you won’t need them for this style):

  • country_label
  • place_label_city
  • place_label_other
  • road_major_label
  • poi_label
  • landuse_overlay_national_park
  • admin_country
  • waterway
  • bridge_major
  • bridge_minor
  • bridge_minor case
  • tunnel_major
  • tunnel_minor

You can highlight multiple layers at the same time by shift-selecting them and then deleting them all at once.

Step 3: Pick roads to style

When making a location-based game, roads are an important element of your map style. You need to include enough roads to provide context, but not so many roads that the map seems too busy.

First, adjust the filter on the road_major layer to also include structures of type “bridge.” To do this:

  • Select the road_major layer from the list
  • Click the Select data tab
  • In the Filter section, click where it says structure is any of “ford” “none”
  • Click + Add value and select “bridge”

Do the same thing in the road_minor layer.

Then, in the road_minor layer, reduce road density on the map by changing the class filter to only "link", "motorway_link", and "street". To do this:

  • In the Filter section, click where it says class is any of …
  • Click the next to path, pedestrian, service, street_limited, and track

To get out of x-ray mode and go back to styling your map, click the Style tab on the layer. For more guidance on filtering in Mapbox Studio, check out our filtering data in Mapbox Studio guide.

Step 4: Style the roads

Make roads wider

Wide roads are a hallmark of the Pokemon Go map style. To match this in your style, adjust road widths so roads are extra wide at high zoom levels. To do this:

  • Select the road_major layer and click the number next to Width
  • Right now, major roads will display at a width of 0.5px at zoom level 6, increasing gradually to 30px at zoom level 20. Change the 30px to 60px
  • In the field underneath the graph, change the rate of change between stops from 1.4 to 1.6
  • Select the road_minor layer and change the 30px to 50px
  • In the road_minor layer, change the rate of change from 1.4 to 1.6

Add road casing

Your game map should have casings on the roads to make them really pop. To do this:

  • Select road_major and road_minor in the layer list and click the Duplicate layer button at the top of the list – this will create two new layers called road_major copy and road_minor copy
  • Rename these layers to road_major case and road_minor case

Next, change the styling of these layers:

  • Select road_major case and click the number value next to Width
  • In the toggle, click the button next to one of the two values under the graph
  • Click the number next to Width again and change the value to 3
  • In the Options section, click the number next to Gap width
  • In the list, find the number next to road_major and click on it

Repeat this for road_minor case, setting Gap width to the road_minor value.

Finally, in the layer list drag road_major case under road_major and road_minor case under road_minor.

Step 5: Apply your color palette

Now it’s time to add your colors! Layer by layer, go down the list and change the layer color by clicking the field next to Color and choosing from the picker or typing in a value.

Here are other fun things to try:

  • Change the opacity of your building layer to make the buildings semi-transparent and let the background show through
  • Create an outline layer for your buildings by making a building case layer, converting it from a fill layer to a line layer, and setting the width to 2px

Step 6: Add textures

Textures can make your game map seem more alive! To add some textures to your map, you need an SVG of a pattern that will be able to repeat seamlessly, so that if you were to put two copies of the SVG side by side, they would line up. You can grab one from the internet or create one yourself in your design software of choice. Here are the images I created for my map. Make sure the fill color of your SVG is black and that it has a transparent background.

To add your SVG to the map:

  • Drag and drop the SVG file or files into the style editor and click Upload
  • Select the layer to which you want to add the texture (I recommend starting with background) and click the button to duplicate it
  • Change the new layer name to background texture (or whichever layer you duplicated)
  • In the background texture layer, click the field next to Pattern and select your uploaded SVG from the list
  • Adjust the Opacity to create a subtle texture effect

Make sure the texture layer is above the original layer.

Step 7: Publish!

Feel free to make additional adjustments to the map as you see fit, whether that’s removing labels, adding back other features, or anything else to make it your own. When you’re finished and ready, change the name of your style in the top left corner of the page from Basic to My Awesome Game Map (or whatever you want to call it) and click the purple Publish button.

Congratulations! You just created a minimal map style for your location-based game. You can use this style right away with Mapbox GL JS, the Mapbox iOS SDK, or the Mapbox Android SDK. We’d love to see what you make – be sure to share it with us on Twitter @Mapbox!

Track 'em all with PokeRadar!

$
0
0

Missing a Vaporeon? Did that Dragonite disappear before you unleashed your Pokéball? Trying to catch ‘em all can be grueling, but Pokémon Go has spawned an ecosystem of companion apps to help you meet other players and expand your Pokédex.

PokeRadar uses crowdsourced data from the incredible community created by Pokémon Go to show where Pokémon have been caught and for how long they’ll be available. The PokeRadar team has optimized the platform to display only Pokémon caught within the last 60 minutes, ensuring the data is fresh.

PokeRadar uses Mapbox Streets and marker clustering to elegantly manage thousands of Pokémon sightings and help users navigate their augmented reality (AR) quests. Custom tooltips let users confirm a Pokémon’s location and see who caught it most recently.

Imgur

Head over to PokeRadar to see what’s near you, and check out their iOS and Android apps as well. Working on your own AR app or using Mapbox to build maps for a game? Show off your work @Mapbox.

Say hi at the NABJ and NAHJ Annual Convention and Career Fair!

$
0
0

This Friday, August 5, 2016, at 2pm, we’ll be leading a workshop at the 2016 NABJ and NAHJ Annual Convention and Career Fair, one of the premier venues for journalism education and career development for the nation’s leaders in media, business, arts and entertainment, and technology.

Join me and Mikel Maron, as we share examples of interactive mapping in journalism, open source methods and tools for data collection, and show you how to apply the Mapbox stack to your next project. Our workshop, Mapping Narratives: Using Maps to Tell Better Stories, is part of the NABJ / NAHJ’s Innovation Bubble, a spotlight of the newest technology journalists can use to gather and present data and tell stories in more creative and engaging ways.

Cathryn Stickel and Nat Slaughter will also be on hand to answer any questions you may have about Mapbox and interactive mapping.

Interested in making maps at Mapbox? We’re hiring for a data visualization designer and map designer in our SF office.

Mapbox + Unity

$
0
0

We’re building core support for Mapbox in Unity, the game engine used in many games - including Pokémon GO. This allows developers to use Studio to design maps to match the feel of their game. The plugin is a drop-in replacement for Unity’s plugin example: replace the binary to render the map on the scene. All the code is open source on Github.

Getting started

Start with the Low-level Native Plugin Interface, a plugin interface that allows you to render to a texture created in C# and pass it over to native code.

The original example draws a plasma effect to a texture using the CPU, which we replaced by drawing a nifty map using the GPU. Before rendering the map with OpenGL, we bind a framebuffer object and attach the texture passed by Unity as GL_COLOR_ATTACHMENT0, meaning that the rendering result will show up on the texture.

That’s all there is to it. Dynamically render fresh maps of any place in the world at runtime. We only redraw to the texture when new tile data arrives or when we update map state like the style, center coordinate, zoom level, etc. A great consequence is that Mapbox GL Native is idle most of the time, not consuming precious resources.

Don’t forget to set MAPBOX_ACCESS_TOKEN to your token ;)

Now rendering a map

Mapbox now powers The Weather Channel App on iOS

$
0
0

The most popular weather app on the App Store just switched to Mapbox mobile. The Weather Channel now uses our SDK to visualize the most accurate and precise weather forecasts around the world.

The new app features three custom map styles that perfectly complement animated overlays of radar, temperature, UV index, and hurricane tracking. Using gaming-inspired rendering technology, our iOS SDK combines these rich visualizations with instant interactivity. We’re excited to be a part of millions of people’s daily routines and hope that all your days are sunny, or at least that you remember to check if you need an umbrella.

Nick Cordella joins Mapbox

$
0
0

Join us in welcoming Nick Cordella to Mapbox! Nick will help us create new products from sensor data for semi-autonomous cars as part of Mapbox Drive.

Nick comes to us from ExoNav where he was building a navigation map for autonomous vehicles. Prior to that he was at Stanford where he received a PhD in Chemical Engineering with a focus on theoretical biophysics.

Welcome Nick!

Join us for the WikiConference India 2016

$
0
0

Join us on the 6th and 7th of August for the WikiConference India 2016 taking place in the Chandigarh Group of Colleges, Landran (Mohali), India.

Manoj K and me will be a part of the mapping party happening on 7th August, where we will introduce participants to OpenStreetMap and map the campus in full detail.

This map only shows named places in OpenStreetMap that do not yet have a Wikidata tag (Click here to view the full map)

When features in OpenStreetMap are linked to facts in Wikidata, it becomes possible to build new types of data-driven map applications using Mapbox tools. Wikidata can tell you the translated name of a city or other populated place, its population and demographics, historical dates, political figures, and much more.

What data-driven maps do you want to build? We’re looking forward to meeting with other Wikipedians at Chandigarh to share ideas and improve OpenStreetMap together!


Lonely Planet launches with offline maps

$
0
0

Lonely Planet, the world’s largest travel guide publisher, just launched the newest version of their Guides app for iOS using our latest mobile SDK. The Guides app includes beautiful travel guides, and fast offline maps, perfect for exploring cities around the world.

With the Olympics right around the corner, travelers headed to Rio can easily navigate to their event venue in the morning, take a scenic hike in the afternoon, and grab dinner at a local restaurant before sunset — all without leaving the app.

Building upon their success of paper guides, Lonely Planet understands the power of offline. Traveling to remote places often means limited bandwidth or expensive roaming charges, and offline maps give travelers the best possible mobile experience. Lonely Planet’s city guides can be downloaded before your trip so you can explore your favorite city without worrying about your next phone bill or a flaky connection.

Download Guides for your next adventure, build your own travel maps with Mapbox Mobile, or say hello on Twitter if you want to talk mobile maps.

Mapbox Summer BBQ

Yunjie Li joins Mapbox

$
0
0

We are thrilled to welcome Yunjie Li to the Mapbox team! Yunjie joins the labs team in San Francisco where she will build custom maps and applications to showcase the breadth of uses for Mapbox design and developer tools.

Yunjie graduated in May from the Harvard Graduate School of Design. At Harvard, her work included mapping cultural perceptions of a place using social media data, redesigning the user experience of Boston’s bikeshare program, and giving workshops on spatial analytics and data scraping for architects, landscape architects, and urban planners. Prior to that, she completed a bachelor’s degree in urban planning at Peking University.

Welcome, Yunjie!

Custom HTML markers in Mapbox GL JS

$
0
0

You can now add HTML markers to your GL maps in the latest release of Mapbox GL JS (v0.21.0). The Marker API provides you with added flexibility for representing point data by allowing you to use dynamic HTML, including images and videos, to create markers.

Below is a map that I created with Marker, which shows recently spotted plant and wildlife species at a given location. I am streaming the thumbnail photos in real-time from the iNaturalist API.

Here is how you can add a custom image Marker to your map using an external URL (returned from an API call, for example).

varel=document.createElement('div');el.className='marker';el.style.backgroundImage='url('+img_url+')';newmapboxgl.Marker(el).setLngLat([-122.4,37.7]).addTo(map);

Also check out this Mapbox GL JS example to see a full example of the Marker class in action.

Make a map!

We would love to see the maps you’re building with custom markers! If you have something to share, tweet at @Mapbox.

Taller de OpenStreetMap - WISCI 2016

$
0
0

English version below.

El 29 de Julio, el equipo de Mapbox Perú apoyó en un taller de OpenStreetMap para 100 niñas de educación secundaria de Chile, México, Estados Unidos y Perú que participarón en el Campamento de Mujeres en Ciencia 2016 - WISCI. Este evento fue organizado por Girl Up de la Fundación de las Naciones Unidas con el apoyo del Departamento de Estado de los EE.UU., el Foro de Cooperación Económica Asia-Pacífico (APEC) y el Consejo Nacional de Ciencia, Tecnología e Innovación Tecnológica (CONCYTEC).

Karito y yo realizamos cuatro talleres con 25 niñas en cada grupo, donde les hablamos a cerca de OpenStreetMap y los diferentes usos de los datos de OSM: sociales, humanitarios y comerciales, entre otros. También resaltamos algunos ejemplos para diseñar mapas bonitos con Mapbox Studio y Mapbox.Js. Les ayudamos a crear sus cuentas en OSM y les enseñamos el uso del editor ID. Sus primeras ediciones fueron en sus vecindades, ellas agregaron al mapa sus casas, colegios, puntos de interés y algunas calles. También les enseñamos el uso del editor JOSM, mapeando en zonas de riesgo por bajas temperaturas en el Perú.

Las chicas estaban muy felices al saber que pueden agregar datos geográficos al mapa de manera muy rápida y nos impresionó el talento y entusiasmo con la cual salieron del taller. El equipo de Mapbox siempre está dispuesto a apoyar en estos eventos para aumentar la participación de más mujeres en los sectores de ciencias, tecnología, ingeniería y matemáticas (STEM). Nosotras seguiremos buscando oportunidades en las cuales podamos contribuir al desarrollo y crecimiento de la mujer. Si te interesa colaborar con nosotros, ¡no dudes en contactarnos!

28543174131_57c5a543c9_o

On July 29th, the team Mapbox Peru supported an OpenStreetMap workshop for 100 high school girls from Chile, Mexico, the United States and Peru participated in the Women in Science Camp 2016 - WISCI. The event was organized by the United Nations’ Girl Up Foundation and supported by the U.S. Department of State, the Asia-Pacific Economic Cooperation (APEC), and the National Council for Science Technology and Technological Innovation (CONCYTEC) .

Karito and I lead four OpenStreetMap workshops, where we talk about OpenStreetMap and went through different ways in which OpenStreetMap data can be used, ranging from social and humanitarian to commercial. We also highlighted some examples of map design, diving into Mapbox Studio and Mapbox.js. We also helped the girls create OpenStreetMap accounts and taught them how to use the ID editor. Their first edits were focused on their neighborhoods, where they add their homes, schools, points of interest and some streets to the map. We also taught them how to use the Java OpenStreetMap Editor (JOSM). They mapped areas in Peru at risk due to low temperature.

The girls were very excited to learn that they can add data to the map very quickly and we were impressed by the talent and enthusiasm with which the girls came out of the workshop. Our team is always ready to support these events to increase the participation of more women in the fields of science, technology, engineering and mathematics (STEM). We continue to seek opportunities in which we can contribute to the development and growth of women. If you are interested in working with us, don’t hesitate to contact us!

dsc00506

Viewing all 2294 articles
Browse latest View live


Latest Images