Full-stack web developer building production applications with TypeScript, React/Next.js, Node.js and PHP. I take products from first commit to deployment: data models, server logic, UI, and the CI/CD that ships them.
Based in Nairobi, Kenya. Open to software engineering roles: full-stack, front-end or back-end.
| Area | Tools |
|---|---|
| Languages | TypeScript, JavaScript (ES2022+), PHP, Python, SQL, HTML5, CSS3 |
| Front end | React 19, Next.js (App Router, Server Actions), Tailwind CSS, Three.js |
| Back end | Node.js, Express, WebSockets, Laravel, WordPress (themes, plugins, REST API) |
| Data | MySQL, SQLite, Prisma ORM, Eloquent ORM, JSON Schema, Google Sheets (Apps Script) |
| Testing | PHPUnit feature tests, CI test matrices in GitHub Actions |
| DevOps | Git, GitHub Actions, GitHub Pages, Railway, npm, Composer |
| Project | What it is | Stack |
|---|---|---|
| Sweet Layers | Product catalogue with a password-protected admin CMS for full CRUD on products and image uploads. Server Actions for mutations, HMAC-signed session cookies checked in both middleware and actions, validated uploads, 3D product rendering. Deployed on Railway. | Next.js 16, React 19, TypeScript, Prisma, Tailwind, Three.js |
| Study Hub | Learning platform with ordered courses → modules → lessons, video player, real-time chat per lesson and community channel, and an admin panel to control live streams. | Node.js, Express, WebSockets (ws), JavaScript |
| Employee Timesheet · live | Timesheet app used by a homecare business. Auto-totals shift hours, captures signatures and prints on one A3 page in every major browser. Includes a Python generator that builds filled sheets from JSON data, with a JSON Schema documenting the input format. | JavaScript, Python, JSON Schema |
| Club Registration · live | University club directory and sign-up flow. Club data is driven by JSON, and a serverless Google Apps Script backend records registrations in Google Sheets before sending students to the club's WhatsApp group. Deployed to GitHub Pages by GitHub Actions. | JavaScript, Google Apps Script, GitHub Actions |
| ElevenPlusGCSE · live | Education platform for ElevenPlusGCSE Limited offering 11 Plus, GCSE and A Level resources and live sessions. | WordPress, PHP, JavaScript |
| Student Management System | Laravel app for managing students and courses: staff login with rate limiting, resource controllers, Form Request validation, search, filtering and pagination, and a belongsTo/hasMany relationship that keeps students when a course is deleted. 40 feature tests run in GitHub Actions on PHP 8.2–8.4. |
Laravel 12, PHP, Blade, Bootstrap 5, SQLite/MySQL |
- Ship end to end. Schema design, server logic, UI, deployment and hand-off docs written for non-technical owners.
- Build for real users. Several of these projects run in production for small businesses and schools.
- Automate the boring parts. CI/CD pipelines, code generators and data-driven configuration instead of hard-coded content.
- Keep code readable. Typed code, linting and small focused commits.
- Software Engineer, AIMEX Software (Jul 2025 – Jun 2026): features, workflows and testing for a mobile gym-management application
- Full Stack Web Developer, ElevenPlusGCSE (Jun 2024 – Jun 2026): built and maintained elevenplusgcse.com
- BSc Computer Science (Software Engineering), Riara University, Nairobi (2022 – 2026)
- Portfolio: ohuru-ian.github.io
- Email: ohuruian@gmail.com
- GitHub: issues and pull requests on any of my repositories are welcome








