Skip to content
View joshuadavidthomas's full-sized avatar

Sponsoring

@loopwerk

Organizations

@westerveltco @django-commons

Block or report joshuadavidthomas

Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
joshuadavidthomas/README.md

πŸ‘‹ Hi, my name is Josh

Software developer, self-taught.

Web development was my gateway into programming, but I'm always trying to learn more β€” stretch into new areas of computer science. I build tools that solve problems I run into, contribute in the open, and share what I make so others can learn from it β€” the way I did. Wouldn't be here without open source.

Currently

I wanted to learn Rust with a real project. A language server for Django projects seemed like a good way to do that while hopefully improving Django's DX.

django-language-server β€” a language server for Django projects, written in Rust. Editor extensions for VSCode (djls-vscode) and Zed (zed-django).


LLMs are powerful but non-deterministic; how do you add guardrails without removing what makes them useful? Still working that out.

mcp-django gives LLMs structured access to Django projects, and djangodocs.org (private alpha, opening soon) is a better way for LLMs to search the documentation.

docs2markdown is a CLI tool and Python library to convert HTML documentation to Markdown, built to power djangodocs.org.

opencode-agent-skills and agent-skills document workflows and patterns for LLM coding agents β€” my attempts to figure out how to use these things, like everyone else.


Speaking of making LLMs useful, the age of personal vibe-engineered software is upon us. Here are a few personal tools that I've wanted for myself -- applications that are locked behind a single company's walled garden or are lacking in some way on Linux.

Plus it's a good excuse to stretch into desktop development, stay productive with web technologies (Tauri WebViews and Svelte), and write more Rust (any excuse is a good excuse πŸ˜„):

  • dashtext β€” Quick-capture notes app for Linux.
  • dictate β€” Local voice-to-text transcription.

Recent Releases

Contributions

Django Software Foundation Member, Python Software Foundation Contributing Member, occasional contributor to Django Commons and Jazzband projects, Navigator for Djangonaut Space

A few contributions to bigger projects I'm proud of:

  • django/django#19529 β€” Lazy loading for GDAL in GeoDjango, following the pattern established for GEOS. (Open)
  • django-rest-framework#9688 β€” Fixed UniqueConstraint validation when fields use source attribute.
  • fastmcp#2323 β€” Fixed query-only resource templates not matching URIs without query strings.

Stats

Pinned Loading

  1. django-language-server django-language-server Public

    A language server for the Django web framework

    Rust 160 4

  2. mcp-django mcp-django Public

    MCP server for Django integration with LLM assistants

    Python 34 1

  3. django-bird django-bird Public

    High-flying components for perfectionists with deadlines

    Python 118 4

  4. django-github-app django-github-app Public

    A Django toolkit for GitHub Apps with batteries included

    Python 40 4

  5. westerveltco/django-simple-nav westerveltco/django-simple-nav Public

    A simple, flexible, and extensible navigation menu for Django

    Python 16 1

  6. nvim nvim Public

    My personal Neovim config

    Lua 1