// full-stack python developer
Niles McCrystal · SystemCoder99
I build CLI tools, APIs, and backend systems with a focus on clarity, accessibility, and getting things right the first time.
// about me
I'm Niles McCrystal, a mid-level full-stack developer with a focus on Python — building everything from terminal applications and REST APIs to full cross-platform desktop apps. I specialise in tools that are clean to use, well-documented, and built to last.
One of the things I care most about is accessibility. I'm dyslexic and have auditory processing difficulties, which means I think carefully about how information is communicated — both in the software I build and in how I work with teams. I've developed tools specifically to improve accessibility in the workplace, and that perspective shapes everything I make.
Because of my auditory processing difficulties, I adopted spec-driven development as a core part of how I work. Rather than relying on back-and-forth verbal clarification, I make sure requirements are fully defined upfront — which means less rework, clearer pull requests, and better outcomes for everyone involved.
Spec-first, accessibility-minded, and pragmatic. I'd rather spend time getting requirements right than revisiting finished work.
Mid-level full-stack developer. Comfortable across the whole stack, with a strong preference for Python backends and CLI tooling.
APIs, terminal apps, automation tools, and real-world software that solves genuine problems — often starting from personal need.
I work best with clear written specs and async communication. I'm thorough, considered, and tend to think about edge cases early.
// things i've built
A mix of professional work and personal tools — some finished, some growing.
// professional work
A tool built on top of our internal build and deploy framework to add full monorepo support. Started as a solo project over 8 months before growing into a team effort as adoption expanded — a sign of how much it came to be relied upon.
Laid the groundwork to onboard UV as the company-wide standard for Python development — configuring the developer environment so that UV is automatically set up on first use, pointing to the internal package index rather than public PyPI.
Built a custom AI skill that bridges Spec-Kit (a spec-driven development tool by GitHub) with Jira — automatically transforming short ticket descriptions into fully-scoped feature request specs. I also advocate for spec-driven development as an accessibility practice, for both humans and AI agents alike.
A workplace accessibility tool that applies coloured screen tints for users who benefit from them — particularly those with dyslexia or visual stress. Built after recognising that existing solutions were either expensive, clunky, or unavailable on managed systems.
// personal projects — the applaud suite
Outside of work, my personal projects live under one umbrella: Applaud — ten privacy-first, neurodivergent-focused apps that share a common violet-and-gold visual identity and the tagline "Because all effort deserves applause." Below is the full line-up with current status. Patchwork, SpellBreak, and PanTry are covered in detail further down; the rest are summarised here.
The suite's flagship product. Fully migrated to self-hosted infrastructure (Raspberry Pi 5, Postgres, Caddy, Cloudflare Tunnel) as of mid-2026, and now in active real-world use. Full write-up below.
↗ View on ApplaudA sticker-pack opening app with a leather-journal aesthetic and a mascot, Bobbin. Core loop is feature-complete: pack opening, tear animation, rarity reveals, onboarding, profile/settings, and dark mode.
↗ View on ApplaudShares Unsticker's visual identity with an orange accent. Early-stage, following on from Unsticker's build.
↗ View on ApplaudA one-step recipe app with a self-contained TypeScript parsing pipeline that extracts structured recipe data directly from a page's JSON-LD.
↗ View on ApplaudA communication access card — a quick, low-friction way to signal communication needs and preferences to others.
↗ View on ApplaudA burnout-prediction app built natively on React Native/Expo, using a hearth-and-fire metaphor. Nine weighted dials — including pollen, UV index, moon phase, and air quality — feed a lag-aware model that predicts burnout risk ahead of time.
↗ View on ApplaudA journaling and venting PWA with a deliberately strong privacy architecture: user identity is decoupled from Discord via HMAC-keyed lookups, keeping moderation blind to identity. Being built in three phases.
↗ View on ApplaudAn Android screen-break reminder built on the Accessibility Service API. Full write-up below.
↗ View on ApplaudA relationship-graph based chore-and-reward game with an append-only ledger and multi-currency support.
↗ View on ApplaudAn encrypted grocery and medication expiry tracker with barcode and OCR scanning. Full write-up below.
↗ View on ApplaudA Progressive Web App for plural systems — groups of people who share a single body. Patchwork gives systems a private, local-first space to document their members, track fronting history, and stay connected with trusted friends. Fully migrated from a PaaS-hosted backend to a self-hosted FastAPI server on a Raspberry Pi 5, with Caddy, a Cloudflare Tunnel, and Discord-direct OAuth. Built with genuine care for the community it serves.
The backend infrastructure for Patchwork — a self-hosted FastAPI server on a Raspberry Pi 5, with automated deployments, a reverse proxy, and a persistent tunnel to the public internet. Built and maintained entirely independently, from hardware upward.
An Android screen break reminder app built using the Accessibility Service API and WindowManager overlay. SpellBreak interrupts active screen use with a configurable full-screen overlay — designed to work across all apps, not just when the user thinks to check a timer.
A local-first PWA for tracking grocery and medication expiry dates. All data is encrypted client-side with AES-256-GCM before leaving the device — the FastAPI backend handles sync only, and cannot read user data. Works offline via IndexedDB with sync on reconnect.
Three Discord bots, each built to solve a specific real-world problem. Each one does its job well and stays in its lane — mostly.
// what i work with
// get in touch
I'm open to freelance work, contract roles, and interesting full-time opportunities — especially anything involving Python tooling, API development, or accessibility-focused software. Written communication works best for me.