Python FastAPI + PostGIS Mini-Project
3341 USDWe’d like to assess your practical skills in working with FastAPI, PostgreSQL + PostGIS, and geospatial data processing.
✅ Project Overview
You will implement a small REST API using FastAPI and PostGIS to support geospatial operations.
The test includes 4 types of project tasks, each targeting different skills:
📦 Task Types
GeoJSON Input API
Build an endpoint that receives polygons in GeoJSON format and stores them in the database.Spatial Query with Bounding Box
Implement an endpoint that returns all polygons intersecting a given bounding box.Async Database Access
Use async FastAPI with proper database drivers to fetch geospatial data.Data Serialization
Ensure that geospatial data is returned in proper GeoJSON format to the client.
📘 Instructions
You will need to:
Use FastAPI as the web framework
Use PostgreSQL + PostGIS as the database
Include Docker configuration if possible
Use async where applicable
Follow REST best practices
We’re urgently looking for a Middle or Senior Python Backend Developer with solid experience in PostGIS and FastAPI to join our team on an active GIS-focused project.
🔧 Project Overview
You’ll be working on a geospatial platform that handles large volumes of data, including polygon storage and querying. The backend is being built entirely on FastAPI, and PostGIS is used extensively for spatial data operations.
🛠️ Requirements
3+ years of experience with Python
Hands-on experience with FastAPI
Proven experience working with PostgreSQL + PostGIS (geometry, geography types, spatial indexes, complex queries, etc.)
Strong understanding of storing and querying large geospatial datasets
Experience with performance optimization and batch inserts
Familiarity with Docker, Git
➕ Nice to Have
Experience with async programming
Familiarity with SQLAlchemy (or async ORM)
Worked on other GIS / geospatial platforms
6-7 weeks of work
-
2642 6 1 Hello!
The task is clear and fully matches my stack and experience. The technologies you specified — Python, FastAPI, PostgreSQL, and Docker — are the foundation of my 4 years of practice in backend development.
I have practical experience working with PostGIS, including using spatial indexes (GIST) and performing geo-queries (for example, using ST_Intersects) to filter data by bounding box. The tasks for the test mini-project — implementing endpoints for GeoJSON and asynchronous request processing — are completely clear to me.
I am ready to complete the test assignment to demonstrate my skills and then move on to the main project.
-
548 1 0 Hello,
I understand that you need a backend on FastAPI that works with PostGIS for geospatial data. I can create the necessary endpoints for accepting GeoJSON, bounding box queries, and asynchronous data access. The API will return clean GeoJSON responses.
I will use asyncpg or SQLAlchemy with async support. Docker configuration will be included. I have experience working with large geospatial datasets and know how to use spatial indexes to improve speed.
-
1192 12 0 Hello. All recent projects were done using almost your stack. I am ready to offer my candidacy.
-
1222 38 0 Hi,
The test task looks straightforward. I'd set up a docker-compose environment, build the API with FastAPI's async features, and use PostGIS with proper GIST indexing for the spatial queries to make them fast.
I have production experience with exactly this stack, especially with optimizing PostGIS queries on large datasets, which seems to be the core of your main project.
Quick question about the main project: you mentioned "large volumes of data" and "batch inserts". Could you give a rough idea of the scale we're talking about? Just curious about the performance challenges ahead.
Ready to tackle the test task. Let's talk.
-
612 21 0 Hi. I am able to do your project. I have enough experience and time. You can write me message to discuss details.
-
72 1 Good day, I have 5 years of experience, I work at IBM, ready to help, write to me to discuss the details.
-
946 12 0 Hi Anton!
That sounds interesting, I'd be happy to learn more about your test task :)
-
226 Hi!
I'm very interested in this opportunity. I have solid experience working with FastAPI and asynchronous programming, as well as deep knowledge of PostgreSQL and PostGIS, including complex spatial queries, indexing, and performance optimization.
In past projects, I've implemented endpoints for GeoJSON input/output, bounding box searches, and layer filtering with millions of spatial objects using PostGIS. I'm also comfortable working with Docker and async ORMs like SQLModel or Tortoise.
I can deliver a clean, well-structured REST API with full GeoJSON support, async operations, and PostGIS-backed logic. I’d be happy to go through the test task — please send over the details.
Let’s connect — I’d love to contribute to your GIS platform.
-
1182 13 0 3 Hello, my name is Ruslan. My team and I are engaged in development
We have extensive experience in developing projects in Python using APIs and processing geospatial data.
I suggest discussing the details in private messages
-
1212 7 0 Good day!
Thank you for the detailed project description and requirements. This challenge fully matches my experience and interests.
Why I am suitable for this project:
Over 3 years of experience with Python focusing on backend development, particularly with FastAPI.
Practical experience with FastAPI — created scalable REST APIs using asynchronous programming and Pydantic validation.
… Deep knowledge of PostgreSQL with PostGIS — worked with complex geospatial queries, geometry and geography types, created spatial indexes, optimized queries for large datasets.
Asynchronous database access — used SQLAlchemy 1.4+ with asyncpg driver for efficient operation.
Serialization of geospatial data into GeoJSON — ensured correct conversion of spatial types into valid GeoJSON for clients.
Performance optimization — experienced in optimizing batch inserts, indexing, and tuning PostGIS for fast geospatial data processing.
Docker — create and maintain docker-compose configurations for projects with PostGIS and FastAPI for easy deployment.
Git — a routine part of workflow, maintaining clean commit history and branch management.
How I plan to implement the tasks:
GeoJSON polygon acceptance endpoint — via POST method, with Pydantic validation, conversion to WKB, and storage in a table with geometry.
Spatial query (bbox) — GET endpoint with bounding box parameters, using PostGIS ST_Intersects function to find overlaps.
Asynchronous operation — fully asynchronous work through FastAPI and asyncpg to ensure maximum throughput.
Serialization — when returning data, convert polygons to GeoJSON using ST_AsGeoJSON and deliver valid GeoJSON to clients.
Docker configuration — create docker-compose with PostgreSQL + PostGIS service and FastAPI backend.
If interested, I am ready to provide a prototype solution or deploy a full minimal working example for evaluation.
I would be glad to join the team and help develop the geospatial platform.
Thank you for the opportunity!
Best regards,
Ruslan
Current freelance projects in the category Web Programming
Layout of the site for WordPressGood day, I need layout - high quality, flexible, responsive. Landing Page + blog Please send a couple of your works from your portfolio, with the most interesting layouts, with animations. Thank you HTML & CSS, Web Programming ∙ 1 hour 39 seconds back ∙ 46 proposals |
Installation of a plugin on Shopify for customizing content on different pagesHello. I need to install a plugin on the Shopify site to add and edit custom content at the bottom of each category page for SEO. Requirements: 1. Text format 2. FAQ block Alternatively, it can be implemented through the site code, but it should not affect the site's… Content Management Systems, Web Programming ∙ 1 hour 2 minutes back ∙ 14 proposals |
Fix layout bugs on the OkayCMS website
16 USD
Fix bugs in the dropdown menus on the OkayCMS website. There is a bug in the display of the submenu when hovering over them. Content Management Systems, Web Programming ∙ 2 hours 10 minutes back ∙ 32 proposals |
Small edit on the website
16 USD
Need to update the offer agreement in the footer to a new one, the company has changed its regulations Task will take 20 minutes Web Programming, Desktop Apps ∙ 4 hours 36 minutes back ∙ 87 proposals |
Transfer of the website to ShopifyWe need to migrate the current website jdfurniture.uk from OpenCart to the Shopify platform. The current OpenCart site generally meets our needs in terms of structure and functionality. The main reason for the migration is issues with payment systems. There should be no such… HTML & CSS, Web Programming ∙ 19 hours 18 minutes back ∙ 31 proposals |