Skip to content

Freelance web design & development

Available for new projects

Joel Ogunniyi — I design
& build
exceptional websites.

Independent web developer in Edinburgh, Scotland. I help small businesses look sharper online, load faster on every phone, and turn more visitors into enquiries.

Edinburgh, Scotland

(01)Services

How I can help

Straightforward help for small businesses, with no jargon. Each service can stand alone or be combined.

  1. 01

    Website design & development

    A complete website, designed around your business and built from scratch. It will look professional, explain clearly what you offer, and be easy for customers to use.

    Good for: New businesses, or anyone without a website yet.

  2. 02

    Website redesigns

    If your current site feels dated or hard to use, I’ll redesign it while keeping what already works, like your content, your search ranking and your domain.

    Good for: Sites that no longer reflect the quality of your work.

  3. 03

    Mobile responsiveness

    Most visitors arrive on a phone. I’ll fix squashed layouts, tiny text and buttons that are hard to tap, so your site works properly on every screen size.

    Good for: Sites that look fine on a computer but awkward on a phone.

  4. 04

    Landing pages

    A single, focused page for one offer, event or campaign, written and designed to lead visitors towards one clear action, like calling, booking or getting a quote.

    Good for: Ad campaigns, launches and seasonal promotions.

  5. 05

    Performance & usability

    Slow pages lose customers. I’ll find what’s slowing your site down or confusing visitors, then fix it, so pages load quickly and people can find what they came for.

    Good for: Existing sites that feel sluggish or get few enquiries.

How a project works

  1. Step 1

    Talk

    A relaxed conversation about your business, your customers and what you need.

  2. Step 2

    Plan

    A clear proposal: what I’ll build, how long it will take and what it will cost.

  3. Step 3

    Build

    Design and development, with regular check-ins so you can see progress.

  4. Step 4

    Launch

    Testing on real devices, going live, and a walkthrough of how everything works.

(02)Selected work

Real products, built end to end

Software I’ve designed and built myself, from AI tools to full-stack apps. Each one is labelled with where it really stands.

Alpha v0.1Public source

ThreadLink

Stay in one AI chat and hand tasks to a coding agent running on your own computer. Results come back to the conversation that asked for them.

  • AI agents
  • MCP
  • Auth & security
  • Desktop + CLI

Case study

Alpha v0.1Public source

AI chat assistants are good at planning, and local coding agents are good at doing. ThreadLink connects the two: a controller chat sends a task through an authenticated routing layer to an agent on your machine, and the result is routed back to the right conversation.

What I built

  • OAuth 2.1 and device-code pairing to connect a local runtime securely
  • An MCP endpoint the controller chat talks to
  • A task lifecycle API: claim, heartbeat, progress, complete, fail
  • A live event feed (“Mission Control”) for watching tasks run
  • A desktop app (Electron) and an npx command-line runtime
  • “Team Mode” for coordinating a second coding agent

Design & engineering decisions

  • Routes are denied by default and opened deliberately
  • Each user’s data is isolated in the database itself (row-level security), with automated tests that check it
  • Connection credentials are stored hashed and can be revoked
  • In Team Mode, if the model that actually ran differs from the one requested, the task fails safely instead of continuing

Where it honestly stands

  • Alpha software, built over roughly four weeks
  • OAuth tokens don’t expire yet, and there is no per-IP rate limiting
  • The full end-to-end round trip is still being proven

Built with

  • Next.js 16
  • React 19
  • TypeScript
  • MCP SDK
  • Clerk
  • Supabase Postgres
  • Electron
  • Vitest
  • Vercel
Private betaPrivate source

FieldNotes

A study companion: record a lecture, get a transcript, then turn it into summaries, quizzes and flashcards that come back for review at the right time.

  • AI study tools
  • Edge computing
  • Real-time
  • Product design

Case study

FieldNotes

Private betaPrivate source

Students lose a lot of what they hear in lectures. FieldNotes records the lecture in the browser, transcribes it on the server, and turns it into study material, with spaced repetition so reviews arrive just before you’d forget.

What I built

  • In-browser lecture recording with server-side transcription
  • AI-generated summaries, quizzes and flashcards
  • Spaced-repetition review scheduling (SM-2)
  • Study groups with real-time chat
  • An AI tutor that knows which notes you’re looking at
  • Hand-off of a recording between devices
  • Per-user usage limits and an admin console

Design & engineering decisions

  • Runs entirely at the edge on Cloudflare, with no front-end build step or npm runtime dependencies
  • Device hand-off is coordinated by a single owner, so two devices can’t record over each other
  • Logs record metadata only, not what students said
  • Usage quotas keep AI costs predictable

Where it honestly stands

  • In private beta
  • Source code is private and not available to view

Built with

  • Cloudflare Workers
  • D1
  • R2
  • Durable Objects
  • Workers AI
  • Clerk
  • Vanilla JavaScript

Source code is private.

In developmentPrivate source

InterviewGuru

Interview practice with AI: questions for your target role, STAR-method feedback on each answer, a chat coach, and a record of how you’re improving.

  • AI feedback
  • Full-stack
  • Voice input
  • Resilience

Case study

