Ryan Gonyon Full-stack product engineer

From your vision to production software.

I’m Ryan, a full-stack product engineer. I build new products and get existing apps ready for real users—including AI-built prototypes that need experienced engineering.

Open to contract work & full-time roles · Jacksonville / remote
Inside the work
Bookkeeping SaaS
Graduation & family platform
Real products. Built in collaboration.Full-stack implementation

Selected client work / 01—03

The visible interface.
And everything it takes to make it useful.

01Bookkeeping SaaSOngoing partnership

My Simple Books.

From an early founder-built prototype to an evolving bookkeeping product.

Bookkeeping software shaped through an ongoing founder-engineer partnership, from the daily transaction workflow to reports, subscriptions and customer guidance.

What the client said

…The best part of working with Ryan is that when I clearly explain my vision, he immediately understands what I'm trying to accomplish and goes to work turning it into reality.…
My Simple Books client · Upwork
Read the full review

Ryan is beyond amazing. His breadth and depth of software engineering expertise are incredible. I have worked with him almost daily for the past year developing my web application, and he has consistently delivered every feature I have envisioned.

His pricing is honest and fair, his communication is excellent, and he is exceptionally efficient. The best part of working with Ryan is that when I clearly explain my vision, he immediately understands what I'm trying to accomplish and goes to work turning it into reality.

Ryan is not just an outstanding programmer—he is a true problem solver and an excellent partner in the development process. If you're looking for a software engineer, I can't imagine finding someone more capable, more reliable, or easier to work with.

View Upwork work history
My contribution

I work directly with the founder to turn new ideas into working product features across the application, carrying changes from implementation through testing and release.

Visit the product

Representative work

  • 01

    Bookkeeping that holds together

    I built persistent books, transaction entry and editing, account rules and month-end balances—keeping daily activity and the reporting model connected.

  • 02

    Reports owners can use

    I implemented and refined profit-and-loss, monthly summaries, cash reconciliation and PDF/CSV output, making the numbers useful to owners and bookkeepers.

  • 03

    Subscriptions and billing

    I connected Stripe payment setup, the customer billing portal and renewal and cancellation controls to the product’s subscription lifecycle.

  • 04

    Account access from day one

    I built trial onboarding, authenticated book access and account-state safeguards, connecting signup and subscription status to the right application experience.

  • 05

    Guidance and customer follow-up

    I added the Transaction Coach, welcome and video-library flows, and signup-aware follow-up sequences with duplicate and suppression controls.

  • 06

    Testing and release workflows

    I established CI and staging workflows and environment checks, supporting continued feature delivery as the product evolves.

Behind the product

React + Supabase + Stripe + Vercel

Authenticated bookkeeping SaaS with persistent business data, reporting, subscriptions and customer workflows.

Technical details for My Simple Books

Identity, ownership and persistence

Supabase Auth identifies the customer. Postgres policies scope books and transactions to their tenant, and database functions handle authenticated synchronization. Anonymous requests cannot read customer transactions.

Accounting and report delivery

A shared application model calculates reports and browser downloads. Server-side report delivery stores generated artifacts in a private Supabase Storage bucket with tenant-folder access policies, then sends email through Resend.

Billing and application access

Stripe supports subscriptions and the customer portal. Server workflows check webhook signatures and handle duplicate billing events before updating account state; application routes also respect account status.

Testing and releases

Vercel serves the Vite application. CI and staging workflows provide a path for reviewing changes before release, with environment checks to catch configuration mistakes.

My Simple Books · Architecture overview
From a customer’s books to reports and billing.
Customer application

React + TypeScript

Transactions · account lists · cash balances · financial reports

Vite build · Vercel hosting
01

Identity & access

Supabase Auth

Sessions identify the customer. Database policies scope access to their records.

02

Books & documents

Postgres + Storage

Books, transactions and balances persist in Postgres; file workflows use object storage.

03

Server workflows

Supabase Edge Functions

Report delivery, account operations and billing run through server-side functions.

Stripe · Checkout and billing portal; verified webhook events update subscription access through server workflows.

Resend · Server workflows email reports after storing generated artifacts in the private reports bucket.

Simplified application architecture. Reporting combines customer data in the app; delivery and billing use server workflows.

Building something with similar complexity? Discuss a project
02Automotive marketplaceCollaborative implementation

AutoMarkets.

Connecting vehicles, market context and seller workflows.

A specialty-car marketplace connecting vehicle discovery and market data with dealer inventory, private sellers and buyer inquiries.

What the client said

