I build and ship web apps, mobile apps and internal business software. If you have an idea, an unfinished product or a process held together by spreadsheets and disconnected tools, I can turn it into software people can actually use. My work includes a business networking platform with payments and event ticketing, coaching apps, CRM and client portal software, booking and checkout systems, multilingual websites and internal tools. Products I have built are live on the App Store and Google Play. My core stack includes TypeScript, React, Next.js, React Native, Expo, Capacitor, Supabase and PostgreSQL. I also work with Stripe, RevenueCat, third-party APIs and AI features built with the Claude and OpenAI APIs. Available for complete builds, individual features, integrations and taking over software that needs fixing or finishing. I can work independently or alongside an existing team, covering everything from scoping and product design through development, testing, deployment and store release. You will get a clear scope, regular working versions and software prepared for real users rather than a prototype that stops at the demo.…

Tom Cavies

I build and ship web apps, mobile apps and internal business software. If you have an idea, an unfinished product or a process held together by spreadsheets and disconnected tools, I can turn it into software people can actually use. My work includes a business networking platform with payments and event ticketing, coaching apps, CRM and client portal software, booking and checkout systems, multilingual websites and internal tools. Products I have built are live on the App Store and Google Play. My core stack includes TypeScript, React, Next.js, React Native, Expo, Capacitor, Supabase and PostgreSQL. I also work with Stripe, RevenueCat, third-party APIs and AI features built with the Claude and OpenAI APIs. Available for complete builds, individual features, integrations and taking over software that needs fixing or finishing. I can work independently or alongside an existing team, covering everything from scoping and product design through development, testing, deployment and store release. You will get a clear scope, regular working versions and software prepared for real users rather than a prototype that stops at the demo.…

Available to hire

I build and ship web apps, mobile apps and internal business software. If you have an idea, an unfinished product or a process held together by spreadsheets and disconnected tools, I can turn it into software people can actually use.

My work includes a business networking platform with payments and event ticketing, coaching apps, CRM and client portal software, booking and checkout systems, multilingual websites and internal tools. Products I have built are live on the App Store and Google Play.

My core stack includes TypeScript, React, Next.js, React Native, Expo, Capacitor, Supabase and PostgreSQL. I also work with Stripe, RevenueCat, third-party APIs and AI features built with the Claude and OpenAI APIs.

Available for complete builds, individual features, integrations and taking over software that needs fixing or finishing. I can work independently or alongside an existing team, covering everything from scoping and product design through development, testing, deployment and store release.

You will get a clear scope, regular working versions and software prepared for real users rather than a prototype that stops at the demo.

See more

Experience Level

Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
See more

Language

English
Fluent

Work Experience

Founder and Full-Stack Software Developer at Ownly Digital
April 4, 2026 - Present
I lead the design and development of web applications, mobile apps and internal business software. The work covers product scoping, interface design, frontend and backend development, databases, payments, third-party integrations, testing, deployment and ongoing support. Projects include business networking software, coaching platforms, CRM and client portal systems, booking and payment flows, multilingual websites and internal operations software. I also take over existing products that need fixing, improving, completing or preparing for production and store release.

Education

Add your educational history here.

Qualifications

Add your qualifications or awards here.

Industry Experience

