Work
Projects, and the technologies behind them. Sold and built by me on all but a few.
Every project, and what it had to work around
Filter by the technology you care about. Each entry carries the context and what it produced.
SAVR - Operability Tools
Three production admin panels at SAVR (Stockholm fintech), two of them FilamentPHP, for the data service, customer service and analyst teams.
- Started as a paired exploration with a co-worker in the first month at SAVR; grew into the dominant thread of the engagement.
- Two FilamentPHP admin panels - one for the data service, one for the customer-service team.
- A data-analysis panel for the analyst team, so their workflow was no longer blocked on engineering.
- Claude
- Docker
- FilamentPHP
- Git
- GitHub
- Laravel
- Livewire
- PHP
- PostgreSQL
- Python
SAVR - Delta Ingestion System
Re-architecture of the ingestion pipeline at SAVR (Stockholm fintech). It had rewritten every row on every run; it now writes only the rows that changed.
- Designed and built as the closing project of the SAVR engagement.
- Kept the pull, cached it, and compared it against what was already stored.
- Only the writes that were a real change reach the database.
- REST API
- Claude
- Docker
- Git
- GitHub
- Laravel
- PHP
- PostgreSQL
HubSpot FieldsJS
Open-source dev tool for HubSpot modules - adopted by the HubSpot core team into their official docs.
- Built at iGoMoon to speed up HubSpot module development across customer projects - converted module-field configuration from JSON edits to a JavaScript-authored workflow.
- Adopted by the HubSpot core team and referenced from their official Fields.JS documentation as
@iGoMoon/hubspot-fields-js. - Demonstrates cross-vendor / partner-ecosystem credibility - built a developer tool inside another vendor's platform that they ended up endorsing in their own docs.
- REST API
- Git
- GitHub
- HubSpot CMS
- JavaScript
- Node.js
- npm
National Auto Service
An internal asset-management platform for vehicle lifecycle tracking - customer portals, contractor coordination, and cashflow workflow automation. Built with Laravel and VueJS.
- SPA with UI/UX designed and built from the ground up.
- Designed database structure, to handle specific need of customer.
- Integrations with multiple 3rd-party services - such as Google Maps, Hubspot CRM, and Clicksend.
- Optimised with Redis queues for push notification and Redis caching.
- Created REST API to allow customers to interact with the app.
- Dynamic PDF generation for customer reports.
- Compatible across browsers and for mobile devices.
- Companion applications built using Laravel Nova, Wordpress and Hubspot CMS that integrate using a custom API.
- Currently in charge of maintenance, security and ongoing development of the app.
- REST API
- Bootstrap
- Claude
- CSS
- Laravel Echo
- Laravel Forge
- Git
- GitHub
- HTML
- HubSpot CMS
- Laravel Inertia
- JavaScript
- JSON
- Laravel
- Markdown
- MySQL
- NGINX
- Node.js
- Laravel Nova
- npm
- PHP
- Laravel Pint
- Postman
- Pusher
- Redis
- Laravel Sanctum
- Laravel Scout
- SASS/SCSS
- SQLite
- SSH
- Stripe
- Swagger
- TypeScript
- Ubuntu
- Vite.js
- VS Code
- VueJS
- Vultr
- Webhooks
- WordPress
The Sales Game
Sales Gamification app (whilst at iGoMoon AB)
- Brought in customer from previous business.
- Lead Developer on a Laravel and VueJS multi-tenant SaaS application.
- Optimised for performance for 500+ players at once using websites to live update.
- Created admin panel using Laravel Nova for tenant management.
- REST API
- Bootstrap
- Laravel Cashier
- CSS
- AWS EC2 + ECS
- Laravel Echo
- Laravel Forge
- Git
- GitHub
- HTML
- HubSpot CMS
- JavaScript
- JSON
- Laravel
- Markdown
- MySQL
- NGINX
- Node.js
- Laravel Nova
- npm
- PHP
- PipeDrive
- Postman
- Pusher
- AWS RDS
- Laravel Sanctum
- SASS/SCSS
- Laravel Socialite
- Laravel Spark
- SSH
- Stripe
- Ubuntu
- VS Code
- VueJS
- Webhooks
- Webpack
Keystone Executive Coaching
Headless Astro site using Laravel and Filament
- Upgraded from previous WordPress website that I built.
- Used AstroJS to priortise speed and SEO.
- 100/100 SEO Score on Google Lighthouse.
- Used FilamentPHP and Laravel to provide admin panel as a headless provider.
- Create RSS feeds and sitemap from server side to handle headless content.
- Migrate data from old WordPress site.
- Alpine.js
- REST API
- AstroJS
- Biome
- CSS
- FilamentPHP
- Google Analytics
- Git
- GitHub
- Google Tag Manager
- HTML
- JavaScript
- JSON
- Laravel
- Livewire
- NGINX
- Node.js
- npm
- PHP
- Laravel Pint
- PostCSS
- Postman
- SQLite
- SSH
- Tailwind
- TypeScript
- Ubuntu
- Vite.js
- VS Code
- Vultr
- Webhooks
Frankenverse: A Self-Hosted Agentic System
A production agentic system I built and run every day. My own knowledge base wired to Claude through a self-hosted MCP server, with custom skills and workflows that do the everyday work and run unattended on a schedule.
- Self-hosted an MCP (Model Context Protocol) server on my own VPS - encrypted at rest, reachable remotely over HTTPS and WebDAV - so agents can read and write a live knowledge base from anywhere.
- Built a library of custom Claude Code skills and sub-agents that run autonomously: routing inputs, holding state across sessions, and taking real actions (scheduling, reminders, external API calls) rather than one-shot prompting.
- Owned the agent architecture end-to-end - orchestration, tool use, guardrails, model selection, and change control on the agent definitions themselves - the same production concerns an AI-product team faces.
- I operate it daily as a real dependency, not a demo. The difference between having used agents and having lived with them in production.
- AI Agents / Agentic Systems
- Ansible
- Claude
- Docker
- MCP (Model Context Protocol)
- Prompt & Context Engineering
- SSH
AI Skill: Create MVP
Productized my consulting methodology as a Claude Code skill - discovery → planning → implementation, resumable across sessions.
- Encodes a discovery → planning → implementation workflow as a skill anyone can run.
- State persistence lets engagements resume across multiple Claude Code sessions instead of one-shot prompting.
- Demonstrates how senior practitioners can package domain expertise as reusable AI tooling.
- Claude
- Git
- GitHub
- Markdown
Lovable Output Analyser
A web tool created with Lovable that allows users to analyse a GitHub repository's codebase and rank it for maintainability and complexity.
- Analyse a GitHub repository's codebase to rank it for maintainability and complexity.
- Deployed on Lovable's app platform with a public live demo.
- CSS
- GitHub
- HTML
- JavaScript
- Lovable
- React/JSX
- Tailwind
- TypeScript
Lovable Prompt Builder
A web tool helping Lovable users craft better prompts - built using my own Create MVP methodology skill, demonstrating the enablement-first approach.
- Generates well-structured Lovable prompts from a guided form.
- Deployed on Netlify with a public live demo.
- Claude
- CSS
- Git
- GitHub
- HTML
- JavaScript
- Netlify
- Node.js
- npm
- React/JSX
- Tailwind
- TypeScript
- Vite.js
Frank Fava CV
A comprehensive static online CV using Astro, AlpineJS and TailwindCSS
- Focus on Performance and ease of use.
- Add reactive components using Alpine.js
- Structure content so it's easy to find information.
- Alpine.js
- AstroJS
- Claude
- CSS
- Git
- GitHub
- HTML
- Jamstack
- JavaScript
- JSON
- Markdown
- Netlify
- Node.js
- npm
- PostCSS
- Prettier
- Tailwind
- TypeScript
- Vite.js
- VS Code
The full record, one page at a time
Dive deeper into my work, my skills, my experience, and my certifications.
Skills
What I can do in each area, where I've done it, and where it stops.
11 projectsWork
Every project with the technologies, the constraints and what it produced.
Built and operatedAI practice
The agentic tooling I run daily, published tools I've authored, and what I actually use them for.
9 roles · 2008 → PresentExperience
The full timeline, every role, and the achievements attached to each of them.
TemperamentAbout me
Who I am, how I behave under pressure, what I'm still learning, and what the personality tests make of me.
16 certificationsCredentials
What I have, what I don't, and every credential linked back to the issuer.
PrintableOne-pager
The scannable printable version, for a fast skim.










