Block / Cash App
Senior Software Engineer
High-scale card issuing infrastructure at Cash App, working on event-driven systems, Kafka, Snowflake streaming, and reliability-sensitive changes where correctness and careful rollout mattered.
michaelchapman.dev
With over 12 years of hands-on experience, I build new Rails applications, maintain existing systems, and help turn messy operational problems into reliable software.
Whether you need new features, bug fixes, legacy Rails work, or a custom web application to replace complex spreadsheets and manual processes, I deliver practical solutions that simplify processes and save you and your team time.
I can...
Work History
Senior Software Engineer
High-scale card issuing infrastructure at Cash App, working on event-driven systems, Kafka, Snowflake streaming, and reliability-sensitive changes where correctness and careful rollout mattered.
Senior Software Engineer
Healthcare SaaS product engineering in a startup environment working with Ruby on Rails, PostgreSQL, sensitive customer data migration and imports, API integrations, code review, and mentoring.
Senior Software Engineer
Customer-facing hotel booking platform work in Ruby on Rails, including points calculation, partner integrations, event-sourcing with AWS SNS/SQS, and production support.
Across these roles I have worked throughout the Rails stack, including Ruby on Rails, PostgreSQL, Tailwind, API integrations, background jobs, event-driven systems with Kafka and AWS SNS/SQS, Redis, RSpec, CI/CD, monitoring, and deployment with Heroku, AWS, Fly.io, and Render.
How It Works
First we discuss your requirements via email or on a video call, and I gather enough context to provide an informed quote.
Fill out the Request A Quote form below and I will respond as soon as possible to discuss next steps.
I provide a fixed-price quote for the work with an estimated completion time. Once the quote is accepted and a deposit, if required, is paid, work can commence.
In order to provide an accurate quote I will need collaborator access to your GitHub repository so I can clone the code, create new branches, and open pull requests. For security, I recommend protecting your main branch so changes can only be merged after review. This means you stay in control of when anything reaches main.
A 20% deposit is required from new clients for work estimated under 10 hours. Larger tasks or projects are broken into smaller milestones, typically not more than $500 each, so progress stays steady and risk is limited for both sides.
I start working through the requirements. I will ask questions for anything I am unsure about, provide regular progress updates, and request feedback to ensure I am on the right track.
When work is complete, I submit a pull request on GitHub for your approval. Depending on your deployment setup, I may be able to provide a testing link for you to confirm changes are working as expected before merging the code to your main branch.
Once you are satisfied the work is completed as expected, you merge the pull request to your main branch and deploy to production if required. I can verify everything is working, and any issues or bugs relating to my work will be fixed free of charge.
Changes and new ideas are often discovered during the development process. I am happy to amend the scope of work as we progress, however any significant changes will need to be quoted as new work.
Profit on Props is a profit tracking journal for prop firm traders, helping users track accounts, balances, targets, rules, and progress in one place instead of relying on scattered spreadsheets.
My work took the product from a half-finished vibecoded prototype into a coherent, higher-quality application ready for launch, including bug fixes, feature development, test coverage, deployment pipeline improvements, workflow improvements, and a redesign of the dashboard and account pages to make the product feel more polished, easier to understand, and more useful for traders managing multiple accounts.
Client review
“I highly recommend Michael for Ruby development, bug fixing, and workflow improvements. Even though this was his very first Upwork contract, he went above and beyond my expectations by expertly resolving a bunch of bugs and adding a clean, efficient new workflow that made the project run smoothly. He delivered excellent results with strong professionalism, clear communication, and a great work ethic. Any Upwork client hiring Michael will be thrilled with his work and won’t be disappointed. I look forward to working with him again!”



Pricing
I will provide a fixed-price quote for any task or project with scope agreed before work begins to ensure no unexpected costs. Work estimated at 10 or more hours will be quoted at $80 AUD/hour, otherwise my standard rate of $90 AUD/hour will be used.
>= 10 Hours
$80
AUD/hour
< 10 Hours
$90
AUD/hour
Contract
By agreement
Weekly or monthly
Payment can be accepted via Wise or bank transfer.
Payment is typically made on a milestone basis with requirements and cost agreed upon before work is commenced.
Payment is currently accepted via Wise. Bank transfer can also be arranged for Australian clients.
Milestones reduce risk. Larger projects can be broken into smaller milestones, so you only commit to the next useful piece of work instead of the whole project upfront.
Small fixes, reviews, and one-off questions are welcome. No long-term commitment required.
Get In Touch
Send a quick message if you are not ready for a quote yet, or if you want to ask whether I can help with your Ruby on Rails application.
Request A Quote
The more detail you can share, the more accurate the estimate. You will receive a quote with the total cost before any work starts.
For anything that would benefit from a walkthrough, I am happy to jump on a video call and review the requirements over screenshare so I can understand the work properly and provide the most accurate quote possible.
Two ways to hire
Send the quote form for a direct engagement, or hire through Upwork if you prefer platform-managed escrow and reviews.
Safety note
Please do not send passwords, API keys, production secrets, or private repository invites in this form. We will agree on a safe access path once the engagement is confirmed.