›Building a Streaming AI Chatbot with Groq & Next.js
How I built Smith — a sub-second streaming chatbot using the Groq API, Next.js App Router server-sent events, and a hand-rolled ReadableStream. No SDK, no bloat.
> Hello, world. I'm
Software Developer & AI Engineer
Rustenburg, North West, South Africa
I build production-ready web apps and AI-powered tools. Passionate about clean code, great UX, and shipping things that work.
> Ashley K Motsie> Software Developer & AI Engineer> /za/north-west/rustenburg> Open to remote, on-site, hybrid> react/ nextjs/ python/ ai/ fullstack/█
Location
Rustenburg, North West, ZA
Active Roles
1 position, 2 past positions
Education
NCV IT & Computer Sciences(NQF Level 4) - Orbit TVET College
GitHub
github.com/KodEx-SA
I'm a Software Developer and AI Engineer based in Rustenburg, South Africa. Currently juggling two active roles, building production-ready software for real clients and businesses.
I work across the full-stack projects from crafting responsive frontends with React and Next.js to building secure backend APIs, integrating AI/LLM pipelines, and deploying to cloud platforms. My work spans web apps, AI chatbots, e-commerce platforms, and internal business tools.
Under my GitHub organization KodEx-SA, I freelance for South African businesses and build open-source projects. Actively seeking international remote opportunities.
$ cat active_roles.txt
Web Developer & Graphic Designer
Maps Media Productions— Freelance
$ echo $ACTIVE_ROLES
Building and maintaining AI-powered web applications and chatbot systems for the company's client base. Responsible for designing the full-stack architecture, integrating LLM APIs, and deploying production-ready solutions.
$ cat highlights.txt
$ ls stack/
Developed internal business tools and client-facing web applications while also handling IT support and infrastructure. Key projects included a full Intern Management System and a Help Desk platform.
$ cat highlights.txt
$ ls stack/
Freelancing under the Maps Media Productions brand — designing and building websites for South African small businesses, hospitality brands, real estate, and modelling agencies. Also responsible for brand identity and graphic design.
$ cat highlights.txt
$ ls stack/

A reasoning-trace marketplace built on Arc. AI agents generate structured investment theses via the TradingAgents framework, each trace is pinned to IPFS and hashed on-chain, and users stake USDC on which reasoning patterns converge to profit.




$ ls frontend/
$ ls backend/
$ ls databases/
$ ls ai/
$ ls devops/
$ ls design/
3+
Years Experience
15+
Projects Shipped
2
Active Roles
10+
Technologies
$git log --all --oneline — live data from the GitHub API
$ ls -la ./writings — tutorials, project logs & deep dives
How I built Smith — a sub-second streaming chatbot using the Groq API, Next.js App Router server-sent events, and a hand-rolled ReadableStream. No SDK, no bloat.
Setting up a Turborepo monorepo with a Next.js web app and Expo mobile app sharing the same Supabase backend, TypeScript types, and UI component library.
NVM, zsh, Oh My Zsh, Starship prompt, Docker, VS Code extensions, and all the CLI tools that made my Acer A315 feel like a proper dev machine.
Real-world Row Level Security policies for a four-role property management platform: Super Admin, Property Manager, Tenant, and Maintenance Tech. Lessons from building it.
Why I migrated from plain React + Vite to Next.js 16, added Smith the chatbot, ditched Netlify for Vercel, and what performance gains I picked up along the way.
Building Clare — an AI voice assistant — and the wild ride of swapping STT/TTS providers when OpenAI quotas ran dry. Real issues, real fixes.
More posts coming soon
Currently shipping — will publish more notes as projects wrap up.
I'm open to new opportunities — remote roles, freelance projects, and collaborations. Whether you have a project idea or just want to connect, feel free to reach out.
> avg response time: within 24 hours
Location
Rustenburg, North West, ZA
Open to remote worldwide