Graham Abbott

Full Stack Developer & Open Source Contributor

Passionate about building things that make developers' lives easier. Specializing in developer tools, web applications, and system design.

GitHub Achievements

🏆Pair Extraordinaire
🦈Pull Sharkx3
🏛️Arctic Code Vault Contributor
Quickdraw
Starstruck

Technologies & Languages

GoJavaScriptPythonGLSLTypeScriptReact
"You can reach me via the chadburn in the engine room."

Featured Projects

A selection of open-source projects showcasing expertise in Go, JavaScript, and Python development.

rrule

Library
--

A Go library for parsing and handling iCalendar recurrence rules (RFC 5545). Provides parsing, iteration, and string conversion of complex recurring event patterns.

Standards compliantComprehensive test coverageZero dependencies
GoiCalendarRFC 5545

genie

Framework
--

A flexible JavaScript templating library for web browsers, similar to Django and Jinja templates. Features variable scoping, conditional rendering, and error handling.

Django-like syntaxBrowser-optimizedError stack traces
JavaScriptTemplatesBrowser

jsl

Tool
--

Command-line JavaScript Lambda utility for processing data streams and performing quick transformations with JavaScript expressions.

Command-line toolStream processingQuick transforms
JavaScriptCLILambda

tarpluck

Utility
--

A Go utility for selective extraction and manipulation of files from tar archives without full extraction.

Selective extractionMemory efficientCLI interface
GoArchivesCLI

python_xid

Library
--

Python implementation of Xid - globally unique, sortable identifiers that are compact and URL-safe.

Globally uniqueURL-safeSortable
PythonIdentifiersUUID

Skills & Expertise

Technical skills developed through years of building developer tools and open-source contributions.

Programming Languages

Go90%

Primary language for backend systems and CLI tools

JavaScript/TypeScript85%

Full-stack web development and Node.js

Python80%

Data processing, automation, and utilities

GLSL60%

Currently learning graphics programming

Technologies & Frameworks

React/Next.js85%

Modern web application development

Node.js80%

Server-side JavaScript applications

Docker75%

Containerization and deployment

Git90%

Version control and collaboration

Specializations

Developer Tools95%

Building CLI utilities and libraries

Parsing & Templating90%

Text processing and code generation

System Design80%

Architecture and scalable solutions

Open Source85%

Community-driven development

Open Source Philosophy

I believe in building tools that solve real problems for developers. My approach focuses on clean APIs, comprehensive documentation, and robust testing. Each project aims to reduce friction in the development process, whether it's parsing complex calendar rules, generating templates, or manipulating data streams.

Latest Articles

Thoughts on software development, open source, and building tools that matter.

5 min read

Building Developer Tools: Lessons from Open Source

Insights gained from developing and maintaining multiple open-source libraries including rrule, genie, and other developer-focused tools.

Open SourceDeveloper ToolsGoJavaScript
8 min read

The Complexity of iCalendar Recurrence Rules

Deep dive into implementing RFC 5545 compliant recurrence rule parsing and the challenges of handling edge cases in calendar systems.

GoRFC 5545ParsingCalendar
6 min read

JavaScript Templating: From Server to Browser

Evolution of templating systems and why browser-native templating libraries like Genie fill an important niche in modern web development.

JavaScriptTemplatesWeb Development

Let's Connect

Interested in collaborating on open source projects or discussing developer tools? I'd love to hear from you.

Get in Touch

Whether you have questions about my projects, want to collaborate, or just want to say hello, feel free to reach out through any of these channels.

"You can reach me via the chadburn in the engine room."

While the chadburn might be a bit outdated, the modern equivalents work just fine.

Open Source Collaboration

I'm always interested in collaborating on projects that make developers' lives easier. If you have ideas for developer tools, parsing libraries, or system utilities, let's discuss them.

Contributing

Found a bug or have a feature request? Issues and pull requests are welcome on any of my repositories.

New Projects

Have an idea for a developer tool? I'm always exploring new projects that solve real problems.

Consulting

Need help with Go, JavaScript, or developer tooling? I'm available for consulting and code reviews.