Open to remote senior .NET & agentic AI roles

PortfolioVincent Chepkwony

Enterprise .NET and Agentic AI and CloudBuilt the proven way · shipped faster with AI agents · deployed on Azure, AWS and Google Cloud

Senior .NET, agentic AI & front-end engineer for government and healthcare systems.

12+ years building C# services and the interfaces people use to reach them, for the U.S. Department of Justice, Department of Energy, the FAA and K-12 education. I modernize legacy ASP.NET, MVC and Web Forms into .NET 8 and Angular, built to WCAG 2.1 AA and Section 508. Today I also build AI agents and the secure .NET services they call, deployed on Azure, AWS and Google Cloud.

Years shipping .NET
12+
Legacy apps modernized at DOJ
10+
Secure APIs for HIPAA workflows
25+
Faster FAA dashboards
60%

What I do

Back end, front end, agentic AI and cloud, in one developer

.NET & C#

ASP.NET Core Web APIs, MVC and Web Forms modernization, EF Core, SignalR and Blazor.

.NET 8ASP.NET CoreMVCEF Core

Front end & UI

Angular and React interfaces built from Figma and Adobe XD designs on Material, Bootstrap and PrimeNG.

Angular 18TypeScriptHTML5 / CSS3Figma

Accessibility

Section 508 and WCAG 2.1 AA delivered on DOJ and DOE systems, using WAI-ARIA patterns.

WCAG 2.1 AASection 508WAI-ARIA

Data & delivery

SQL Server and T-SQL, REST and GraphQL APIs, and CI/CD pipelines in Azure DevOps.

SQL ServerAzure DevOpsDocker / AKSAWS

Agentic AI

MCP tool servers in C#, tool-calling assistants, RAG and scheduled agents, all behind tests, CI gates and human review.

MCPClaudeAzure OpenAIRAG

Cloud

Azure App Service, Functions, Key Vault and AKS; AWS Lambda, EC2 and S3; Google Cloud Functions and Firebase.

AzureAWSGoogle CloudKubernetes

Selected work

Public-sector and regulated systems, modernized

Six engagements across justice, energy, aviation, education, insurance and healthcare.

Federal · Justice2016–2020

U.S. Department of Justice: accessible modernization

10+ legacy systems modernized

Rebuilt aging ASP.NET applications as responsive Angular and .NET Core apps that meet the department's accessibility mandates.

  • Section 508 and WCAG 2.1 AA built into each migrated app
  • 25+ secure REST APIs for HIPAA workflows with OAuth2 and PII encryption
  • Rotated as production support engineer on live incidents
.NET CoreAngularWAI-ARIASQL Server
Public education2025–present

K-12 enrollment management platform

99.9% uptime via Azure DevOps to AKS

An enrollment system for K-12 programs that predicts student placement, built on .NET 8, Angular 18 and Azure OpenAI.

  • REST and GraphQL APIs behind Azure API Management
  • Containerized services with CI/CD pipelines in Azure DevOps
  • Datadog monitoring for API health and production incidents
.NET 8Angular 18AKSAzure OpenAI
Federal · Aviation2024–2025

FAA budgeting and reporting tools

60% faster dashboard load times

Tuned .NET 8 Web APIs and Angular 18 rendering for enterprise reporting, and added an LLM-assisted budgeting workflow.

  • 70% less manual processing in budget analysis
  • Blazor apps for real-time internal data views
  • Event-driven services across 10+ microservices
.NET 8Angular 18BlazorAWS Lambda
Federal · Energy2020–2021

Department of Energy: grant management

AA WCAG 2.1 conformance target

Maintained ASP.NET MVC and .NET Core grant and budgeting systems and rebuilt their Angular front ends from Figma designs.

  • Accessible PrimeNG and AG-Grid data views with WAI-ARIA
  • Azure AD SSO with JWT
  • Tests with MSTest, Moq, Jasmine and Karma; mentored junior engineers
ASP.NET MVCAngularPrimeNGFigma
Insurance2023–2024