InterviewGuru

In developmentPrivate source

Practising interviews alone gives you no feedback. InterviewGuru generates role-specific questions, scores your answers against the STAR method, and tracks your progress over time.

What I built

  • Accounts with secure sign-in
  • Role-specific question generation
  • Answer scoring with STAR-method feedback
  • A chat coach for follow-up questions
  • Spoken answers using the browser’s speech recognition
  • History and progress charts

Design & engineering decisions

  • If the AI service is slow or unavailable, the app says so and falls back to an offline mode instead of failing
  • Response time is budgeted to fit within serverless function limits
  • The storage layer can switch between in-memory and Postgres without code changes
  • Began as a quick prototype in 2025 and was reworked for serverless deployment in 2026

Where it honestly stands

  • In active development
  • Source code is private and not available to view

Built with

  • React
  • Vite
  • TanStack Query
  • Radix UI
  • Recharts
  • Express
  • Drizzle ORM
  • Postgres
  • OpenRouter
  • Vitest

Source code is private.

Early prototypePublic source

ReplexIndex

An index that rates open-source repositories by purpose, compatibility and how ready they are for AI coding agents, with an interface agents can query directly.

  • Developer tools
  • AI agents
  • API design
  • Explainable scoring
Sourcefor ReplexIndex (opens in a new tab)

Case study

ReplexIndex

Early prototypePublic source

AI coding agents need to know which libraries fit a project before using them. ReplexIndex classifies repositories and scores their compatibility and “agent readiness”, and explains every score.

What I built

  • A rule-based classifier that records the evidence behind each result
  • Compatibility, readiness and search engines
  • A REST API and an MCP endpoint with nine tools for agents
  • On-demand ingestion of repositories from GitHub
  • A starter set of 21 hand-picked repositories
  • Unit tests for the scoring engines

Design & engineering decisions

  • Deterministic, explainable scoring rather than a black-box model
  • Designed API-first so AI agents are first-class users

Where it honestly stands

  • Very early prototype: about a day of work so far
  • Data is held in memory and browser storage, with no database yet
  • Not deployed. Offline support and scoped API keys are planned but not built

Built with

  • React 19
  • Vite
  • Tailwind CSS 4
  • Express
  • TypeScript
  • node:test

Previews are illustrations of each product’s idea, not screenshots.

Prefer to explore? Step into my world

Website concepts for small businesses

How I’d approach a few typical businesses. These are design concepts, not client projects.

Live

This portfolio

Designed and built from scratch: an editorial layout, a headline you can x-ray, and fast loading on phones.

Fictional design concept

Neighbourhood café

Menu, opening hours and directions within one thumb’s reach, so people walking past can decide in seconds.

Fictional design concept

Local tradesperson

A tap-to-call button, clear service areas and a short quote form that works well on a phone.

Fictional design concept

Wellness studio

A calm visual identity, a readable class timetable and one obvious way to book.

Next case study

Client websites will be added here once they launch and the client is happy for them to be shared.

Could it be yours?

(03)Interactive showcase

Same business. Better first impression.

Drag the handle, or use the buttons, to compare two versions of the same small-business homepage.

Illustrative concept. “Brightwell Plumbing” is a fictional business. This is not a real client project.

Illustration of a fictional plumbing business homepage. Before: a dated, cluttered page with small low-contrast text, no clear next step and the phone number hidden in the footer. After: a clean page with a clear headline, a free-quote button and a one-tap call button.

Fictional business · illustrative concept

What holds the “before” back

  1. 1Small, low-contrast text that's tiring to read, and on a phone the page simply shrinks.
  2. 2No obvious next step. Visitors have to work out what to do.
  3. 3The phone number is buried in the footer.

What the “after” fixes

  1. 1A clear headline says what the business does and where.
  2. 2One obvious action, a free quote, with a simple alternative.
  3. 3Calling is one tap away, on every screen size.

(04)About

I care about the small details that make a website feel effortless.

I’m Joel, a web developer and Computer Science student in Edinburgh. I’m interested in thoughtful design and in technology that is genuinely useful: tools that save people time, explain things clearly and work for everyone. Lately that has meant AI tools, from routing work between AI agents (ThreadLink) to turning lectures into study material (FieldNotes).

As a freelancer, I work directly with small businesses. You talk to the person designing and building your site, from the first conversation to launch day.

Professional background: I’m also the founder of AcronIQ Limited. The freelance services on this site are offered by me personally, independently of AcronIQ.

Based in
Edinburgh, Scotland
Studying
Computer Science, Edinburgh Napier University
Freelance for
Small businesses, sole traders and independents
Builds with
Next.js, React, TypeScript, Postgres, Cloudflare Workers

Local time in Edinburgh

Edinburgh, Scotland55.95° N, 3.19° W

(05)Contact

Have a project in mind?

Tell me a little about your business and what you’d like to improve. I’ll reply personally, with honest advice on whether and how I can help.

Useful things to include

  • A sentence or two about your business
  • What you need: a new site, a redesign or a fix
  • Your current website, if you have one
  • Any deadline you're working towards

Not sure what you need yet? That’s completely fine. Start with what’s bothering you about your current website.