Trevor Schmidt

Senior full-stack software engineer with 15+ years experience building & maintaining quality services, systems and solutions; tools and libraries to accelerate development; usable, performant and attractive applications.

Services

  • Skill level: ExpertREST & HATEOAS
  • Skill level: ExpertOpenAPI & documentation-driven APIs
  • Skill level: AdvancedMicroservice architecture
  • Skill level: AdvancedFault tolerance
  • Skill level: AdvancedComposable systems

Web UI & UX

  • Skill level: ExpertReact
  • Skill level: ExpertDOM & Web APIs
  • Skill level: AdvancedSolid
  • Skill level: AdvancedWeb performance
  • Skill level: AdvancedReactivity
  • Skill level: AdvancedUI & UX design
  • Skill level: AdvancedCustom JSX
  • Skill level: IntermediateVue
  • Skill level: IntermediateA11y

DSLs

  • Skill level: ExpertDomain modeling & extensibility
  • Skill level: AdvancedInterpreters & runtime
  • Skill level: IntermediateGrammar-defined parsers
  • Skill level: IntermediateDomain-specialized tools
  • Skill level: IntermediateRuntime optimization

Languages

  • Skill level: ExpertTypeScript
  • Skill level: ExpertJavaScript
  • Skill level: ExpertClojure
  • Skill level: ExpertXPath
  • Skill level: ExpertODK XForms
  • Skill level: ExpertCSS
  • Skill level: ExpertHTML
  • Skill level: AdvancedSQL
  • Skill level: AdvancedXSLT
  • Skill level: IntermediatePython
  • Skill level: BasicSwift
  • Skill level: BasicJava

Recent Experience

ODK

Senior Software Engineer
-

ODK builds a comprehensive suite of open source data collection tools, used globally across a wide variety of campaigns with high social impact in public health & beyond.

  • Initially joined to maintain Enketo, ODK’s inherited/legacy web-based data collection tool.

  • Conceived, created & led development of ODK Web Forms, ODK’s replacement for Enketo & complement to their flagship Collect product for Andriod devices. Successfully shipped to users as of early 2025.

  • Prototyped initial design, architecture & implementation of Web Forms, supporting evaluation of long-term viability for the project by ODK leadership.

  • Primarily responsible for design & implementation of Web Forms XPath functionality. Achieved full W3C XPath 1.0 standards compliance; extension of XPath language semantics to support additional data types; development of a broad library of custom functions supporting the underlying ODK XForms specification; adapted interpreter to provide XPath evaluation semantics in arbitrary runtime contexts, with a small & flexible adapter API.

  • Primarily responsible for design & implementation of the Web Forms XForms Engine. Implemented the engine’s core data model and computational graph, according to ODK XForms spec; developed the engine’s fundamental abstractions for computation as an internal reactive graph; conceived and matured the engine’s external interfaces, providing simple, cohesive & client-agnostic access to the engine’s underlying ODK XForms semantics.

  • Directed design & architecture of Web forms to support long-term vision for the project—anticipating unification of ODK’s data collection software across all supported platforms, and expanding functionality well beyond the project’s current, core data capture feature set.

Treez

Senior Software Engineer
-

Treez provides a full seed-to-sale catalogue of tools for inventory & process management, regulatory reporting, B2B sales, and point of sale for the legal cannabis market.

  • Created and maintained a set of libraries designed for rapid development of REST API services, providing simple, declarative API boundaries with runtime & static type safety, automatically generated documentation, and a clear separation of concerns between those boundaries and a service’s business logic. These libraries had been used in production for one successful service, adopted by another team for a greenfield service, and ports of all other Treez API services planned, with no significant maintenance requests.

  • Expanded the API translation layer built at Mister Kraken to support the regulatory reporting APIs used in markets served by Treez in CA, MI, and beyond. This also allowed the original Mister Kraken product to expand integration into those markets, and Treez to expand its operations from point of sale to a full seed-to-sale suite.

  • Led and maintained a robust fault tolerance service layer between Treez end-user products and regulator reporting services. This ensured that frequent and widespread errors in the regulatory agencies’ APIs did not result in a loss of compliance for Treez customers.

  • Promoted a team culture shift to embrace automated data correction with a historical record, and built a standard set of tools for data correction operations. These tools were used successfully for two major incidents, ensuring compliance was maintained with an auditable proof of operations log.

Mister Kraken

Senior Software Engineer
-

Mister Kraken provided a rich suite of inventory and process management tools for the legal cannabis market. The Reup and Mister Kraken teams joined forces and products in 2017.

