Personal Portfolio
My portfolio, blog and the private hub I run client work from: three Next.js apps on Cloudflare Workers sharing one Postgres database
About this project
This site is three apps in one repo. The portfolio you're on shows my work, the blog lives at blog.kondwanimuwowo.com, and hub.kondwanimuwowo.com is a private admin where I manage both and run the client side of my work. In the hub I edit projects, case studies, skills and blog posts, with a rich text editor for posts and arrows for putting projects in order. The same place tracks clients, jobs and ideas. Each piece of client work has its own tasks, milestones, contracts, messages and invoices, and a scheduled job creates retainer and milestone invoices and emails them out. Clients sign in to a portal on this site with their Google account. From there they follow their project, message me, sign contracts and pay invoices by mobile money through Lenco. All three apps moved from Vercel to Cloudflare Workers this year. Prisma's query engine doesn't run on Workers, so the data layer moved to Drizzle, with Hyperdrive pooling connections to a shared Supabase Postgres database. Project images are stored in Cloudflare R2. Each project, case study and blog post gets a share card generated from its own screenshot, and the site publishes structured data and an llms.txt file so search engines and AI assistants describe the work accurately.
Next project
Kuwala Weather App