{"id":15415623,"url":"https://github.com/chrisrzhou/dev-2020","last_synced_at":"2025-04-04T17:11:51.841Z","repository":{"id":88728853,"uuid":"295254174","full_name":"chrisrzhou/dev-2020","owner":"chrisrzhou","description":"My developer journey leading up to 2020","archived":false,"fork":false,"pushed_at":"2020-09-14T08:27:16.000Z","size":18,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-10T02:22:53.261Z","etag":null,"topics":["2020","reflections","resume"],"latest_commit_sha":null,"homepage":"https://dev-2020.chrisrzhou.io/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chrisrzhou.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-13T23:11:56.000Z","updated_at":"2023-03-04T04:18:20.000Z","dependencies_parsed_at":"2023-04-07T03:04:27.659Z","dependency_job_id":null,"html_url":"https://github.com/chrisrzhou/dev-2020","commit_stats":{"total_commits":5,"total_committers":1,"mean_commits":5.0,"dds":0.0,"last_synced_commit":"6758f78c24105344809bddf885746e494b3168dc"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisrzhou%2Fdev-2020","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisrzhou%2Fdev-2020/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisrzhou%2Fdev-2020/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisrzhou%2Fdev-2020/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrisrzhou","download_url":"https://codeload.github.com/chrisrzhou/dev-2020/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247217222,"owners_count":20903009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2020","reflections","resume"],"created_at":"2024-10-01T17:09:09.235Z","updated_at":"2025-04-04T17:11:51.806Z","avatar_url":"https://github.com/chrisrzhou.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"A resume of sorts, but mostly a writeup that will be committed as a checkpoint in my journey as a developer.\n\n---\n\n## Table of Contents\n- [tl;dr](#tldr)\n- [Projects](#projects)\n- [Tools](#tools)\n- [Interests](#interests)\n- [Influencers](#influencers)\n- [Experience](#experience)\n- [Education](#education)\n\n## tl;dr\n\n### Scope\nWhat data I cannot render, I do not understand.\n\nWith my projects, I try to manage or reduce the entropy of the problem space, and not add to it.\n\n### Values\nI value **specs/schema-driven** development.  A problem can only be solved if its boundaries can be well described.\n\nI value working with people more than working on problems.  Human problems can only be solved by people working together.\n\nI value learning, and respect the idea that everyone is both the teacher and the student.  From experience, real progress is rapidly achieved when everyone is able to learn and evolve a system together.\n\n### Beliefs\nI believe the cost of software development will eventually approach zero.  Therefore, I prioritize building **cheap** interfaces that are easy to understand/use/refactor/compose/deprecate.\n\nI believe that a progressively fair world can only be achieved if tooling, knowledge, sharing, and learning is increasingly made **open**.\n\n## Projects\n\n### Active\n- [`unified-doc`][unified-doc]: A unified way to work with all kinds of documents.\n- [`tdast`][tdast]: abstract syntax tree spec and utilities for working with tabular data.\n- [`react-globe`][react-globe]: `react` + `three` globe component.\n- [`react-wordcloud`][react-wordcloud]: `react` + `d3` wordcloud component.\n\n### Planned\n- [`surveyless`][surveyless]: JAMStack serverless survey app\n- `unidash`: JAMStack visualization app\n- `geneticjs`: JAMStack application to setup, run and visualize genetic algorithms.\n- `???`: open up scientific knowledge locked behind journals.\n\n### Archived\n- [`google-globe-trends`][google-globe-trends]: JAMstack application to easily render globe visualizations based on Google Trends using `react-globe`.\n- [`wordcloud-generator`][wordcloud-generator]: create and share wordclouds.  Built using `react-wordcloud` and `unified-doc`.\n- [`three-glow-mesh`][three-glow-mesh]: create glow mesh with any `three` geometry\n- [`qraffiti`][qraffiti]: fun app to generate creative QR codes.\n- [gists][gists]: My beginning journey into JS and dataviz.\n\n## Tools\n\nI am open to using any tools in the problem space.\n\n### Using\n`d3`, `docz`, `gatsby`, `git`, `graphql`, `lerna`, `md`, `mdx`, `microbundle`, `react`, `redux`, `netlify`, `theme-ui`, `three`, `typescript`, `xo`, `unified`\n\n### Used\n`flow`, `r`, `py`, `sql`\n\n## Interests\n\nThings that I never stopped working or caring about:\n\n- [Open source][me]\n- [JAMstack][]\n- [unified][]\n- Cheap development\n- Documents, content, knowledge\n- Dataviz\n\n## Influencers\n\nThese people and initiatives heavily influence how I learn and approach problems:\n\n#### People\n- [@wooorm][wooorm]\n- [@mbostock][mbostock]\n- [@jxnblk][jxnblk]\n- [@gaearon][gaearon]\n- [@kikobeats][kikobeats]\n- [@mrdoob][mrdoob]\n\n#### Initiatives\n- [`unified`][unified]\n- [`gatsby`][gatsby]\n- [`netlify`][netlify]\n- [`theme-ui`][theme-ui]\n- [`observable`][observable]\n- [`ramaworks`][ramaworks]\n\n## Experience\n\nA resume of my job experience, with personal developments external to work highlighted in blockquotes.\n\n### Frontend Engineer, *Evisort*\nFeb 2020 - Present\n\nBuilt UIs relevant for contract management and integration with NLP/ML pipelines.  Bootstrapped and scaled out a design system with progressive documentation.\n\n\u003e Dived deeper into the document/content/knowledge domain area.  Researched and used [`unified`][unified] to ship the [`unified-doc`][unified-doc] open-source project which provides a unified set of document APIs to solve similar problems across document formats.\n\n### Frontend Engineer, *Roam Analytics*\nJun 2019 - Feb 2020\n\nBuilt innovative and novel UIs that empower human workflows in NLP/ML pipelines (annotations, search, highlight).  Bootstrapped and scaled out a design system with progressive documentation.\n\n\u003e This was the start of my interest in the document/content/knowledge domain area.  At this point, I am fairly fluent with rapid and cheap UI development, design systems, and progressive documentation.\n\n### Data UI Engineer, *Facebook*\nMay 2015 - Jun 2019\n\nDuring my time at Facebook, I designed and shipped multiple data UI products.\n- **Rabbit**: Tableau-like data exploration, visualization and dashboarding tool built in `react` + `redux`.\n- **Survey Insights**: Visualization and insights dashboard capable of analyzing survey results from third-party sources (e.g. Qualtrics).  Built in `react` + `redux` + `graphql`.\n- **fbFiddle**: Facebook JS fiddle supporting internal JS modules.\n- Various data UIs and visualization components.\n\n\u003e I kept exploring simpler and open approaches of the problems I faced at work.  `react-globe`, `react-wordcloud` were direct formalizations of some work I did at Facebook.  Learned about JAMStack and migrated personal projects onto Netlify/Gatsby!\n\n### Business Intelligence Analyst, *NRG Energy*\nApr 2011 - May 2015\n\nSelf-taught `r`, `py`, `sql`, `vba`, `js`, `d3` to automate traditional marketing reports managed in Excel.\n\n\u003e Unknowingly, my interests and work were already JAMstack-focused (despite the term not being official yet).  These pet projects were all statically built when I was just learning `js` and `d3`: https://bl.ocks.org/chrisrzhou\n\n## Education\n\n### B. in Physics \u0026 Mathematics, *Rice University*\n2006 - 2009\n\n\n\u003c!-- definitions --\u003e\n[gatsby]: https://github.com/gatsbyjs\n[jamstack]: https://jamstack.org\n[netlify]: https://github.com/netlify\n[observable]: https://github.com/observablehq\n[theme-ui]: https://github.com/system-ui/theme-ui\n[unified]: https://github.com/unifiedjs/unified\n\n\u003c!-- projects --\u003e\n[gists]: https://bl.ocks.org/chrisrzhou\n[google-globe-trends]: https://google-globe-trends.netlify.app\n[qraffiti]: https://qraffiti.netlify.app\n[react-globe]: https://react-globe.netlify.app\n[react-wordcloud]: https://react-wordcloud.netlify.app\n[surveyless]: https://surveyless.netlify.app\n[tdast]: https://github.com/tdast/tdast\n[three-glow-mesh]: https://github.com/chrisrzhou/three-glow-mesh\n[unified-doc]: https://unified-doc.netlify.app\n[wordcloud-generator]: https://wordcloud-generator.netlify.app\n\n\u003c!-- profiles --\u003e\n[me]: https://github.com/chrisrzhou\n[gaearon]: https://github.com/gaearon\n[jxnblk]: https://github.com/jxnblk\n[kikobeats]: https://github.com/kikobeats\n[mbostock]: https://github.com/mbostock\n[mrdoob]: https://github.com/mrdoob\n[wooorm]: https://github.com/wooorm\n[ramaworks]: https://rama.works/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisrzhou%2Fdev-2020","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrisrzhou%2Fdev-2020","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisrzhou%2Fdev-2020/lists"}