Intact Insurance: micro front ends

>95% test coverage with xUnit

Angular 17 front end on .NET microservice APIs, built as micro front ends with Module Federation.

  • Standalone Angular components
  • Test-driven .NET Core services
  • Azure DevOps YAML pipelines and PowerShell automation
Angular 17xUnitPostgreSQLAzure DevOps
Healthcare · FDA2015–2016

FDA-integrated drug management portal

HIPAA compliant drug labeling portal

A HIPAA-compliant portal that streamlines drug labeling, compliance review and approvals, with structured regulatory content rendered to HTML.

  • ASP.NET MVC and Web API on Oracle
  • XML with XSD validation, rendered to accessible HTML
  • Real-time drug data exchange for regulatory reporting
ASP.NET MVCXML / XSLTOracle

Agentic AI applications

Four agentic AI applications I designed, built and run in production

My own products, outside client work. In each one, AI agents do real work on a schedule or on request: they call tools, write, check and publish, with automated tests and a CI/CD pipeline behind them. The repositories are private; I can walk through the code in an interview.

Agentic AI · Data analytics platformWeb · iOS · Android

Crosstab

A public-opinion analytics platform. Every morning it collects new survey data, rebuilds rolling averages and a probability forecast, publishes the site and apps, and sends personalized alerts to subscribers.

  • Unattended daily pipeline: collect, merge history, diff, forecast, publish, notify
  • Moved background jobs off CI onto Workers, Queues and Containers, with a dead-letter queue and nightly R2 backups
  • One codebase ships the web app and native iOS and Android apps
AI agents
Daily data agent, Claude-written summaries, social publishing agent
Front end
HTML5, CSS, JavaScript, Capacitor (iOS, Android)
Back end
Node.js, Cloudflare Workers, Pages Functions, Durable Objects
Data
Supabase Postgres, Cloudflare R2, Queues
Delivery
GitHub Actions, Resend, Web Push, Claude API

70 test filescrosstab.vote

ArchitectureCrosstab
  1. Clients

    • Web appCloudflare Pages
    • iOS · AndroidCapacitor
    • AlertsEmail · push · WhatsApp
  2. Edge

    • APIPages Functions
    • SchedulerWorkers cron · 5 min
  3. Jobs

    • Job runnerContainers · Durable Objects
    • Job queueQueues + dead letter
  4. Data · AI

    • AccountsSupabase Postgres
    • DatasetsR2 + nightly backups
    • SummariesClaude API
Agentic AI · Compliance · healthcare trainingiOS · Android · Web

Fieldwise

A fieldwork-hours tracking and compliance system for behavior-analyst trainees, supervisors and organizations. It checks each month against BACB requirements and fills the official verification forms.

  • Offline-first app with Supabase sync and row-level security for each trainee
  • In-house e-signature engine: signing envelopes, audit trail and a PAdES certification seal
  • Shared rules engine fills the official BACB PDF forms field by field, with no redrawing
AI agents
Claude voice assistant with tool use, directory research agent on Fly.io
Front end
TypeScript, React Native, Expo Router, Astro
Back end
Supabase Edge Functions (Deno), Fly.io workers
Data
PostgreSQL with RLS, Supabase Storage
Delivery
GitHub Actions, Vitest, Stripe, pdf-lib, Claude API

21 test filesfieldwiseaba.com

ArchitectureFieldwise
  1. Clients

    • AppExpo · iOS, Android, web
    • Marketing siteAstro · SEO
  2. Domain

    • Rules engineBACB checks · PDF forms
    • E-signaturePAdES seal · RFC 3161
    • Voice assistantOffline parser + Claude
  3. Back end

    • Edge Functionsesign · checkout · assistant
    • WorkersFly.io · directory, email
  4. Data

    • PostgresRow-level security
    • StorageForm templates · PDFs
    • BillingStripe webhooks
Agentic AI · Real-time monitoringPWA · Android

VisaPulse

