Skills I've picked up over the years.
Product Management
Product Discovery & Prioritization
Before I commit a team to a proposed solution, I run it through a desirability, feasibility, and viability assessment, then score what's left with RICE. At Hikaya this is usually the first thing I do with a new client: sit down with their existing tools and workflows, figure out what's actually broken, and rank the fixes by impact rather than by whoever asked loudest. Total cost of ownership gets weighed in too, since the cheapest thing to build isn't always the cheapest thing to maintain.
Roadmap & Stakeholder Alignment
A roadmap is only useful if everyone agrees on what matters, so most of my work here happens before the roadmap itself: getting stakeholders to a shared set of priorities, whether that's a two-person team or a project with donors, country offices, and a global team all pulling in different directions. Once that exists, Agile keeps it relevant week to week: backlog grooming, two-week sprints, and retrospectives that shape what comes next.
User Research & Human-Centered Design
I avoid writing a requirement until I've talked to the people who'll actually use it. That usually means interviews, a few personas, and a journey map before anything gets drafted into a Product Requirements Document. The grants management system I built at NRC started the same way: workshops with country office staff, then user stories built from what came out of them.
Data Architecture & Engineering
Data Modeling
I design ERDs and relational schemas before writing a line of code, since a bad data model costs a lot more to fix later than to get right from the start. For reporting, I build data marts using star and snowflake schemas, so things stay lean and fast as the reporting needs grow.
Metadata & Documentation
Metadata management, to me, is building the taxonomy underneath a data dictionary, the same instinct behind HXL tags and IATI's codelists: a column tagged #sector or a value pulled from a shared code list means the same thing no matter which organization published the dataset. The point of doing that work is usually a common data model, one shared schema that lets a warehouse actually combine data from systems that were never designed to talk to each other.
API-First System Design
I design systems API-first: the interface and its contract get defined before I build anything behind it. That way, whoever builds against it next, a frontend team, a partner integration, another engineer, isn't reverse-engineering the last person's assumptions.
ETL & Data Integration
Most of my integration work is building ETL pipelines that move data between systems, with validation and quality checks along the way so a bad record gets caught early instead of quietly moving downstream.
Databases & Enterprise Systems
Databases & Spreadsheets
PostgreSQL and MySQL cover most of the structured data work. When the need is lighter, Airtable or MS Lists work well without setting up a fully fledged database, and Excel or Google Sheets are still the right call when a spreadsheet is genuinely all a project needs.
Enterprise Systems
I've configured and integrated MS Dynamics 365, Odoo, Salesforce, and Unit4 on different projects, usually inheriting the one an organization already had in place rather than setting up from scratch. Each has its own proprietary way of doing things, and most of the work is learning where those limits actually are.
M&E Platforms
I've worked hands-on with most of the major digital M&E platforms: ActivityInfo, DevResults, DHIS2, RedRose, and TolaData, which I helped build. Open source or proprietary changes the trade-offs, but the underlying problem stays the same: getting clean, structured data out of the field and into something that can be shared with a donor.
Analytics & Business Intelligence
Data Cleaning & Statistical Modeling
Cleaning and exploring a dataset usually takes longer than the actual modeling: finding the missing values, the outliers, the column that got renamed halfway through a project, and normalizing formats and units so the values are actually comparable. I'm comfortable running different types of regression depending on the question, which matters most when designing a survey with the eventual analysis already in mind, not figuring it out after the data comes back.
Cost-Benefit Analysis
When a management team is deciding between two solutions or approaches, whether that's build versus buy or which platform to standardize on, I run a cost-benefit analysis so the trade-offs are actually visible instead of assumed, instead of just going with whichever pitch sounded best in the room.
SQL Analysis
I write SQL queries with indexing in mind, since one that ignores it can turn a two-second lookup into a two-minute one once a table grows past a few thousand rows. That difference is what decides whether a dashboard loads in real time or turns into an overnight batch job instead.
Event & Log Analytics
I dig into event and log data, plus built-in or third-party analytics like Google Analytics and Search Console, to see how a product is actually being used and how people are finding it. That usually means spotting where the user journey breaks down, a confusing step, a drop-off point, and using that to prioritize the next round of improvements.
Reporting & Dashboard Design
I pick the simplest chart that answers the question, backed by cross-tabulations, by region, sex, or program type, before any of it becomes a dashboard tile. On the dashboard itself, I keep to one clear metric per view, consistent color coding, and restraint on chart count. Filters make it interactive, letting a country director and a field officer drill into the same dashboard instead of needing two.
Software Development & Cloud
Backend & APIs
I'm most familiar with Python, using Django and DRF, built around REST APIs from the start so the frontend and any future integrations are built on a solid foundation. Recently, I've explored building full-stack TypeScript projects with tRPC and Drizzle, where Node handles the backend instead.
Frontend
On the frontend I write TypeScript, mostly in React these days, with some Vue depending on what a codebase already uses. Next.js is my default framework for that. I try to make components as reusable as possible.
Delivery & Cloud
Git and CI/CD carry the delivery pipeline end to end. When a client is already built around Microsoft, PowerApps is usually the better call for low-code internal tools instead of a full custom build. I've deployed across Azure, AWS, Google Cloud, and DigitalOcean depending on the project, with Entra ID handling identity on the Microsoft side.
Monitoring and Evaluation
Theory of Change & Results Chains
I've facilitated theory of change and results chain workshops with project and M&E teams across a number of projects. The point is to get everyone agreeing on what success looks like before it gets written down, and the logical frameworks that come out of those sessions hold up a lot better once we know each intervention is measurable.
Quality Standards & Sampling
I align quality assurance with OECD DAC standards, which is less about box-checking and more about making sure the data collected can actually support the conclusions drawn from it. The sampling method changes with the question: simple random for a quick check, cluster or stratified once the population gets more complicated than that.
Data Collection
ODK and XLSForm are the backbone of most of my data collection work. Depending on the deployment, that's backed by ODK Central, Kobo, CommCare, or SurveyCTO, since the right tool depends more on field conditions and an org's existing setup than on any strong preference of mine.
Standards & Frameworks
IATI, FTS, and HXL structure how humanitarian data actually gets published, so it is usable by someone outside the organization that collected it. The Principles for Digital Development and the Digital Public Goods Standard go a layer deeper: they push me to avoid vendor lock-in, tools that only work for someone with a smartphone and reliable data, or a system that quietly falls apart once the funding that built it runs out.
GIS & Spatial Data
Mapping & Spatial Analysis
QGIS handles most of my spatial analysis, and ArcGIS steps in when a client's workflow already runs on it. For maps that ship inside an actual product, I turn to Mapbox or CARTO for the styling and hosting, all of it sitting on top of OpenStreetMap data underneath. I've also done that styling myself with fully open-source tools, MapLibre GL for the rendering and OpenFreeMap for the tiles, like the interactive maps on my trail pages.
AI & Machine Learning
Applied ML Foundations
My background is in statistics, not computer science, but it carries over into the fundamentals of how neural networks work: a layer is just a weight matrix and a bias term, the same linear algebra behind an OLS regression, passed through a nonlinear activation function. Stack enough of those and a network can fit patterns a straight line never could. That matters less for building models from scratch and more for knowing what a model can realistically do.
Hands-On with LLMs
Day to day this means prompting and evaluating models, fine-tuning small ones for a specific task, and using retrieval-augmented generation to keep answers grounded in real data instead of a model's best guess. I also build agent tooling with MCP, and run models locally when the data genuinely can't leave the building. Most of that work actually lives in the spec docs, skills, and other context I write for an agent, and I keep iterating on those from project to project to get more precision out of the results and push more of the workflow toward running agentically.
IT Service Management
Service Design & Operations
I design services the ITIL-aligned way and run incident, problem, and change management as an ongoing practice, not just the process everyone reaches for once something's already on fire. That includes using ITIL's own priority and severity standards to triage an issue and escalate it to the right person before it gets bigger, then closing the loop with a post-incident review so the same root cause gets fixed instead of just patched over and repeated.
Service Catalog & SLAs
I've built service catalogs and managed SLAs in both FreshService and ServiceNow. Getting the software set up is usually the easy part; getting an organization to agree on what an acceptable response time even is takes longer. Once that's settled, automation workflows do the actual triage, routing a request to the right queue and firing off an alert before an SLA is close to breaching, and the analytics on response times and ticket volume are what point to where support needs to improve next.
Data Governance & Responsibility
Data Protection
I build data protection frameworks aligned with GDPR and the DPA, run DPIAs before a new system goes live rather than after, and practice data minimization by default.
Access & Architecture
Role-based access controls and secure-by-design architecture are critical first steps in anything that is built. Do No Harm goes further than that. Before building anything, I also ask whether collecting this data at all could put someone at risk, not only whether the system storing it is secure.
Interested in bringing skills like these to a project? Get in touch.