Ryan helped us in ways many other developers we tried simply could not. Taking a chance on him was one of the best decisions we made.…
AutoMarkets client · Upwork
Read the full review

Ryan helped us in ways many other developers we tried simply could not. Taking a chance on him was one of the best decisions we made. He’s extremely experienced, understands exactly what’s needed (often before we even ask), and consistently delivers. A lot of developers on Upwork talk the talk but don’t walk the walk, Ryan is one of the rare ones who actually does.

View Upwork work history
My contribution

I worked within the existing platform to improve search, vehicle-data relationships, inventory workflows, lead handling and production behavior alongside the wider team.

Visit the product

Representative work

  • 01

    Search & market hierarchy

    I improved search behavior and stabilized the relationships between listings, model families, generations and variants, so discovery retains the right vehicle context.

  • 02

    Dealer inventory & publication

    I connected dealer-feed ingestion to inventory and allocation workflows, preserving the intended transition from imported records to published listings.

  • 03

    Lead tracking & inquiries

    I implemented lead tracking and inquiry views that connect marketplace activity to useful dealer and seller follow-up.

  • 04

    Private-seller workflows

    I extended account-based inquiry replies and repaired the review-to-publication path for private listings.

  • 05

    Consistent market presentation

    I reconciled market statistics and listing presentation, including status-aware pricing labels, primary-market titles and search-page metadata.

Behind the product

Next.js + PostgreSQL + Prisma + Supabase

A connected marketplace spanning vehicle search, market data, dealer inventory and seller inquiries.

Technical details for AutoMarkets

Connected listing data

Next.js server routes use Prisma/PostgreSQL queries and Supabase services to bring listing and market data together. Search normalizes vehicle-name variants; market relationships connect individual listings to broader categories.

Seller workflows

Dealer feeds connect to inventory, allocation and publication workflows. Account-based inquiries and replies connect buyer interest to dealer and private-seller follow-up.

Responsive delivery

Tailwind CSS supports responsive interfaces across marketplace and account pages. Vercel previews support review of changes within the team’s existing delivery workflow.

Building something with similar complexity? Discuss a project
03Graduation & family platformDelivered application

MyGradHub.

A graduate’s story, made into a shareable product.

Built and delivered as a complete graduation-profile platform, connecting a family workspace, shareable memories and celebration services.

My contribution

I carried the application through four delivery milestones, building profile and media workflows, account access, service inquiries and provider capabilities, then preparing it for handoff.

Representative work

  • 01

    Profiles, memories & sharing

    I connected an authenticated editing workspace to published graduate pages, including photo uploads, memory management and moderated guest contributions.

  • 02

    Family & provider workflows

    I built the service directory, inquiry capture and saved family checklist, with provider-owned views for following up on the relevant requests.

  • 03

    Payments & notifications

    I implemented service-deposit and provider-plan checkout paths, webhook handling and transactional notifications, with clear behavior when a provider is unavailable.

  • 04

    A complete handoff

    I delivered the application with deployment guidance, automated tests, account and database-access checks, and configuration guards for ongoing operation.

Behind the product

Next.js + Supabase + Stripe + Vercel

A graduation platform with family accounts, published profiles, photo memories, service inquiries and payments.

Technical details for MyGradHub

Accounts and authorization

Supabase Auth supplies sessions. Database roles distinguish families and providers; owner-scoped policies protect editing and inquiry records, while published profiles can be read publicly.

Persistent profiles and media

Profile, memory, inquiry and payment records persist in Postgres. Supabase Storage holds uploaded media, with owner-scoped upload paths and signed-image rendering.

Payments and delivery

Stripe checkout and webhook paths support service deposits and provider plans. Resend handles transactional notifications. The application tracks provider events and notification delivery state to handle retries without duplicating work.

Testing and handoff

Automated tests cover application behavior alongside account-access and configuration checks. Deployment guidance documents the services and settings needed to operate the application.

Building something with similar complexity? Discuss a project

A useful place to start

One important problem.
A clear next step.

You work directly with me. We get specific about the outcome, agree on a bounded milestone, and build from there.

  1. 01 / Understand

    Look at the app, the people using it, and the outcome that matters. Start with a focused diagnostic when needed.

  2. 02 / Agree

    Define the scope and what “done” looks like. Make the tradeoffs visible before implementation.

  3. 03 / Deliver

    Implement, verify the important workflows, and hand over something you can inspect and use. Then decide what comes next.

Have something in mind?

Tell me what
you’re building.

Send me the app or idea, what you need it to do, and where you’re stuck. I’ll take a look and we can figure out the most useful next step.

Ryan Gonyon Independent full-stack product engineer