Built by someone who reads the methods section

The impediment to action advances action. What stands in the way becomes the way.

// Marcus Aurelius— Marcus Aurelius

I've been working in science and industry. Now I'm building for the web.

From landing pages and websites to web apps, and the experiments where science meets code.

// not a coder? flip the switch up top to render() this page

How I can work with you

Interactive, clear and purposeful design. After all, your website is your digital expression.

Not sure what to ask? Tell me what's standing in your way, and we'll figure out the tools together.

Start something new

No site yet, or it's time to start over.

Websites

From a simple one-pager to a full site, designed and built from scratch and fast on every phone.

  • Web design
  • Business, portfolio and community sites
  • Domains, email and hosting set-up
stack:Often built with"astro"Astro"next"Next.js"tailwind"Tailwind"netlify"Netlify"cloudflare"Cloudflare"infomaniak"InfomaniakyoursYour stack

Web apps and databases

Tools that do things: logins, dashboards, listings, and data your users create.

  • Web apps
  • Database integration
  • Dashboards and data visualisation
stack:Often built with"next"Next.js"react"React"supabase"Supabase"vercel"VercelyoursYour stack

Forms, bookings and integrations

Contact and registration forms, bookings, and connecting the tools you already use.

  • Forms and registrations
  • Bookings
  • Integrations and automations
stack:Often built with"netlify"Netlify"supabase"Supabase"apis"APIsyoursYour stack

Campaigns

Fundraisers and launches, end to end: donation or landing page, emails, flyers and social graphics.

  • Donation and landing pages
  • Email campaigns
  • Print and editable Canva templates
stack:Often built with"canva"Canva"astro"Astro"netlify"NetlifyyoursYour stack

Blogs and content

A blog you can run yourself, plus clear writing for the tricky stuff: science, tech, anything that needs explaining.

  • Blog set-up
  • Science and technical writing
  • Content structure and planning
stack:Often built with"sanity"Sanity"astro"Astro"cloudinary"CloudinaryyoursYour stack

Not sure which one?

Tell me what's going on in plain words and I'll suggest what fits. Sometimes it's smaller than you think.

Fix or move what you have

Your site exists, but it isn't working for you.

Fixes and improvements

Site broken on phones, slow, or hard to use? I fix it where it is and add what's missing.

  • Fixing sites that don't work on mobile
  • Speed and accessibility check-ups
  • Enhancements and new features
stack:Works withyoursYour stack"lighthouse"Lighthouse

Move your site

Leaving Squarespace, Wix or WordPress? I move everything across and tell you upfront what can't come over automatically.

from: "squarespace" | "wix" | "wordpress" | "webflow" | "godaddy" | "google-sites"

Moving from Squarespace, Wix, WordPress, Webflow, GoDaddy or Google Sites

  • Pages, images and blog posts moved
  • Old links redirected, so Google and your customers still find every page
  • Domain and email switched over with a plan, so nothing goes dark
  • Forms and bookings rebuilt and tested
  • A before-and-after speed check
stack:Often moved to"astro"Astro"next"Next.js"sanity"Sanity"netlify"Netlify"cloudflare"Cloudflare"infomaniak"InfomaniakyoursYour stack

Built it with AI? Let's make it work

Made an app with an AI builder but it breaks, won't go live, or you're not sure it's safe? I check it, fix what's wrong and get it ready for real users.

  • Code and security review (exposed keys, open databases)
  • Fixing logins, data and forms that don't quite work
  • Getting it live properly: domain, hosting, backups
stack:Works withyoursYour stack"supabase"Supabase"vercel"Vercel"netlify"Netlify

Take it further

It works. Now run it yourself, or make it smarter.

A site you can update yourself

I set up an editor (a CMS) so you can change text, photos and prices without calling me.

  • CMS set-up (Sanity)
  • Training and a how-to guide
  • Ongoing help when you need it
stack:Often built with"sanity"Sanity"cloudinary"Cloudinary"netlify"NetlifyyoursYour stack

AI and science integrations

coming soon

AI built into your site or workflow, and scientific data turned into something people can use.

  • AI assistants that answer from your content
  • Document search and automations
  • Scientific data on the web
stack:Often built with"claude-api"Claude API"gemini"Gemini"python"Python"mcp"MCPyoursYour stack
toolbox:Tools I often use

// hover a tool to see where it fitsHover a tool to see where it fits.

How it works

  1. 01ChatIn person or online: what you want to build, your ideas, and how we bring them to life.
  2. 02Plan and quoteA clear plan and a quote before anything starts. Sometimes a quick mock-up too.
  3. 03Build and reviewYou see progress early and shape it as it grows.
  4. 04Launch and hand overLive, tested and yours, with an editor and a how-to guide if you want them.

Recent work

// Small sample, large effect size.

export const project = {
name: "CT Studio NZ",
for: "A Christchurch photo and video studio",
what: "Portfolio and booking site for a Christchurch photo and video studio.",
built: [
"Photo and video portfolio",
"Booking flow",
"Direct WhatsApp contact",
],
status: "live",
url: "ctstudionz.com",
};

A Christchurch photo and video studio

CT Studio NZ

Portfolio and booking site for a Christchurch photo and video studio.

  • Photo and video portfolio
  • Booking flow
  • Direct WhatsApp contact
Live
CT Studio NZctstudionz.com
Visit ctstudionz.com (opens in a new tab)1/4

Lab

const shoshin = "beginner’s mind";Shoshin: beginner’s mind.

From Zen: meet every problem with openness and no assumptions. Experiments, small tools, and things I built to find out.

The logo, decoded

