Understand the real workflow.
Start with the people doing the work: what they use, what they repeat, and where information gets lost. That context shapes the software.
I lead AI and automation development at GreenTomatoMedia. Alongside that role, I work with clients on websites, business systems, and the connections between them.
Current role / GreenTomatoMedia
I joined GreenTomatoMedia as a fullstack developer in 2024. Today my focus is AI and automation, building on experience in architecture, feature delivery, code review, and the systems behind media operations.
Read the role overviewThe background
My first professional role was in customer service at a logistics company in 2021. Website administration and operations work followed. I completed a Computer Science degree and a fullstack bootcamp in 2022, then worked on web and mobile applications at Organic Social Software in 2023.
That mix of operations and engineering carries into my client work. I built a gym operations platform across 5+ branches, and a website for Sound Healing Chiang Mai in three languages. Different projects, each shaped around a concrete need.
I also publish tools I want to use myself: Django packages for rate limiting and safer migrations, and Torpor, a native macOS tool for managing Claude Code sessions.
How I work
Start with the people doing the work: what they use, what they repeat, and where information gets lost. That context shapes the software.
Connect the decisions to the implementation. Architecture, interfaces, integrations, and delivery are parts of the same job.
Make the important paths clear, write down decisions, and document what the next person needs to know.
Now
Active
Websites · Systems · SEO
Client work shipped end to end: a multi-branch gym operations platform, a trilingual wellness-studio site, and search-visibility engagements.
Now
Present
Leading AI and automation development, alongside the architecture and delivery of business systems.
2024
1 year
2023
1 year
Organic Social Software
Cross-platform mobile and web product delivery.
2022
1 year
A2A Integrated Logistics
Operations and workflow optimization for a logistics firm.
2021
1 year
A2A Integrated Logistics
First professional role. Entry into the working world.
Built when I hit a wall in production — two Django packages and a macOS app. Versioned and maintained.
Django rate limiting with configurable strategies, multiple storage backends, and request logging.
Checks Django migrations for potentially risky operations, with rollback support to help plan and review database changes.
A native macOS menu bar app to inspect Claude Code memory use, hibernate idle sessions, and revive them when needed.
If these save you time, you can sponsor the work →
Technical background
Deepest in Django, Python, Next.js, and TypeScript. The broader toolkit comes from shipping web, mobile, native, and operations software.
For the technically curious
The experiment below explains one rate-limiting rule using sample traffic. It is a browser demonstration, not a live service or the Python package running in your browser.
The workbench / Try a rule
A small, playable explanation of rate limiting. Set an allowance, send requests, and watch the boundary do its job.
Explore django-smart-ratelimitReady. Send a request or a burst to see the rule in action.
Browser simulation; no network requests. Time advances only when you press the button. Changing the allowance starts a new experiment. The package supports additional strategies and storage backends.
Tell me what you need to build or improve. If you are hiring, the résumé brings the roles, projects, and technical background together.