Mister Kraken was acquired by Treez in late 2018.

  • Led design and development of an API translation layer which ensured a zero downtime transition for regulatory compliance when the WSLCB abruptly selected a new vendor’s incompatible reporting APIs. This ensured minimal changes in the original Mister Kraken codebase while also preparing the product for expansion into other markets where other vendor APIs were common.

  • Promoted a team culture shift in development and collaboration to embrace automated testing, type safety, tool-based quality assurance, CI & automated review tools, thorough manual review by team members, and collaborative design & planning processes. This significantly improved the team’s ability to deliver and maintain quality and value at a faster pace.

  • Adapted Reup’s frontend web app to integrate with Mister Kraken’s existing B2B sales platform. From time of release, through the Treez acquisition, to my departure, the app remained in active use with no significant change requests.

Reup

Senior Software Engineer
-

Reup was a startup in the legal recreational cannabis market, providing a B2B marketplace for retailers and manufacturers to discover and order cannabis products and supplies.

Reup was acquired by Treez in late 2018.

  • Shaped and refined product direction as the second engineer and fourth employee, sharing leadership on market & user research to inform core user stories and product decisions.

  • Led frontend architecture and spearheaded development of Reup’s web app.

  • Shared leadership in defining core abstractions in the product’s backend API layer to improve development safety and velocity.

  • Took ownership of refining and adapting UI & UX design as product requirements changed and use case complexities grew.

ClipCard

Senior Software Engineer
-

ClipCard was a set of apps and services which let users find files, notes and more across a wide variety of consumer and business cloud services by indexing those resources in a common format.

  • Led design and development an ETL framework used by all of ClipCard’s API integrations, providing simple, generalized interfaces to accelerate development of service API authorization, backpressure, fault tolerance and extract/integration patterns.

  • Contributed to 12 of ClipCard’s API integrations, leading development on integrations with Dropbox, Evernote, GitHub and Trello.

  • Led frontend architecture and development of ClipCard’s web app, and provided mentorship for the team member who eventually replaced me in that role as I transitioned to to lead API integration efforts.

  • Organized a hackathon which produced 8 API integration prototypes, ultimately leading to the company’s pivot from enterprise services to focus on cloud services and consumer adoption.

  • Designed and developed ClipCard for Mac.

Projects I Created

GitHub

@getodk/xforms-engine

-

Client-agnostic, reactive runtime for ODK XForms

GitHub

@getodk/xpath

-

Extensible XPath 1.0 interpreter, supporting ODK XForms extensions, arbitrary DOM implementations

GitHub

tree-sitter parser for XPath 1.0 syntax

GitHub

Dark mode web extension for Hacker News.

Quick weekend project, made by request when I saw that it had been left up to the Hacker News community.

GitHub

Espalier

-

Placeholder style rules for Garden.

Created and open sourced at Reup to optimize redundant CSS rules as a simple DSL with a great DX.

GitHub

cljs-rrule

-

A ClojureScript wrapper for rrule.js, with common Clojure semantics for RRule and RRuleSet, conforming to RFC 2445 (with some specific exceptions).

Created and open sourced at Reup for generating standardized rules for recurring dates & times.

GitHub

cljs-rest

-

A ClojureScript REST client, suitable for AJAX interaction with RESTful APIs.

Created and open sourced at Reup to simplify integration between ClojureScript websites & web apps and backend REST APIs.

GitHub

A ClojureScript implementation of alter-var-root.

Created to provide the same behavior as Clojure on the JVM.

GitHub

Utility for exporting all of an organization’s GitHub issues and comments.

Created and open sourced at ClipCard to easily produce a full archive of an organization’s GitHub issues activity.

GitHub

Bundle Tracker

-

Utility for cataloging and identifying macOS “bundle” directory types which are commonly treated as files.

Created and open sourced at ClipCard for use in several API integrations where macOS bundle directories were expected to be represented as files.

Open Source Contributions

GitHub

Enketo

-

Long-term maintenance.

GitHub

Astro

Collaborate with core contributors to add support for rendering SolidJS components.

GitHub

Microsite

-

Several bug fixes and feature enhancements, with ongoing involvement on the project. Microsite powers my site, thanks @natemoo-re!

GitHub

Introduced the ignoreInferredTypes option for the prefer-readonly-parameter-types rule to improve DX when the rule is used with third-party libraries.

GitHub

mdx

Improved TypeScript support.

GitHub

FAST

Improved documentation.

GitHub

Razzle

Corrected documentation in TypeScript example.

GitHub

CLJSJS

-

Introduced support for big.js in ClojureScript, and updated support for rrule.js.

GitHub

Accountant

-

Fixed a pair of bugs where query parameters on a link were not set when the link was clicked, and where a previous location state’s query parameters were not removed when navigating to another link without those query parameters.

GitHub

Expanded version support.

GitHub

speclj

Introduced support for .cljc modules. Improved reliability of determining whether .cljc tests are being run in Clojure or ClojureScript. Fixed a bug when testing whether a value is a given throwable type.

GitHub

Figwheel

Added support for the :notify-command configuration allowing projects to run arbitrary commands once a rebuild is complete.

GitHub

Fixed a bug where the REPL’s port was reported incorrectly.

Projects

24 projects listed at eyelidlessness.github.io/projects

References

Available upon request, email gnosis@gmail.com