Monitors US visa appointment availability and alerts users the minute a date opens. An installable app on a Python API, with a single background checker that is careful with the source site.

  • Checker reuses sessions, spaces checks by plan, backs off on errors and removes duplicate alerts
  • Saved credentials are encrypted in a vault with rotatable keys
  • CI tests on SQLite and PostgreSQL 16, then deploys with a backup, health check and automatic rollback
AI agents
Monitoring agent with backoff and dedupe, GPT assistant with web search and live voice
Front end
PWA (service worker, Web Push), Android
Back end
Python, FastAPI, SQLAlchemy 2
Data
PostgreSQL 16, encrypted vault (cryptography)
Delivery
Docker Compose, DigitalOcean, GitHub Actions, Stripe, Twilio

13 test filesvisapulse.io

ArchitectureVisaPulse
  1. Clients

    • Phone appPWA · Android
    • Alert channelsPush · email · SMS · Telegram
  2. API

    • FastAPISign-in · Google OAuth
    • WebhooksStripe · Telegram
    • AssistantOpenAI · realtime voice
  3. Worker

    • CheckerBackoff · dedupe · lockout pause
    • Read-only clientNever books or pays
  4. Data · infra

    • PostgreSQL 16Health-checked
    • VaultEncrypted credentials
    • DropletDigitalOcean · rollback
Agentic AI · Multi-tenant SaaSWeb · iOS · Android

Hookline

An autonomous social-media engine sold as multi-brand SaaS. It learns a brand from its app, website and files, plans a calendar for each market's time zone, then writes, designs and publishes posts.

  • Writer may only cite facts that appear word for word in the brand's own sources
  • One Docker image runs two Fly.io process groups (API and workers) with rolling deploys and migrations run before release
  • Monorepo with a typed API client shared by the web and native apps
AI agents
Plan, write, design, publish and measure agents, limited to verified facts
Front end
TypeScript, React, Vite, Expo (iOS, Android)
Back end
Node.js, Fastify, Zod, Helmet, rate limiting
Data
PostgreSQL (Supabase)
Delivery
Fly.io, GitHub Actions, Vitest, Satori, Claude API

13 test filesIn development

ArchitectureHookline
  1. Clients

    • DashboardReact · Vite
    • MobileExpo
    • Connected appsPOST /v1/signals
  2. API

    • Fastify APIMulti-brand · Zod
    • Brand profileVerified facts only
  3. Engine

    • WorkersPlan · write · design · publish · measure
    • Image renderSatori · resvg
  4. Data · services

    • PostgresSupabase
    • LLMClaude API
    • NetworksMeta · X · LinkedIn · TikTok

Agentic development

I build AI agents, and I build with them

Agents that call real tools, held to the same standard as any production code: typed inputs, tests, CI gates and a person in the loop where it matters.

Agents and AI features I have shipped

  • Client · .NET 8MCP tool servers in C#Exposed K-12 enrollment, eligibility, scholarship and admin workflows as secure tools that an AI model can call, using the .NET MCP SDK.
  • Client · Azure OpenAIEnterprise LLM featuresStudent placement prediction for a K-12 enrollment system, and a budgeting assistant at the FAA that cut manual processing by 70%.
  • Fieldwise · tool useVoice logging assistantClaude turns what a trainee says into draft sessions through one tool. An on-device parser takes over offline, and nothing saves until the user confirms.
  • Crosstab · scheduled agentsSelf-running data pipelineAgents collect, check and publish new data every morning, write the summary and send the alerts with no manual steps.
  • Hookline · guardrailsA brand engine that can't make things upPlans, writes, designs and posts, but may only cite facts that appear word for word in the brand's own sources.

How I work with AI coding agents

  1. Spec firstWrite the task, the limits and the acceptance tests before any code.
  2. Agent draftsClaude Code, GitHub Copilot or Codex makes the change on a branch.
  3. Gates decideCI runs tests, type checks, migrations and accessibility scans. A failure blocks the merge.
  4. I review every diffEspecially security, data handling and accessibility, before anything ships.