Software & Internet, Professional Services
    GrowthSync: business networking app for web, iOS and Android
    GrowthSync is a networking platform for founders and business owners. Members find relevant people through discovery and matching, join communities by industry, post and answer opportunities, and host their own events. I built it on my own as product owner and sole developer. That covered the product design, the web app, the iOS and Android apps, the database and its security rules, payments, and getting it through App Store and Google Play review. Events are the most involved part. Hosts sell tickets through Stripe and are paid out through Stripe Connect. Attendees get a pass in Apple Wallet or Google Wallet that updates itself if the event changes, can hand their ticket to someone else, and are checked in on the door with a QR scanner that the host can share with a helper for the night. Around that: live chat, push notifications, subscriptions through Stripe on the web and Apple in-app purchase on iPhone, and 21 languages including right-to-left Arabic, with a build check that stops untranslated text from shipping. Built with: Next.js, TypeScript, Supabase (Postgres, Realtime, Storage), Capacitor, Stripe, Firebase push notifications, Sentry Links: Live site](https://www.twine.net/signin App Store](https://www.twine.net/signin Google Play](https://www.twine.net/signin Case study](https://www.twine.net/signin…
    ProFlow Academy: coaching app for a posing programme
    ProFlow Academy coaches bodybuilding and physique athletes on stage posing. Before the app, the coaching ran through direct messages and video links sent one by one, so nobody could see who had watched what or who had gone quiet. I built the app for iPhone and Android, plus the web version the coaches use at a desk, and I handled the scope, design, build, store releases and ongoing support. Admins, coaches and athletes each get their own view. The course is a video library that unlocks lesson by lesson over time, and athletes send check-ins built from forms the coaches design themselves, with posing photos and video. Athletes book sessions inside the app, prepaid session blocks count down when a booking comes through, and there is a community space with posts and replies. The programme has athletes in several countries, so posts, messages, check-in forms and video captions can be translated in one tap. That runs on DeepL and the Claude API, with results cached on the server so the same text is never paid for twice. Fixes and small updates reach phones without waiting for store review, through a self-hosted update system that only accepts signed updates. Built with: Next.js, TypeScript, Capacitor, Supabase, Firebase push notifications, Calendly, Claude API, DeepL, Sentry Links: App Store](https://www.twine.net/signin Google Play](https://www.twine.net/signin Case study](https://www.twine.net/signin…
    Ownly Lead Engine: CRM, quoting, billing and client portal

    Lead Engine is the system Ownly Digital runs on. It replaced a mix of spreadsheets and separate tools with one place that follows a client from first enquiry to paid invoice and beyond.

    I designed and built it, and I run it day to day.

    It holds the sales pipeline, with where each lead came from, who owns it and what stage it has reached, and it records calls and emails against the lead. An enquiry becomes a quote, and once a client says yes the system generates their contract for e-signature and takes payment through Stripe, including instalment plans that stop by themselves when the last payment lands. Clients get their own portal for their project and invoices. Sales staff have their own area too, with commission tracked per deal and monthly self-billing invoices produced for them.

    Behind the scenes it runs scheduled jobs on a Linux server, receives enquiries straight from the Ownly website, posts alerts to Slack, and drafts monthly client reports with the Claude API that are checked for plain English before anyone sees them.

    Built with: Next.js, TypeScript, Prisma, PostgreSQL on Supabase, Stripe, Resend, DocuSeal, Claude API, Sentry

    It is a private internal system, so there is no public link.

    The DFC Experience: booking website for DJs, hosts and live artists
    The DFC Experience books DJs, hosts and live musicians for weddings and events. They needed a site that sells the night itself, and one their own team could change whenever a new act or venue comes on board. I built the site and handed the editing to them. Everything visible is managed in Sanity, with a draft preview so changes can be checked before the public sees them. The site is built around the acts: artist pages with video, a roster of partner venues and a page for each area they cover. The enquiry form runs over several steps and asks what a wedding planner would ask. Each enquiry is saved, emailed to the team and the enquirer, and passed straight into the booking software the business already uses. Spam is blocked without a puzzle for real visitors. There is also a password-protected area for sharing documents with artists, and a signing flow for the artist agreement that records who agreed to which version and emails them a PDF copy. Built with: Next.js, TypeScript, Sanity, Resend, Cloudflare Turnstile, Vercel Links: Live site](https://www.twine.net/signin Case study](https://www.twine.net/signin…
    ProFlow Physiques: one to one coaching app for iOS and Android
    ProFlow Physiques is a one to one physique coaching business. After I built the first ProFlow app for a group programme, the coach needed a separate product built around individual clients and their own plans. I built it as its own app, with its own store listings and its own data, and I look after releases and support. Each client has training, nutrition, supplement and cardio plans in one place, built from templates the coach can reuse instead of starting again for every client. Clients send weekly check-ins with photos and video, and video is compressed on the phone before it uploads, so it still goes through on a weak signal. The coach can compare progress photos side by side, reply with a voice note attached to a specific exercise, and send a push notification to one group of clients rather than everyone. Clients book calls with their coach inside the app, and videos in the library carry captions. Built with: Next.js, TypeScript, Capacitor, Supabase, Firebase push notifications, Sentry Links: App Store](https://www.twine.net/signin Google Play](https://www.twine.net/signin Case study](https://www.twine.net/signin…
    Instant project quote estimator
    Most software studios answer "how much?" with "it depends". I built this estimator for the Ownly Digital website so a business owner could see a realistic price range and timeline before speaking to anyone. They answered questions about what they needed: the type of project, how many pages or screens, extras such as an admin dashboard or integrations, how complex the work was likely to be, and what support they wanted after launch. Pricing rules turned those answers into a range and a delivery estimate on screen straight away, and a copy of the quote was emailed to them. I wrote the questions and the pricing logic and built the whole flow, with automated tests on the pricing rules so changing one option could not quietly break the others. On the Ownly site it has since been replaced by a guided briefing, and the same approach is offered to clients as a quoting tool for their own business. Built with: Next.js, TypeScript, Resend, Cloudflare Turnstile Link: Quoting and estimating tools](https://www.twine.net/signin…
    ProFlow Academy website: nine languages and coach-based checkout
    The ProFlow Academy website sells a posing programme to athletes in several countries before they ever download the app. It runs in nine languages, and each one is kept complete rather than falling back to English halfway down a page. Pricing took the most thought. Visitors pick the coach they want, and every membership, package and checkout button on the page switches to that coach's rates. A coach who is not taking clients cannot be booked, even from an old shared link. Buying is one tap to a Stripe checkout with no basket or account to set up first, and the page after payment tells people exactly what happens next. The coaching team writes the blog inside the app, and posts appear on the site automatically. I built the site end to end, including the language setup, checkout routing and search engine groundwork. Built with: Next.js, TypeScript, next-intl, Supabase, Stripe, Resend, Vercel Links: Live site](https://www.twine.net/signin Case study](https://www.twine.net/signin…
    ProFlow Physiques website: coaching site with checkout
    ProFlow Physiques is a one to one physique coaching business. The website's job is not traffic. It is making sure the people who do get in touch already understand how the coaching runs and what it asks of them. I built the site around the coaches and an honest account of how the coaching works week to week, followed by one short route to either buy or talk to the coach. Each programme has its own page. Every plan either links to a real Stripe checkout at the price shown or goes to the enquiry form, so the page can never advertise one figure and charge another. Articles the coach writes inside the ProFlow app appear on the site by themselves. Enquiries go straight to the coach, and the forms are protected against spam. Built with: Next.js, TypeScript, Supabase, Stripe, Resend, Cloudflare Turnstile, Vercel Links: Live site](https://www.twine.net/signin Case study](https://www.twine.net/signin…
    Ownly Digital: studio website with a free website audit tool
    This is the website for my own software studio. It explains what Ownly builds for business owners, shows the case studies and turns interest into booked calls. I designed and built all of it. The homepage opens on a hand-drawn diagram of how a job moves through a business, from enquiry to quote, booking, job and payment, which says more about the work than a stock photo would. Behind it sit pages for each service and industry, guides and full case studies. The most useful piece is a free website audit tool. A business owner enters their web address and gets a plain-English report on what is holding the site back. The server fetches the site on their behalf, so it is locked down to refuse private and internal addresses. Enquiries from the site go straight into Ownly's CRM, every form is protected against spam, and each page has structured data and its own social sharing image. Built with: Next.js, TypeScript, Tailwind CSS, Resend, Cloudflare Turnstile, Vercel, Playwright checks in CI Link: Live site](https://www.twine.net/signin…
    My Trusted Accountant: website for a Leyland accountancy practice
    My Trusted Accountant is an accountancy practice in Leyland working with sole traders, partnerships and limited companies. Their old site listed services in accountants' language and did little to earn trust before someone got in touch. I rebuilt the site from scratch: structure, page layout, design and build. Each service (bookkeeping, business accounts, VAT, tax returns and fractional finance director support) has its own plain-English page, so someone worried about one thing lands on a page about that thing. Every page ends with the same single next step. The contact form validates what people send and blocks spam without a puzzle for real visitors, and search engines get structured data about the practice. Built with: Next.js, TypeScript, Resend, Cloudflare Turnstile, Sentry, Vercel Links: Live site](https://www.twine.net/signin Case study](https://www.twine.net/signin…