The SheDecodes tiger, animated in pure CSS. No JavaScript, under 5 KB, and it holds still for anyone who asks their device to reduce motion.

Puddle Piggy: a cartoon pig in a pool above a fundraising progress bar

Puddle Piggy

The fundraising thermometer running on Sumner Pool's donation page: a pig that warms up as donations come in. One self-contained block dropped into Squarespace.

Try the live demo (opens in a new tab)

Currently compiling

Deep learning, and the tools changing how science gets done: protein structure prediction, research agents, AI that reads the literature.

About

I’m inherently drawn to complex systems, the kind where tweaking one variable just creates three new problems.

After moving through industry, academia and an ongoing PhD, I learned that analysing massive, messy datasets takes more than off-the-shelf tools. Naturally, instead of buying software keys, I started coding my own data and statistical solutions in Python and R.

That early curiosity for machine learning and data analytics opened the door to the creative high of software development: building my own tools and taking other people’s apart to see how they work.

Today, I build web platforms designed to solve real problems for real people. And I never stop learning: from full-stack development into machine learning, deep learning and agentic AI workflows, building towards the intersection where scientific research meets software engineering.

Based in Christchurch, New Zealand. Working with people anywhere.

Tools I use

// not every tool I've touched. what I reach for, and what it's for.

{
"name": "shedecodes",
"build": { // sites and apps for clients
"next + react": "web apps and interactive sites",
"astro": "fast content sites",
"typescript": "code that catches its own mistakes",
"tailwindcss": "consistent design, quickly",
"sanity": "content you can edit yourself"
},
"data": { // where your data lives
"supabase": "logins, databases, file storage",
"postgres / sql": "structured data",
"mongodb": "flexible documents",
"node + fastapi": "APIs in JavaScript or Python"
},
"science": { // where I came from, and still live
"python + r": "analysis, statistics, pipelines",
"gaussian-processes": "multi-output models for messy time series",
"self-organising-maps": "finding structure nobody labelled",
"neo4j": "knowledge graphs"
},
"ai": { // AI built into what I ship
"claude-api": "assistants that answer from your content",
"gemini / vertex-ai": "AI on Google Cloud",
"mcp": "connecting AI to your tools and data"
},
"ship": { // hosting that fits the project, and your values
"netlify": "sites and forms",
"vercel": "Next.js apps",
"cloudflare": "domains, speed, security",
"infomaniak": "Swiss, B Corp, renewable-powered",
"your-values": "other green and ethical hosts on request"
},
"check": {
"figma + canva": "layouts first, templates your team can edit",
"playwright": "tested before every release",
"docker": "when 'works on my machine' isn't enough",
"git + github": "every change tracked"
}
}
Build
Next.js and React, Astro, TypeScript, Tailwind CSS, Sanity
Data and back end
Supabase, PostgreSQL, MongoDB, Node.js and FastAPI
Science and machine learning
Python and R, Gaussian processes, Self-organising maps, Neo4j
AI in products
Claude API, Gemini and Vertex AI, MCP
Host and ship
Netlify, Vercel, Cloudflare, Infomaniak, other green and ethical hosts on request
Design and testing
Figma and Canva, Playwright, Docker, Git and GitHub

Questions people ask

The short answers. Ask me anything else.

Who is behind SheDecodes?

I'm Koni, a freelance full-stack web developer based in Christchurch, New Zealand. I came to the web from science and industry, and I'm doing a PhD applying machine learning to biological and chemical datasets. SheDecodes is how I work with clients.

Do you only work with clients in Christchurch?

No. I'm based in Christchurch, New Zealand, and work with people anywhere, remotely. And sí, también trabajo en español.

What kind of websites do you build?

Landing pages, business, portfolio and community sites, and web apps with logins, dashboards and databases. Plus the pieces around them: forms, bookings, donation pages, email campaigns and blogs.

Can you move my site off (or onto) Squarespace, Wix or WordPress?

Yes, both ways. If you're leaving one, I move your pages, images and blog posts, redirect your old links so Google and your customers still find every page, switch your domain and email over with a plan so nothing goes dark, and rebuild and test your forms and bookings. I tell you upfront what can't come over automatically, and you get a before-and-after speed check. Going the other way, I can build custom code into those platforms, like the Puddle Piggy fundraising thermometer running inside Sumner Pool's Squarespace site.

Can I update the website myself?

Yes, if you want to. I can set up an editor (a CMS, usually Sanity) so you can change text, photos and prices without calling me, and show you how it works. Every project also ships with documentation. I'm a scientist, after all.

I built an app with an AI builder and it isn't working. Can you help?

Yes. I review the code and its security (exposed keys, open databases), fix the logins, data and forms that don't quite work, and get it live properly with a domain, hosting and backups.

How does a project work?

We start with a chat, in person or online, about what you're looking to build: your ideas, and how we can bring them to life. Then you get a plan and a quote to review before anything starts. Sometimes I'll build a quick mock-up first, so you can see the idea before committing. From there you see progress early, and at launch it's tested, live and yours, with documentation.

Can you host my site somewhere green or ethical?

Yes, and I'd be happy to. I usually deploy to Netlify, Vercel or Cloudflare, and I'm glad to use Infomaniak (Swiss, B Corp, renewable-powered) or another green host if that fits your values better.

Say hello

$ ./contact.sh

→ emailkoni@shedecodes.dev

→ linkedin/in/koni-espinoza-iversen

→ github@Koni-BEI

→ basedChristchurch, NZ · working with people anywhere

./contact.sh --interactive

Got something that needs to make sense on a screen? Tell me about it.

Send me a message

koni@shedecodes.dev

LinkedIn GitHub