Technical Review of Django/Python SaaS Platform

via Freelancer ·

Budget / Salary£250–750
TypeFreelance project
LocationRemote
Posted2 hours ago
About the project

We are building, a legal practice management platform designed specifically for small UK law firms.

The product has been founder-built and has now developed into a substantial application. It is already well beyond prototype stage, but it has reached the point where I want an experienced senior engineer to review the architecture, challenge previous decisions, identify technical risks and help establish a maintainable engineering direction.

This is not a greenfield project and I am not looking for someone to rewrite the application from scratch.

I am looking for someone who is particularly good at inheriting existing systems, understanding them quickly and deciding what should be kept, simplified, improved, removed or deferred.

Current technology

The application is primarily built around:

- Python / Django
- PostgreSQL
- Redis
- Celery and background workers
- Docker
- Cloudflare R2 / S3-compatible object storage
- Document generation and PDF processing
- Microsoft Word / Outlook integrations
- REST APIs
- Cloud-based deployment infrastructure

The application deals with sensitive legal information, so security, data isolation, reliability and maintainability are particularly important.

Initial engagement

The first engagement will be a paid technical assessment, likely around 10–15 hours.

You will be given controlled access to a private development snapshot of the repository.

I want you to independently review the system and provide a practical assessment covering:

- Overall architecture and code organisation
- Maintainability
- Technical debt
- Security concerns
- Database architecture
- Django application structure
- Background processing / Celery architecture
- Document processing
- Testing and test coverage
- Dependencies
- Deployment and operational considerations
- Areas of unnecessary complexity
- Potential scalability or reliability problems

Most importantly, I want you to identify:

1. What is already designed well and should be left alone

2. What needs fixing

3. What should be simplified

4. What could potentially be removed

5. What should be deferred rather than built now

I am not looking for an impressive architecture diagram or a recommendation to introduce fashionable technology.

I want practical engineering judgement.

Deliverable

At the end of the review I would expect a concise written technical assessment followed by a video call where you explain your findings.

You should be able to explain:

- The five biggest technical risks you see
- The areas you would address first
- What you would deliberately not change
- Whether the existing architecture provides a sensible foundation
- How you would reduce complexity
- How you would structure development over approximately the next six months

I will ask questions and challenge recommendations, so you should be comfortable discussing and defending your reasoning.

Potential ongoing role

If the initial engagement goes well, I am looking for someone who could potentially become the lead senior engineer / fractional technical lead.

That could involve:

- Technical ownership of the codebase
- Architecture decisions
- Code reviews
- Establishing engineering standards
- Managing technical debt
- Improving testing and release discipline
- Reviewing work produced by other developers
- Implementing complex features
- Helping recruit and supervise additional engineers as the company grows

I am therefore more interested in finding the right person than the cheapest hourly rate.

Who I'm looking for

You should have strong commercial experience with Python and Django and ideally have worked on substantial SaaS applications.

Experience with PostgreSQL, Redis, Celery, Docker and production infrastructure is highly desirable.

Most importantly, you should have experience taking responsibility for an existing codebase, rather than only building greenfield applications.

You should be comfortable telling a founder:

«"Don't build that yet."»

or:

«"This is more complicated than it needs to be."»

Equally, I don't want someone who automatically recommends rewriting systems simply because they would have designed them differently.

Good engineering judgement matters more to me than allegiance to a particular technology.

When applying

Please don't send a generic proposal.

Instead, briefly answer the following:

1. Tell me about the largest existing Django/Python application you have inherited rather than built from scratch. What condition was it in when you took responsibility for it?

2. What were the first three things you did after inheriting that application?

3. Give me an example of something you chose NOT to rewrite even though you would have designed it differently yourself. Why did you leave it alone?

4. Give me an example of technical complexity you removed from an existing application.

5. What would you want to examine during your first few hours inside an unfamiliar Django SaaS repository?

6. Are you comfortable beginning with a small paid technical assessment before discussing a longer engagement?

Please start your proposal with the words "Keep, Fix, Simplify" so I know you have read the brief.

I am particularly interested in applicants who can demonstrate thoughtful technical decision-making rather than simply listing technologies they have used.
python django software architecture postgresql redis docker security cloudflare celery rest api
Apply on Freelancer →

Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.