Python FastAPI + PostGIS Mini-Project
3383 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
-
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.
-
1168 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.
-
698 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.
-
930 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.
-
1246 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
Full-stack development — Amazon PPC Dashboard (Stage 1)Need a full-stack developer with experience working with Amazon API to implement Stage 1 of the internal PPC dashboard. The project is real, the data is live, everything is ready to start. Frontend prototype (5 pages, React + TypeScript): WHAT IS ALREADY READY — Frontend… Javascript and Typescript, Web Programming ∙ 2 hours 59 minutes back ∙ 7 proposals |
Development of a website on WordPress for an IT company
226 USD
We are looking for a WordPress developer to create a small company website that will provide IT services. The project does not require designing from scratch — the main materials are already prepared. We already have: the website structure and page map; ready texts for the… Web Programming ∙ 10 hours 35 minutes back ∙ 62 proposals |
OpenCart — rental catalog of special equipment
135 USD
OpenCart — Equipment Rental Catalog Need to launch an equipment rental catalog on OpenCart. Theme: excavators cherry pickers forklifts generators cranes scaffolding other construction equipment. It is preferable that you already have a ready-made template or developments… Web Programming, Data Parsing ∙ 11 hours 9 minutes back ∙ 42 proposals |
It is necessary to implement the transfer of offline conversions from SalesDrive to Google Ads and Google Analytics.
271 USD
The website on OpenCart > leads come from GA4 into CRM Salesdrive > from there they need to be transferred to Google Ads linking the lead and the closed deal along with its value. Together with CRM Salesdrive, Binotel call tracking is used. Also interested in returning events… Web Programming ∙ 16 hours 44 minutes back ∙ 22 proposals |
Setting up the PRRO Checkbox for the online store and training on how to use itBlock 1. Registration and Basic Setup: Assistance with submitting the necessary applications (20-OPP, 1-PRRO, 5-PRRO) through the taxpayer's electronic cabinet. Complete setup of the cabinet in the Checkbox system (adding nomenclature, setting tax rates, etc.).Block 2.… Accounting Services, Web Programming ∙ 16 hours 52 minutes back ∙ 16 proposals |