Full-stack Developer
& Web Designer
Software that ships, and keeps running — auth, retrieval, monitoring, and a bill you control.
Full-stack products built end to end — RAG pipelines, CRMs, analytics and governance tooling. Open any card for the story and a look inside.
One person accountable — from the first sketch
to a product running in production.
Goals, constraints, the real problem.
Flows, wireframes, a visual system.
Frontend, API, data, and the AI.
Dockerised, deployed, on a domain.
Monitoring, backups, automations.
I write it and design it — scroll to watch a component build itself.
1export function Impact() {2 return (3 <Card>4 <Header>5 <h3>Impact</h3>6 <Delta>+38%</Delta>7 </Header>8 <Chart data={series} />9 <Stat value={128400} />10 <Toggle label="Dark" />11 <Tags>Productivity · Savings · Growth</Tags>12 </Card>13 );14}
Tools I reach for across frontend, backend, data, AI and infrastructure.
Engineering is a stack of trade-offs. A few I make often — and the reasoning behind them.
TypeScript end to end — one language across front and back, shared types, and the biggest ecosystem. I switch to Python/FastAPI the moment it’s AI- or data-heavy, and reach for Go only when raw throughput is the actual bottleneck.
The parts under the hood that decide whether a product survives real users.
Live, multi-user state so everyone works on the same data at once — fewer conflicts, faster decisions.
Secure sign-in and role-based access so the right people see the right things — and nothing leaks.
AI that answers from your own documents, not the open web — accurate, cited, on-topic for your team.
Stripe checkout, subscriptions and webhooks wired in — billing that just works and reconciles itself.
Packaged once, runs identically everywhere — no “works on my machine”, quicker onboarding and deploys.
Tests and deploys automated on every change — ship more often, with less risk and no manual steps.
Right-sized servers, serverless or edge — the performance you need and a bill you can control.
Infra-as-code, environments and automated releases — repeatable and boring.
CDN, DNS, WAF and edge caching — fast everywhere and shielded.
Staging, preview envs and user acceptance — caught before it ships.
Logs, metrics and alerts that surface issues early — less downtime, faster fixes, calmer launches.
Backups, migrations and restores handled — the product stays reliable long after launch day.
Core Web Vitals, caching and query budgets — speed users actually feel.
Queues, workers and horizontal scale so a spike doesn’t take it down.
Lifecycle emails, events and churn signals that turn first-time users into regulars.
Full products — shipped, deployed and kept alive. Not slides, not prototypes.
Good UX disappears. The principles behind it — and the brands and product sites shaped end to end.










Good design disappears. The interface feels obvious, the motion means something, and nothing makes you stop and think.
Brand identity and website for GeTeCe — a Thai group distributing chemicals, fragrances, flavours and food ingredients. A confident red-on-white system, a fluid water motif and calm wayfinding turn a wide, multi-audience catalogue into something that genuinely feels easy — and friendly — to navigate.
Colour, type and tone lifted straight from the brand and handed over as reusable tokens the whole team can reach for.
Customers, partners and press each get their own clear, friendly path through one busy site.
English and Thai, both first-class from day one — never bolted on at the end.
Ongoing upkeep, upgrades, SEO and GEO (generative-engine optimisation) keep the site fast, current and easy to find — for people and AI search alike.

End-to-end design and WordPress build for IfYouCan — every screen, every icon and every component crafted from scratch, then tuned for near-perfect performance and search.
The whole site designed and hand-built in WordPress — custom blocks, no page-builder bloat.
A full custom icon set and reusable component library, consistent across every template.
Tuned for top Core Web Vitals and search — fast, accessible and built to rank.

A computer-vision platform for African basketball — turning game footage into structured player data and a scouting profile. Bilingual FR / EN, Côte d'Ivoire-first.
Electric blue and lime, built to feel like sport — not spreadsheets.
Raw footage becomes player cards and readable metrics.
One product, two languages, no compromise on either.
Marketing site for an African basketball-club CRM — animated social proof, a clear pricing toggle, and one conversion-first path from landing to sign-up.
Every section drives toward a single, obvious next step.
Animated proof and counters that reinforce, never distract.
Localised for clubs across francophone and anglophone Africa.


Public site for the Senegalese Athletics Federation — a bold editorial hero, a live results ticker, and a dark stadium look carried by national-green accents.
Oversized type and imagery that give the federation real presence.
A results ticker keeps the season visible at a glance.
Green and gold from the flag, applied as a system.


A Thai reading game for young children — karaoke-style word highlighting, a gamified story map, and a parent dashboard to follow progress. Installable as a PWA.
Words light up in sync with audio to build word recognition.
A story map turns practice into a journey kids want to finish.
Progress, streaks and time spent — visible to parents.

An Apple-style redesign direction for a global e-commerce brand — restrained type, generous whitespace, and calm, deliberate motion.
A tight type scale doing the heavy lifting — nothing shouting.
Space used as a layout tool, not leftover margin.
Transitions that guide attention without demanding it.


From a brand's first identity to a shipped product UI — and the build behind it when you need one person to carry it through.
Logo, palette, type and tone — a system, not a one-off logo.
Flows, wireframes and high-fidelity screens for web and mobile apps.
Tokens, components and docs so the product stays consistent as it grows.
Marketing sites and front-ends designed and shipped — WordPress or custom.
Semantic markup, metadata, sitemaps and fast pages so the work actually gets found.
Core Web Vitals, image and font budgets, lazy-loading — quick on every device.