Agent tooling

Claude CodeGitHub CopilotOpenAI CodexModel Context ProtocolTool callingSemantic KernelLangChainLangGraphRAG · vector search

AI models

Models I have wired into production code

Each one is set up in a product or client system, picked for its job, and capped for cost.

Anthropic

Claude
  • claude-opus-5-5Deep reasoning and planningHookline
  • claude-sonnet-5 · 5-5Writing, analysis and summariesCrosstab, Hookline
  • claude-haiku-5-5Fast voice-assistant turns with tool useFieldwise

OpenAI

GPT
  • gpt-6-astra · gpt-6.1-solResearch briefings and a directory agentVisaPulse, Fieldwise
  • gpt-5.4Answers with live web searchVisaPulse
  • gpt-realtime-2.1-miniLive voice over WebRTCVisaPulse
  • gpt-image-2.5Post images and thumbnailsHookline, Crosstab
  • text-embedding-3-smallEmbeddings for searchFieldwise
  • gpt-4o-mini-transcribe · ttsSpeech to text and narrationFieldwise, Crosstab

Microsoft

Azure AI
  • Azure OpenAI ServiceEnrollment placement predictionK-12 client
  • Azure OpenAI ServiceLLM budgeting assistantFAA
  • Cognitive ServicesLanguage and vision APIsClient work

Voice & video

Media
  • Seedance 2.0 · 2.5Short-form video generationCrosstab
  • ElevenLabsNatural voice narrationCrosstab
  • Deepgram · WhisperTranscriptionFieldwise, Hookline
  • LiveAvatarAI presenters for live videoCrosstab

Code samples

How I write .NET, front-end and SQL code

Seven files, from the database to an AI agent's tool server to the deployment pipeline. Pick a tab to read one.

Controllers/ApplicantsController.csValidation returns RFC 7807 problem details. PII is encrypted with ASP.NET Core Data Protection before it reaches SQL Server and never written to logs.

using System.ComponentModel.DataAnnotations;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.DataProtection;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;

namespace Agency.Services.Applicants;

public sealed record CreateApplicantRequest(
    [property: Required, StringLength(100)] string FullName,
    [property: Required, EmailAddress] string Email,
    [property: Required, RegularExpression(@"^\d{3}-\d{2}-\d{4}$",
        ErrorMessage = "Enter the SSN as 123-45-6789.")] string Ssn);

public sealed record ApplicantDto(int Id, string FullName, string Email, string SsnMasked)
{
    public static ApplicantDto From(Applicant a) =>
        new(a.Id, a.FullName, a.Email, $"***-**-{a.SsnLast4}");
}

[ApiController]
[Route("api/applicants")]
[Authorize(Policy = "CaseWorker")]
public sealed class ApplicantsController(
    AppDbContext db,
    IDataProtectionProvider protection,
    ILogger<ApplicantsController> log) : ControllerBase
{
    // Purpose string isolates this key ring; rotate by bumping the version.
    private readonly IDataProtector _pii = protection.CreateProtector("Applicants.Pii.v1");

    [HttpPost]
    [ProducesResponseType<ApplicantDto>(StatusCodes.Status201Created)]
    [ProducesResponseType<ValidationProblemDetails>(StatusCodes.Status400BadRequest)]
    public async Task<IActionResult> Create(CreateApplicantRequest req, CancellationToken ct)
    {
        // [ApiController] has already returned 400 + ValidationProblemDetails
        // if any annotation above failed, so the request is valid here.
        if (await db.Applicants.AnyAsync(a => a.Email == req.Email.ToLowerInvariant(), ct))
        {
            ModelState.AddModelError(nameof(req.Email), "An applicant with this email already exists.");
            return ValidationProblem(ModelState);
        }

        var entity = new Applicant
        {
            FullName  = req.FullName.Trim(),
            Email     = req.Email.Trim().ToLowerInvariant(),
            SsnCipher = _pii.Protect(req.Ssn),
            SsnLast4  = req.Ssn[^4..]
        };

        db.Applicants.Add(entity);
        await db.SaveChangesAsync(ct);

        log.LogInformation("Applicant {ApplicantId} created", entity.Id); // ID only, no PII
        return CreatedAtAction(nameof(GetById), new { id = entity.Id }, ApplicantDto.From(entity));
    }

    [HttpGet("{id:int}")]
    [ProducesResponseType<ApplicantDto>(StatusCodes.Status200OK)]
    [ProducesResponseType(StatusCodes.Status404NotFound)]
    public async Task<ActionResult<ApplicantDto>> GetById(int id, CancellationToken ct)
    {
        var applicant = await db.Applicants.AsNoTracking()
            .SingleOrDefaultAsync(a => a.Id == id, ct);

        return applicant is null ? NotFound() : ApplicantDto.From(applicant);
    }
}

