Services
I enjoy building software that solves real problems, whether that's a backend service, a data pipeline, or an AI-powered application.
If you have a project in mind, need an extra engineer on your team, or simply want to discuss an idea, I'd be happy to chat. If it sounds like a good fit, we can figure out the next steps together.
Full-Stack Development
Design and build modern web applications with a focus on clean architecture, maintainability, and long-term scalability. While my primary interest is backend engineering, I'm comfortable building complete applications from frontend to database.
Typical work includes:
- REST API development
- Database design
- Authentication and authorization
- Background jobs and task processing
- Third-party API integrations
- Responsive frontend interfaces
- Dashboard and administrative interfaces
- Cloud deployment
Data Systems & Analytics
Build data pipelines and analytics solutions that collect, transform, validate, and organize data into reliable information that supports decision making.
Services include:
- ETL / ELT pipelines
- Data ingestion
- Data cleaning and validation
- Data modeling
- Reporting pipelines
- Dashboard development
AI Applications & Custom Tools
Build software that combines modern AI capabilities with traditional engineering to streamline workflows and solve practical problems.
Examples include:
- LLM-powered applications
- Retrieval-Augmented Generation (RAG)
- Data extraction and web scraping
- Browser extensions
- Internal web applications
- Custom tools for specialized workflows
Technologies
I'm comfortable working across the full software stack and enjoy choosing the right tools for the problem rather than forcing a particular technology.
Languages
Python • TypeScript • JavaScript • SQL
Frameworks & Libraries
Django • FastAPI • Angular • Astro • Browser API
Data & AI
Pandas • DuckDB • PostgreSQL • ETL / ELT • Data Modeling • RAG • LLM Integration
Infrastructure & Tools
Docker • AWS • Git
How I Work
Every project is different, but I generally follow a simple process:
- Start with a conversation to understand the problem and your goals.
- Define the scope and identify the most practical solution.
- Build incrementally, sharing progress and gathering feedback along the way.
- Deliver a well-tested solution with clear documentation where appropriate.
Communication is important throughout the process. I'd rather ask questions early than make assumptions later.
Let's Talk
Whether you already have a clear specification, are exploring a new idea, or just want to discuss a technical challenge, feel free to get in touch. Even if we don't end up working together, I'm always happy to meet people building interesting things.
You can book a time that works for you using the scheduler below.