services
Senior Svelte and SvelteKit consulting from Justin Ahinon. Two cadences: a 1-hour live session at $149, or ongoing async access at $349 per month. No contracts.
When you have a Svelte or SvelteKit team and just need a senior pair of hands for a specific question. Not a sprint. Not a hire.
I do consulting two ways: a 1-hour live session ($149) for one specific question, or ongoing async access ($349 per month) when the questions keep coming.
Both go through me directly. No agency layer, no "let me forward this to our SvelteKit specialist." If you've got a question about Svelte or SvelteKit, I'm the person you're talking to from the first email.
A single 60-minute video call for one specific question or piece of stuck code. You send context ahead of time (a Loom, a repo, an error message, whatever's clearer). I show up prepared. We use the hour. It gets recorded so you can rewatch.
$149 per session
Live on Google Meet or Zoom
You send context ahead of the call
Recorded so you can rewatch
One specific question or piece of stuck code per session
Booked via Stripe link, scheduled within a few days
Best for: a tricky bug you've spent a day on, a "should I do it this way or that way" architecture question, an audit on something you're about to ship.
Ongoing, $349 per month. Reach out whenever, with whatever's blocking you. I write back with code, screenshots, or recordings, depending on what's clearer. Plus one live hour per month included.
$349 per month
Async via email, Discord, or Slack (your call)
I aim to reply within one business day
Code, screenshots, or recordings, whichever's clearer
One live hour per month, splittable into up to three 20-minute slots
Cancel any month, no notice required
Best for: ongoing projects where questions keep coming, teams without senior Svelte experience that want a backstop, founders pre-launch who'd rather text-message-pace than book a call every time something comes up.
Architecture decisions: load function vs. server endpoint vs. form action, how to split your route tree, when to reach for Durable Objects vs. a queue.
SvelteKit performance: bundle size, hydration cost, server-side rendering edge cases, streaming responses.
Migrations: Svelte 4 → 5, SvelteKit 1 → 2, headless WordPress → Statamic, "we wrote this in Next.js and want to port it."
Tricky bugs: hydration mismatches, "works locally fails in prod", weird interactions between SvelteKit, Cloudflare adapters, and auth.
Auth flows: Lucia, Better Auth, custom JWT, OAuth, session storage on edge runtimes.
Headless CMS integration: Statamic, Strapi, Sanity, Payload. I've migrated apps off DatoCMS and onto Statamic recently and have opinions.
Database and ORM choices for SvelteKit: Drizzle, Prisma, Cloudflare D1, Postgres, and when to reach for which.
Code review: I'll read a PR, point at the load-bearing decisions, and tell you what I'd change and why.
If you don't see your thing on the list, ask. The list is the common cases, not the boundary.
You book through the Stripe link. I send a calendar invite within the day, plus a short prep email asking for context: what you're stuck on, what you've already tried, a Loom or repo if it helps.
The call itself is one focused hour. We share screens, dig into the code, try things in real-time. Most sessions end with the problem either solved or scoped clearly enough that you can finish on your own.
You get the recording within an hour of the call ending. Rewatch as many times as you want.
Onboarding takes a 10-minute exchange. You email me what you're working on, I send back a brief that explains how I work async, and we agree on the channel.
After that, you reach out whenever. A question, a code snippet, a screenshot, a "is this approach right?", whatever shape your question takes. I aim to reply within one business day, faster if the question is short.
The monthly live hour can stay as a single hour or get split into up to three 20-minute slots. Useful for spreading attention across the month, or for "I have three small questions this week."
You can cancel at any month boundary. No notice, no exit interview.
Building features for you. That's a sprint.
Long-term retainer-style availability. Async is responsive, not on-call. If you need someone pinged on every PR, you need a hire.
Non-Svelte stacks. I won't pretend to be a senior React, Vue, or Solid consultant.
Code I write inside async sessions. I'll send code snippets, examples, and refactor suggestions, but I won't quietly build features on async time and bill them.
Emergency on-call. If your prod is down at 2am, I might be asleep in Cape Town. Sprints come with deployment ownership; consulting doesn't.
Real-time: $149 per session. Paid upfront via Stripe. One 1-hour call. Recorded. No subscription.
Async: $349 per month. Paid upfront via Stripe. Cancel any month, no notice required. Includes one live hour per month, splittable into three 20-minute slots if you'd rather.
There's no contract for either. There's no minimum engagement. If a single real-time call solves your problem, that's the right answer.
Yes, common path. People often book one real-time session, like the cadence, and roll into async the next month. The $149 from the real-time session doesn't carry over, but the relationship does.
For real-time: I'll either flex up to about 75 minutes if we're close to a solution, or stop at 60 and you book another session if you need more. I won't run two hours unless you've already paid for it.
For async: the monthly live hour is the monthly live hour. If you need more synchronous time, book a real-time session.
Yes, with a private repo invite or a temporary share. I'll only commit if you explicitly ask me to (and even then, sparingly, async isn't a place for me to write features for you).
I'll tell you. "This is more than I can responsibly answer over async; let's scope a sprint or you bring in an engineer for two weeks."
Some questions are deeper than the consulting cadence is shaped for, and I'd rather say so than give you a partial answer that wastes your time.
Up to three teammates can be on the channel for one async subscription. Beyond that we should talk; at four-plus people you're probably a small team and the math changes.
Just cancel and re-subscribe when you need it. There's no pause feature; the cancel-and-rejoin path is the same outcome.
I split time between Cotonou (Bénin), Nairobi (Kenya), and Cape Town (South Africa), so anywhere from GMT+1 to GMT+3.
EU mornings and afternoons overlap fully. For the US, that's afternoons on the East Coast or late mornings on the West Coast. I'm rarely available before 8am or after 11pm local, and I don't take live calls on weekends.
If you're not sure which fits, send me a paragraph about what you're working on. I'll tell you which cadence makes sense, usually within a few hours.
I'm an experienced developer, and I'm new also new to SvelteKit.
Justin was able to help confirm I was on the right path for places where I wasn't confident my solution was optimal. For issues where
I could not find a solution on my own, he was able to quickly come up with a few options to try.
This was one of the most productive consulting sessions I've ever had.
Justin did a killer job for us, organizing and planning out the first part of our education platform, and honestly, we wouldn't have been able to launch it without him.
He came in and built it from scratch from the very beginning in SvelteKit, he was an integral part of the team as we built up the team around him to be able to support a larger platform like updraft. It was a fantastic experience with Justin.
We would definitely come back to him when we need another extra pair of hands on the SvelteKit side.
Just ten out of ten. Huge kudos.
Thank you, Justin. Bye.
I've had my first session with Justin, and he was very knowledgeable on the practical aspects of the technology.
He was able to understand the context of my project very quickly, and clearly explained the best approach to addressing various issues, but remained fair and balanced on the pros and cons of each approach.
He took the time to understand the details and modes of failure, and was able to very quickly react to clarifications and new information from me with alternatives approaches.
I think I'll be back.
Within a few minutes of explaining the design stage of an application I was working on, Justin was able to hit the ground running and provide me peace of mind that my architecture was on track.
He was also a great help on implementation details that follow SvelteKit best practices.
Would definitely recommend!
It was great speaking with Justin.
His passion for SvelteKit/WordPress comes through so clearly and while he has a great deal more knowledge of the subject than I have he made me feel very comfortable in my discussions with him.
I would highly recommmend!
Justin is a delight to work with.
From the start of the project to the end, he made sure to be on par with the scope and even went beyond our expectations.
What started as a business partnership has now evolved into a close relationship between our two businesses, NerdyJoe and Okupter.
Justin helped me implement some tricky authentication. The experience was seamless.
He’s calm, professional, always listening and very efficient. His debugging skills were impressive.
Of course, he knows Svelte/kit inside out. I felt I was in good hands. I’d recommend him to anyone.
Talking with Justin has been a real gift for the amount of info and expertise received.
In less than 10 minutes, I had all the information I was needing to start developing new things in the world of mobile apps and frameworks.
It was a great pleasure getting your consultation on my problem. Now I have a much better understanding of JavaScript objects and their assignments in different scenarios.
I would with no doubt give you a 5!
Thanks again.Saif.