feat: add testimonials, fix funding
Node.js CI / Lint and Test (push) Failing after 1m4s

This commit is contained in:
2025-09-23 12:41:59 -07:00
parent 4d9fae6928
commit 445853b28f
5 changed files with 161 additions and 366 deletions
+22
View File
@@ -4,6 +4,7 @@
"words": [
"Abalise",
"Aeris",
"Alix",
"Alouette",
"altaria",
"Amari",
@@ -24,44 +25,65 @@
"Elaria",
"Elowyn",
"Elunara",
"Francez",
"gitea",
"Gooch",
"hikari",
"Isolda",
"iuvo",
"Jaoude",
"Karlo",
"Katey",
"Kuroko",
"Lamonica",
"Liora",
"Lynira",
"lyria",
"Manushev",
"maribelle",
"maylin",
"Meliora",
"Melo",
"Mohapatra",
"Mommy",
"Mrugesh",
"naomis",
"nhcarrigan",
"Nielda",
"nightsong",
"nymira",
"Ohman",
"opencollective",
"oriana",
"pavelle",
"Qais",
"Ranjan",
"Rennemeyer",
"Rion",
"rosalia",
"ruus",
"Ruutuli",
"Rythm",
"Satyarth",
"Sema",
"Serenya",
"shortener",
"sorielle",
"Streamcord",
"Takada",
"Taryne",
"Technomancer",
"Thalassa",
"thessalia",
"Tihomir",
"UFCW",
"Urmatan",
"Vajda",
"Veluna",
"verena",
"vitalia",
"VSAA's",
"Zaidalkilani",
"Zephra"
]
}
+7 -365
View File
@@ -21,30 +21,6 @@ entity:
Wed love to connect with folks who share those values—whether youre a developer, community leader, or someone who believes technology should make the world better. Lets build that future together.
projects:
- guid: rosalia-nightsong
name: Rosalia Nightsong
description: Our global logging server, which pipes logs from all of our apps into
a Discord webhook and our email inbox.
webpageUrl:
url: https://rosalia.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/rosalia-nightsong
licenses:
- Naomi Public License
tags:
- websites
- guid: translation-service
name: Translation Service
description: Our self-hosted LibreTranslate instance, which powers some of our apps
and is available for subscribers.
webpageUrl:
url: https://trans.nhcarrigan.com
repositoryUrl:
url: https://github.com/LibreTranslate/LibreTranslate
licenses:
- Naomi Public License
tags:
- websites
- guid: aria-iuvo
name: Aria Iuvo
description: A user-installable bot that allows you to translate any message into
@@ -115,18 +91,6 @@ projects:
- Naomi Public License
tags:
- community
- guid: beccalia-origins
name: 'Beccalia: Origins'
description: Originally planned as the story of Becca and Rosalia growing up, this
game was only released as a demo.
webpageUrl:
url: https://beccalia.nhcarrigan.com/origins
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan-games/beccalia-origins
licenses:
- Naomi Public License
tags:
- apps
- guid: beccalia-prologue
name: 'Beccalia: Prologue'
description: An introductory story that sets the stage for the Beccalia universe,
@@ -162,86 +126,6 @@ projects:
- Naomi Public License
tags:
- apps
- guid: naomis-blog
name: Naomi's Blog
description: The personal musings of our founder, Naomi Carrigan.
webpageUrl:
url: https://blog.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/blog
licenses:
- Naomi Public License
tags:
- websites
- guid: nymira
name: Nymira
description: A service that allows you to claim a custom <username>.naomi.party
username for Bluesky.
webpageUrl:
url: https://naomi.party
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/nymira
licenses:
- Naomi Public License
tags:
- websites
- guid: nhcarrigan-documentation
name: NHCarrigan Documentation
description: A website outlining our policies, legal agreements, community rules,
and product information.
webpageUrl:
url: https://docs.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/docs
licenses:
- Naomi Public License
tags:
- websites
- guid: gitea
name: Gitea
description: A self-hosted Gitea instance to hold all of our source code.
webpageUrl:
url: https://git.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/.gitea
licenses:
- Naomi Public License
tags:
- websites
- guid: hikari
name: Hikari
description: This dashboard!
webpageUrl:
url: https://hikari.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/hikari
licenses:
- Naomi Public License
tags:
- websites
- guid: mommy-bot
name: Mommy Bot
description: A Discord, Slack, and Bluesky bot that provides you motherly love and
encouragement.
webpageUrl:
url: https://mommy-bot.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/mommy-bot
licenses:
- Naomi Public License
tags:
- community
- guid: mommy
name: Mommy
description: A quick web app that provides you motherly love and encouragements.
webpageUrl:
url: https://mommy.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/mommy
licenses:
- Naomi Public License
tags:
- websites
- guid: lucinda
name: Lucinda
description: A kanban-style task management site.
@@ -253,17 +137,6 @@ projects:
- Naomi Public License
tags:
- websites
- guid: portfolio
name: Portfolio
description: Our homepage and marketing landing.
webpageUrl:
url: https://nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/portfolio
licenses:
- Naomi Public License
tags:
- websites
- guid: vitalia
name: Vitalia
description: A full-featured nutrition tracker with community-driven nutrient data.
@@ -275,42 +148,6 @@ projects:
- Naomi Public License
tags:
- websites
- guid: octavia
name: Octavia
description: Linux-native music player application with a focus on handling large
libraries with minimal memory.
webpageUrl:
url: https://docs.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/octavia
licenses:
- Naomi Public License
tags:
- apps
- guid: maribelle
name: Maribelle
description: A Discord bot that allows you to configure daily progress huddle reminders
for your server members.
webpageUrl:
url: https://docs.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/maribelle
licenses:
- Naomi Public License
tags:
- community
- guid: sorielle
name: Sorielle
description: A Discord bot that allows servers to specify a venting channel for
automatic deletion.
webpageUrl:
url: https://sorielle.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/sorielle
licenses:
- Naomi Public License
tags:
- community
- guid: verena
name: Verena
description: A Discord bot that allows identity and age verification.
@@ -322,75 +159,6 @@ projects:
- Naomi Public License
tags:
- community
- guid: thalassa
name: Thalassa
description: A rich presence application for Linux.
webpageUrl:
url: https://docs.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/thalassa
licenses:
- Naomi Public License
tags:
- apps
- guid: aeris
name: Aeris
description: An authentication service featuring magic links and support for multiple
social media platforms
webpageUrl:
url: https://docs.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/aeris
licenses:
- Naomi Public License
tags:
- websites
- guid: liora
name: Liora
description: A Discord bot that allows your server members to specify 'highlight'
words, which they'll get pinged on if a message contains that word.
webpageUrl:
url: https://docs.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/liora
licenses:
- Naomi Public License
tags:
- community
- guid: thessalia
name: Thessalia
description: An RPG game on Discord
webpageUrl:
url: https://docs.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/thessalia
licenses:
- Naomi Public License
tags:
- community
- guid: callista
name: Callista
description: A user-installable Discord bot that allows you to bookmark messages
and save a link and copy in your DMs.
webpageUrl:
url: https://docs.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/callista
licenses:
- Naomi Public License
tags:
- community
- guid: isolda
name: Isolda
description: 'Modern, sleek email client for the web or desktop'
webpageUrl:
url: https://docs.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/isolda
licenses:
- Naomi Public License
tags:
- apps
- guid: meliora
name: Meliora
description: 'Embeddable chat widget, comment section, and full support flow utility.'
@@ -402,17 +170,6 @@ projects:
- Naomi Public License
tags:
- websites
- guid: aurelia
name: Aurelia
description: Blogging platform with markdown editor
webpageUrl:
url: https://docs.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/aurelia
licenses:
- Naomi Public License
tags:
- websites
- guid: eirene
name: Eirene
description: Website and Discord activity that allows you to participate in code
@@ -458,29 +215,6 @@ projects:
- Naomi Public License
tags:
- websites
- guid: lyra
name: Lyra
description: A web-based API mocking tool, allowing you to create temporary endpoints
for a front-end to hit, test webhook payloads, and more!
webpageUrl:
url: https://docs.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/lyra
licenses:
- Naomi Public License
tags:
- websites
- guid: selene
name: Selene
description: A local-only privacy-focused REST API client.
webpageUrl:
url: https://docs.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/selene
licenses:
- Naomi Public License
tags:
- apps
- guid: sybil
name: Sybil
description: A Discord bot that syndicates forum threads to an indexable website
@@ -516,64 +250,6 @@ projects:
- Naomi Public License
tags:
- websites
- guid: alouette
name: Alouette
description: A web server that allows you to set up arbitrary webhooks and format
them to post on Discord.
webpageUrl:
url: https://docs.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/alouette
licenses:
- Naomi Public License
tags:
- websites
- guid: clarion
name: Clarion
description: A Discord bot with dashboard that allows server mangers to post and
edit announcements, rules, and similar.
webpageUrl:
url: https://docs.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/clarion
licenses:
- Naomi Public License
tags:
- community
- guid: elowyn
name: Elowyn
description: A quick website that helps you format text.
webpageUrl:
url: https://docs.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/elowyn
licenses:
- Naomi Public License
tags:
- websites
- guid: evangeline
name: Evangeline
description: A Discord bot that allows you to configure canned replies, retrieve
them anywhere on discord, and easily copy + paste them into chat.
webpageUrl:
url: https://docs.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/evangeline
licenses:
- Naomi Public License
tags:
- community
- guid: theodora
name: Theodora
description: A Discord bot that generates 100 days of code reminders.
webpageUrl:
url: https://docs.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/theodora
licenses:
- Naomi Public License
tags:
- community
- guid: vivienne
name: Vivienne
description: An RSS feed reader/management site.
@@ -607,17 +283,6 @@ projects:
- Naomi Public License
tags:
- apps
- guid: chibika
name: Chibika
description: A Discord bot that generates ascii anime girls.
webpageUrl:
url: https://chibika.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/chibika
licenses:
- Naomi Public License
tags:
- community
- guid: elaria
name: Elaria
description: Meeting schedule coordination tool.
@@ -687,29 +352,6 @@ projects:
- Naomi Public License
tags:
- community
- guid: amari
name: Amari
description: Naomi's virtual personal assistant who helps out with automation around
our Discord community.
webpageUrl:
url: https://amari.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/amari
licenses:
- Naomi Public License
tags:
- community
- guid: serenya
name: Serenya
description: Discord bot that allows you to force yourself to take a break.
webpageUrl:
url: https://serenya.nhcarrigan.com
repositoryUrl:
url: https://git.nhcarrigan.com/nhcarrigan/serenya
licenses:
- Naomi Public License
tags:
- community
- guid: caelia
name: Caelia
description: Discord bot that gently reminds you to use inclusive language.
@@ -725,31 +367,31 @@ projects:
funding:
channels:
- guid: "opencollective"
type: donation
type: payment-provider
address: "https://opencollective.com/nhcarrigan"
description: "OpenCollective is our main financial ledger, all income and expenses are tracked here."
- guid: "patreon"
type: subscription
type: payment-provider
address: "https://patreon.com/nhcarrigan"
description: "Support us through monthly memberships."
- guid: "kofi"
type: donation
type: payment-provider
address: "https://ko-fi.com/nhcarrigan"
description: "Buy us a coffee or make donations."
- guid: "paypal"
type: donation
type: payment-provider
address: "https://paypal.me/nhcarrigan"
description: "Send direct donations."
- guid: "cashapp"
type: donation
type: payment-provider
address: "https://cash.app/$nhcarrigan"
description: "Send direct donations."
- guid: "github-sponsors"
type: subscription
type: payment-provider
address: "https://github.com/sponsors/NHCarrigan"
description: "Sponsor us directly through GitHub."
- guid: "stripe"
type: subscription
type: payment-provider
address: "https://buy.stripe.com/cN24iTfqu1j6b3afZ2"
description: "Make monthly donations directly through Stripe."
plans:
+66
View File
@@ -0,0 +1,66 @@
- name: Eddie Jaoude
content: Naomi has done a fantastic job in creating Becca Bot, which is an integral part in managing the EddieHub Discord Community. As founder of EddieHub, Naomi is super helpful to all Community members and an excellent moderator, from our text channels to audio calls and live streams. Naomi demonstrates an excellent technical knowledge and is always keen to share this with the community.
date: 30 June 2023
- name: Danny Thompson
content: If you need a problem solver, look at Naomi. Naomi is a fantastic part of the online tech community by teaching and offering help to beginners on their journeys into tech. She has created some great solutions and is a consistent learner. Naomi has led initiatives using Javascript and front-end technologies to produce finished products within a volunteer position. Highly recommend Naomi to any team.
date: 6 July 2023
- name: Katey Berry
content: I've worked alongside Naomi on a number of projects, and it is always a blessing to have her on the team. She is knowledgable, reliable, and always willing to jump in with creative and efficient engineering solutions to complex workflow problems. Naomi is also such a patient teacher, effectively explaining how things work and enabling others to become more independent. I always look forward to working with Naomi, and recommend you work with her if you have the opportunity!
date: 14 May 2024
- name: Kaitlyn Nichols
content: She is a dedicated programmer and spends most of her time either making bots, or coding. She has an excellent work ethic and goes until she is satisfied with the end product.
date: 30 May 2024
- name: Alix Takada Sharp
content: Naomi is an incredibly dynamic and resourceful professional, always ready with a multitude of solutions for any challenge. Her problem-solving skills are like watching a masterful sequence unfold, earning her the well-deserved nickname 'the technomancer.' Naomi's strong educational background is evident in her clear and concise explanations, making complex concepts easily understandable. She excels in communication, ensuring that everyone feels valued and integral to the team. Naomi is truly the glue that holds any team together. Adding her to your team will be a decision you won't regret.
date: 15 July 2024
- name: Chris Ohman
content: Naomi's erudition on just about every development topic under the sun, expediency at completing massive technical undertakings solo, and undeniable passion for the work she does is an ever-present joy and boon for any organization lucky enough to work with her. As an example, Naomi composed an extensive and accessible DB comprising all available traits and behaviors of our Users, whipped up an extremely user-friendly API that our team of end-users could utilize seamlessly, and regularly developed additional clever dataflows for very particular asks. Every aspect of this work was done impeccably and frictionlessly, and that's just one of the dozens of projects she developed with our team during the time I worked alongside her. As brilliant as Naomi is, she's also humble, hilarious, and an all-around aspirational figure to all people looking to find true passion for themselves alongside professional success. I strive to be more like her, and I know I'm not alone in that.
date: 27 September 2024
- name: Alexis Madsen
content: Naomi always had the knowledge and information for nearly every question I ever had. It was such an honour to work with her, and anyone would be lucky to have the chance for her to work with you or your team.
date: 28 October 2024
- name: Francez Urmatan
content: Naomi is an absolute trailblazer, and is an amazing person to work with! Naomi is humorous and also has an amazing attitude to work with. Her ability to solve complex problems efficiently astounds me. Not only does she demonstrate outstanding technical knowledge, but also does an amazing job at elucidating her needs as an engineer. She is a very warm person and quite easy to work with. Naomi is immensely perceptive and very calculated with what she does. Naomi would make an excellent addition to any company that is lucky enough to hire her!
date: 2 May 2024
- name: Nielda Karlo Melo
content: Naomi is one of the most competent professionals I have had the pleasure of working with. She has an exceptional presence, giving the impression of being everywhere at once, and her attention to detail is remarkable. She is able to identify subtle points and gaps in reasoning that others might miss and point that out in a respectful way. Naomi is not one to avoid difficult conversations. She expresses her opinions with clarity, confidence, and thoughtfulness. Her work on freeCodeCamps Discord, in addition to the many other code-related contributions she has made, is nothing short of impressive. She has kept the community engaged, planned events that people genuinely want to attend, and led the management of the entire space. Thanks to her leadership, the community has become a respectful, welcoming, and valuable place to be a part of. Any team would be fortunate to have Naomis expertise, dedication, and leadership.
date: 14 August 2025
- name: John Vajda
content: Naomi is an exceptional engineer and an inspiring community leader, bringing a rare combination of deep technical expertise and community management skills. She approaches every project with enthusiasm, creativity, and a collaborative spirit, making her an invaluable teammate. Any team would be fortunate to have her contributions and leadership.
date: 14 August 2025
- name: Ariel Thompson
content: I've known Naomi through freeCodeCamp since she herself was a student. I remain impressed by how quickly she was able to go from a novice to having professionally competitive programming skills. She learns astonishingly quickly because she is focused, tenacious, and pragmatic. If she wants to accomplish something, she will simply figure out how to make it happen. This is not only true of gaining technical skills, but also pursuing high-level goals. Her efforts to build a social community, for example, has led her to effectively become the public face of freeCodeCamp. If I ever get the opportunity to work with Naomi professionally, I will take it without hesitation.
date: 14 August 2025
- name: Qais Zaidalkilani
content: "I had the absolute pleasure of working with Naomi at Rythm, and honestly, she was the glue that held so many parts of our operation together. She ran all our Discord bots, handled website integrations, drove community development, and still somehow found time to give us thoughtful advice on how to build and nurture our community. She was also the voice of reason when Id get a little too excited about something, helping me slow down, think things through, and make better calls. It often felt like the team had a magic button: ask Naomi for something, and before long it would be done, and done right. Everything she delivered was secure, scalable, and polished to perfection. If I had a team full of Naomis, Im convinced we could take over the world. But the truth is, theres only one Naomi, and shes that unique, that talented, and that good. Any team lucky enough to have her will feel the difference immediately."
date: 15 August 2025
- name: Pete Lamonica
content: Naomi is a hard working, creative leader who has a remarkable history of building vibrant and supportive communities. As a programmer, she builds software that handles real world challenges and focuses on users needs. Ive seen her ability to leverage a variety of technologies across the stack to solve a diverse set of challenges and adapt and grow her solutions over time. Shes also combined her community leadership skills with her software development skills to help support many other developers as they contribute to her projects and others. Overall, Naomi has an excellent mix of leadership and technical skills that make her a great addition to any team.
date: 15 August 2025
- name: Thomas Gooch
content: I had the privilege of working alongside Naomi Carrigan during the Dallas Software Developers Summer Cohort, where she played a pivotal role in supporting the management of multiple teams. Naomi brought a rare blend of technical expertise, organizational insight, and people-first leadership that elevated the entire program. Her ability to seamlessly balance hands-on technical guidance with strategic team coordination ensured that my group not only met their goals but also grew in skill and confidence along the way. Naomi consistently anticipated challenges before they became blockers, provided thoughtful mentorship to developers of all levels, and fostered an environment where collaboration thrived. What impressed me most was Naomis combination of high standards and genuine care — she held teams accountable to producing quality work while also making sure individuals felt supported and empowered. Her professionalism, adaptability, and deep well of technical knowledge made her an invaluable part of the cohorts success. Any organization fortunate enough to have Naomi on board will gain a leader who inspires trust, drives results, and makes a meaningful impact from day one.
date: 15 August 2025
- name: Mrugesh Mohapatra
content: Naomi is one of the smartest engineers I have worked with. She has a knack for solving complex problems and fostering community growth. Her technical expertise and collaborative spirit have consistently helped our team work at its peak. She is a quick learner and just gets things done. I could not have been more prouder and privileged to work alongside her.
date: 15 August 2025
- name: Luke Sullivan
content: I participated in freeCodeCamps 2025 Summer Hackathon, organised and led by Naomi. It was a fantastic experience, and Naomi did an outstanding job of supporting a wide range of participants with diverse needs. Her dedication extended beyond event management — she provided both team and one-on-one coaching sessions to help us prepare for future coding endeavours. I cannot emphasise enough how useful this experience was to me and my team, who ended up with a project we are truly proud of.
date: 15 August 2025
- name: Andrew Glass
content: I had the pleasure to work with Naomi at Rythm, who was an absolute treat to work with. Naomi is someone with an incredible warehouse of skills & a wonderful personality to back it up. She's very outspoken with a strong moral compass and really knows how to ensure every project goes the right direction. Naomi was truly a silver bullet for any issues we had. You could ask her for help solving anything and she'd whip up a whole plan in her head in 30 seconds. 400,000 member Discord community we need to come up with a resilient system for? Literally no problem at all. Just remember, with great power comes great responsibility, so try not to overwork the poor gal, because she's always eager to take on anything and everything.
date: 16 August 2025
- name: Tihomir Manushev
content: Naomi did amazing job managing the first ever freeCodeCamp hackathon! She is extremely dedicated at everything she does. I've learned a lot during the hackathon and will gladly participate in the next one.
date: 16 August 2025
- name: Rex Schrader
content: I have had the pleasure of working alongside Naomi in her Community Manager role at Free Code Camp (FCC). We first worked together on co-building some curriculum for FCC's Quality Assurance certifications. I was impressed by her technical know-how and skill. Her easy going attitude makes her a joy to work with. Since that time I have seen her grow into her role as the Free Code Camp Community Manager. She manages to ride herd over our frequently unruly Discord server, setting the tone for moderators and participants alike. She has built a suite of tools over the years which enable us to moderate at scale, with auditable actions and results. On top of all of this, she planned, created, and judged a complete online Hackathon. She has a series of community events planned going forward to keep the community engaged and learning. Maintaining a community the size of Free Code Camp's Discord is not easy. We have to deal with constant attacks by scammers and spammers, compromised accounts, trolls, and other bad actors. Naomi's tools make navigating these challenges possible, at scale. Additionally, she has a firm commitment to the heath of the community. She is willing to make the hard choices to ban individuals that threaten the health of the community. She is also willing to listen and provide guidance to the merely misguided. I stand in awe of Naomi boundless energy for curating and maintaining such a positive and welcoming space for learning. She combines her technical skill with her care for the community to create a vibrant and fun community. I have nothing but respect and admiration for her ongoing contributions to Free Code Camp.
date: 18 August 2025
- name: Abigail Rennemeyer
content: I've worked with Naomi at freeCodeCamp.org for a number of years, and I've always been impressed by her ability to learn absolutely anything. Her intellectual curiosity stands out and allows her to find a problem, tackle it quickly, and resolve it - even if she didn't have prior knowledge of the issue. She's a research pro, and you can always have faith that she's looked at and learned about all sides of an idea or issue. Naomi is also a passionate community organizer, and seems to have boundless energy for helping people learn, find a community, and solve problems. She freely shares information and makes her voice heard, making her a valued and valuable member of any team. She's also incredibly effective at engaging learners/platform users and inspiring them to participate and contribute to whatever initiative she's working on. I've always appreciated Naomi's candour, eloquence, quick wit, and willingness to jump in and help with whatever's needed - crucial in a small non-profit like freeCodeCamp, but undeniably useful anywhere. I don't know if there's anything she can't figure out or strategize about given a little time, and her dedication to her work is truly inspiring.
date: 20 August 2025
- name: Satyarth Ranjan
content: I had the distinct pleasure of participating in the recent month-long FreeCodeCamp Summer Hackathon, which was impeccably managed by Naomi. Her organizational skills are outstanding. She seamlessly coordinated a global event with over 21 teams, demonstrating remarkable foresight by grouping participants by timezone to foster effective collaboration and implementing a bot to ensure a fair and transparent work environment. Beyond her management abilities, Naomi is a gifted teacher. I was fortunate to learn Git and GitHub from her free, live course just before the event, which equipped me with the essential skills to contribute effectively from day one. Her constant support and availability made a huge difference to all of us. Naomi is an inspiring community manager and educator, and I wholeheartedly recommend her.
date: 21 August 2025
- name: Christine Chapman
content: Our company needed a streamlined way to respond to the community across multiple platforms like Discord and GitHub. Naomi built a streamlined Slack workflow to syndicate messages across the platforms. This enables people like me to easily respond to messages from customers without needing to bounce around to different platforms and makes it easier to track information. A lot of the metadata that gets pulled in is impressive and reflects the quality and detail of Naomi's work. The system "just works", you don't have to think about how or why which is always a great quality in an internal tool. On a separate occasion, my team worked on a project that needed SDK support quite urgently. Naomi had no prior context on the project but dove in and quickly wrote the solution across multiple SDKs, owning it long-term and fixing issues as they arose. This enabled my team to achieve a major milestone.
date: 28 August 2025
+11
View File
@@ -0,0 +1,11 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
export type Testimonials = Array<{
name: string;
content: string;
date: string;
}>;
+55 -1
View File
@@ -12,6 +12,7 @@ import type { Donate } from "../src/interfaces/donate.js";
import type { Funding } from "../src/interfaces/funding.js";
import type { Projects } from "../src/interfaces/projects.js";
import type { Resume } from "../src/interfaces/resume.js";
import type { Testimonials } from "../src/interfaces/testimonials.js";
const checkUrl = async(url: string): Promise<boolean> => {
try {
@@ -463,7 +464,7 @@ describe("funding data", () => {
expect(typeof parsed.version, `Funding version should be a string`).toBe(
"string",
);
expect(parsed.version, `Funding version should be "1.0.0"`).toBe("1.0.0");
expect(parsed.version, `Funding version should be "v1.0.0"`).toBe("v1.0.0");
expect(parsed.entity, `Funding entity should be defined`).toBeDefined();
expect(
@@ -514,6 +515,8 @@ describe("funding data", () => {
Array.isArray(parsed.projects),
`Funding projects should be an array`,
).toBeTruthy();
expect(parsed.projects.length, `There should be at least one funding project`).toBeGreaterThan(0);
expect(parsed.projects.length, `There should not be more than 30 funding projects`).toBeLessThan(31);
for (const project of parsed.projects) {
expect(project, `Funding project should be defined`).toBeDefined();
expect(
@@ -754,3 +757,54 @@ describe("funding data", () => {
}
});
});
describe("testimonials data", () => {
it("should match the interface", async() => {
expect.hasAssertions();
const data = await readFile(
join(import.meta.dirname, "..", "data", "testimonials.yml"),
"utf8",
);
const parsed = parse(data) as Testimonials;
expect(parsed, `Parsed testimonials data should be defined`).toBeDefined();
expect(
Array.isArray(parsed),
`Parsed testimonials data should be an array`,
).toBeTruthy();
for (const testimonial of parsed) {
expect(testimonial, `Testimonial should be defined`).toBeDefined();
expect(
typeof testimonial.name,
`Testimonial name should be a string for ${
testimonial.name ?? "unknown"
}`,
).toBe("string");
expect(
typeof testimonial.content,
`Testimonial content should be a string for ${
testimonial.name ?? "unknown"
}`,
).toBe("string");
expect(
typeof testimonial.date,
`Testimonial date should be a string for ${
testimonial.name ?? "unknown"
}`,
).toBe("string");
// Check date is parsable in DD month YYYY format (e.g. 30 June 2023)
expect(
Boolean(/^\d{1,2} \w+ \d{4}$/.test(testimonial.date)),
`Testimonial date should be in "DD month YYYY" format for ${
testimonial.name ?? "unknown"
}`,
).toBeTruthy();
expect(
Boolean(Date.parse(testimonial.date)),
`Testimonial date should be a valid date for ${
testimonial.name ?? "unknown"
}`,
).toBeTruthy();
}
});
});