Experience

Where I have worked: enterprise .NET, agentic AI and cloud

  1. 2021 – present

    Independent agentic AI products

    Crosstab, Fieldwise, VisaPulse and Hookline: AI agents, tool calling, Claude and GPT models, Cloudflare, Fly.io, DigitalOcean and Supabase.

  2. May 2025 – present

    Senior Full Stack .NET / Angular Developer · Randstad Technologies (K-12 systems)

    .NET 8, Angular 18, MCP tool servers for AI agents, Azure OpenAI, AKS, Azure DevOps, GraphQL, Datadog.

  3. Sep 2024 – May 2025

    Senior Full Stack .NET Developer · FAA / i360 Technologies

    .NET 8 APIs, Angular 18, LLM budgeting assistant on Azure OpenAI, Blazor, AWS Lambda, API gateways.

  4. Feb 2023 – Sep 2024

    Azure Full Stack Developer · Intact Insurance

    Angular 17 micro front ends, TDD with xUnit, Azure DevOps YAML, PostgreSQL and T-SQL.

  5. Mar 2022 – Feb 2023

    Full Stack Software Engineer · NanoString

    .NET 6, Angular 14, Azure Functions, SignalR for spatial biology instrument manufacturing.

  6. Apr 2021 – Mar 2022

    Senior .NET Engineer · Satcom Direct

    Migrated AngularJS to Angular 14, built .NET Core APIs, Docker on Azure, Azure DevOps.

  7. Aug 2020 – Apr 2021

    Senior .NET Engineer / Angular Developer · U.S. Department of Energy

    ASP.NET MVC, .NET Core, Angular, WCAG 2.1 AA, Azure AD SSO.

  8. Aug 2016 – Aug 2020

    .NET Modernization Engineer · U.S. Department of Justice

    Legacy ASP.NET to Angular and .NET Core, Section 508, HIPAA APIs, SQL Server and Oracle.

  9. 2011 – 2016

    Earlier roles · Sparks IT, IP Commerce, Experian, Pride Marketing

    ASP.NET MVC, Web API, WCF, Entity Framework, XML/XSLT, OAuth 2.0, SQL Azure and AWS.

Cloud platforms

  • Microsoft AzureApp Service, Functions, Key Vault, AKS, API Management, Service Bus, Azure OpenAIK-12 · Intact · Satcom
  • Amazon Web ServicesLambda, EC2, S3, serverless microservicesFAA · IP Commerce
  • Google CloudCloud Functions, Firebase real-time syncAI health assistant

Education

  • M.Sc. Computer Science, Colorado Technical University2010
  • M.Sc. Database Systems, Colorado Technical University2008
  • B.Sc. Software Systems Engineering, Colorado Technical University2006

Certifications

  • Microsoft Certified Professional Developer (MCPD), Web2014
  • Certified Artificial Intelligence Consultant2026
  • FAA Airframe & Powerplant Technician2006

Contact

Let's talk about your next accessible release.

Open to fully remote senior .NET and front-end roles on government and healthcare programs. References available on request.