What we deliver
- REST & GraphQL APIs — FastAPI or Flask in Python, Express/Fastify in Node. Typed, versioned, documented with OpenAPI.
- Single-page & server-rendered apps — React, Next.js, TypeScript throughout. Strict typing, no any.
- Real-time dashboards — WebSockets, Server-Sent Events, React Query for optimistic updates.
- Microservices — when warranted. We resist premature microservices; a well-factored monolith ships faster and costs less to operate.
- Background jobs & queues — Celery, RQ, BullMQ, or cloud-native (SQS + Lambda, Service Bus).
- Auth & authorization — Login.gov / ID.me integration, SAML, OIDC, fine-grained RBAC and ABAC.
- 508 / WCAG 2.2 AA compliance — baked in, not retrofitted.
Why a solo full-stack builder
Most federal application teams have a designer, a frontend dev, a backend dev, a DevOps engineer, a tech lead, and a PM — plus contracting overhead. Every handoff is a coordination tax and a misalignment risk.
A full-stack builder who has shipped end-to-end makes the boring-but-critical decisions faster: which API contract, which state management, which database schema, which deployment unit. Fewer meetings, fewer JIRA tickets, more code that works.
Stack
- Backend: Python 3.12, FastAPI, SQLAlchemy 2.x, Pydantic v2, Alembic, Celery.
- Frontend: TypeScript 5.x, React 18/19, Next.js 15, Tailwind, shadcn/ui, TanStack Query.
- Database: PostgreSQL 16 (with pgvector when RAG is involved), Redis for cache and queues.
- Infra: Docker, Kubernetes or Nomad, Terraform, AWS GovCloud / Azure Government.
- Testing: pytest, Playwright, Vitest, axe-core accessibility scans.
- Quality gates: ruff, mypy strict, biome, Trivy SCA.
Section 508 / accessibility
Every federal interface ships with accessibility as a requirement, not a stretch goal. Our approach:
- Semantic HTML first. ARIA only when semantic HTML cannot express the intent.
- Full keyboard navigation — every interactive element reachable and operable via keyboard.
- Screen reader testing with NVDA, JAWS, and VoiceOver.
- Color contrast meeting WCAG 2.2 AA at minimum (4.5:1 normal, 3:1 large).
- Automated axe-core scans gating every pull request.
- Manual audit against WCAG 2.2 AA checklist before delivery.