+ Passionate technologist dedicated to building inclusive tech
+ communities and empowering individuals to break into the field. With
+ a rich background in community management, software engineering, and
+ developer experience, I strive to create accessible pathways for
+ diverse talent.
+
+
+
My expertise spans:
+
+
+ Inclusive Community Building: Cultivated
+ welcoming communities of 20,000 to 300K+ members across Discord,
+ Slack, and GitHub, with a focus on supporting underrepresented
+ groups in tech.
+
+
+ Empowering Education: Contributed to and
+ maintained open-source curricula used by millions of aspiring
+ developers globally, focusing on accessibility and engaging
+ learning experiences.
+
+
+ Software Engineering for Inclusivity: Developed
+ sophisticated bots and tools that not only streamline moderation
+ and boost engagement but also promote safe, inclusive spaces for
+ all community members.
+
+
+ Developer Experience (DX): Led initiatives to
+ improve documentation, SDK support, and overall developer
+ satisfaction, with an emphasis on making resources accessible to
+ newcomers in the field.
+
+
+ Mentorship and Advocacy: Implemented programs to
+ support aspiring developers, particularly those from
+ underrepresented backgrounds, in their journey into tech careers.
+
+
+
+ Key achievements include redesigning freeCodeCamp's Responsive
+ Web Design curriculum for greater accessibility, developing
+ AI-powered community management tools that foster inclusive
+ interactions, and creating engagement systems that significantly
+ increased participation from diverse user groups.
+
+
+
+ I'm driven by the belief that technology should be a field open
+ to all. My approach combines technical expertise with a deep
+ commitment to diversity, equity, and inclusion, resulting in
+ solutions that not only drive engagement and innovation but also
+ break down barriers to entry in tech.
+
+
+
+ Seeking opportunities to lead transformative projects that expand
+ access to tech education, foster inclusive community growth, and
+ empower individuals from all backgrounds to thrive in the tech
+ industry. Let's connect to discuss how I can best support your
+ organisation!
+
+
+
+ >
+ );
+};
+
+export default Certs;
diff --git a/src/app/config/Employment.ts b/src/app/config/Employment.ts
deleted file mode 100644
index 0eafc9a..0000000
--- a/src/app/config/Employment.ts
+++ /dev/null
@@ -1,361 +0,0 @@
-export const Employment: {
- title: string;
- company: string;
- /**
- * Set ALL dates to the 5th. These are not exact days, but intended to avoid month discrepancies
- * when dealing with timezones.
- */
- start: Date;
- /**
- * Set ALL dates to the 5th. These are not exact days, but intended to avoid month discrepancies
- * when dealing with timezones.
- */
- end: Date | null;
- link: string;
- type: "volunteer" | "fixed" | "project" | "hypothetical";
- description: string;
- /**
- * File name of logo.
- */
- logo: string;
-}[] = [
- {
- title: "Consultant",
- company: "Your Company!",
- start: new Date(Date.now()),
- end: null,
- link: "https://topmate.io/nhcarrigan/913920",
- type: "hypothetical",
- logo: "future.jpeg",
- description: `With a deep passion for leveraging technology for positive social impact, I am a community-oriented software engineer dedicated to cultivating safe, inclusive, and welcoming online spaces. My focus on user experience and accessibility drives me to create robust software tools and platforms prioritizing privacy, security, and diversity.
-
-My career reflects a commitment to supporting aspiring developers as they break into the tech industry. Through mentorship, educational initiatives, and advocating for inclusive hiring practices, I strive to remove barriers and empower underrepresented individuals in the digital realm.
-
-For me, software engineering goes beyond coding—it's about using technology to drive positive change. By championing diversity, equity, and accessibility in every project, I aim to reshape the tech industry's narrative and contribute to a more equitable future.
-
-Let's connect to drive meaningful impact and foster innovation and inclusivity in technology.`
- },
- {
- title: "Started Journey",
- company: "nhcarrigan",
- start: new Date("April 5 2020"),
- end: null,
- link: "https://naomi.lgbt",
- type: "hypothetical",
- logo: "nhcarrigan.jpeg",
- description:
- "Began my journey learning to code, starting from the top of the freeCodeCamp curriculum."
- },
- {
- title: "Development Lead",
- company: "Artists For Palestine",
- start: new Date("November 5 2023"),
- end: null,
- link: "https://art4palestine.org",
- type: "volunteer",
- logo: "a4p.jpeg",
- description: `As a Development Lead at Art 4 Palestine, I developed a bot that efficiently manages integrations between Airtable forms, Trello boards, and Discord, streamlining workflow and improving productivity. The bot also pulls news articles from reputable sources and cross-posts them into the server, keeping the community informed with reliable updates.
-
-Additionally, I guided and mentored other developers in the design and coding of the website, ensuring high-quality output and consistent alignment with project goals. My contributions have been instrumental in supporting the organization's initiatives and fostering collaboration within the development team.`
- },
- {
- title: "Community Moderator",
- company: "AngelRose",
- start: new Date("September 5 2023"),
- end: null,
- link: "https://discord.gg/kYpjgEB",
- type: "volunteer",
- logo: "angel.png",
- description: `As a Discord Moderator at AngelRose, I played a key role in maintaining a safe, respectful, and engaging environment for community members. I monitored conversations, enforcing community guidelines to prevent disruptive behavior and protect users. Additionally, I addressed and resolved conflicts, providing support and guidance to members to promote a positive experience. My contributions helped uphold the integrity of the community and foster an inclusive and welcoming space for all participants.`
- },
- {
- title: "Community Bot Engineer",
- company: "Deepgram",
- start: new Date("July 5 2023"),
- end: new Date("June 4 2024"),
- link: "https://deepgram.com",
- type: "project",
- logo: "deepgram.jpeg",
- description: `As a Community Bot Engineer at Deepgram, I developed a sophisticated Discord bot to enhance community management and streamline user interactions. The bot features an array of capabilities, including the ability to move messages from standard channels to forum channels, maintaining an organized space for discussion. It integrates AI to automatically answer new questions in the forum channel and allows for responses to be marked as correct answers.
-
-I designed the bot to send scheduled messages in the general channel, prompting users to utilize the forum channel for their questions. Additionally, the bot provides daily and weekly aggregations of unanswered questions, cross-posts answered questions to the GitHub discussion board, and reminds users of unanswered questions if they've been inactive for seven days.
-
-The bot also tracks various metrics such as unanswered, answered, and closed questions, as well as questions moved by the bot, to monitor the overall health of the community. Finally, it can post feedback messages to ProductBoard, contributing to product development and user satisfaction.
-
-Through these innovative features, my work has improved community engagement and provided a seamless, organized experience for Deepgram's users.`
- },
- {
- title: "Twitch Integration Engineer",
- company: "BigBadBeaver Productions",
- start: new Date("May 5 2023"),
- end: new Date("January 5 2024"),
- link: "https://linktr.ee/bigbadbeaver",
- type: "project",
- logo: "beaver.png",
- description: `As a Twitch Integration Engineer at Big Bad Beaver Productions, I developed "PrivateTwigs," a custom Twitch chat bot that enhanced stream management and engagement. The bot includes comprehensive logging for all chat messages and stream events, enabling detailed analysis and strategic insights.
-
-Additionally, I implemented custom redemption rewards within the bot, providing viewers with unique opportunities to interact with the stream and engage with content. My work as a Twitch Integration Engineer significantly improved the streaming experience for both streamers and viewers, contributing to a more interactive and dynamic community.`
- },
- {
- title: "Community Manager and Open-Source Engineer",
- company: "Sema Software",
- start: new Date("May 5 2022"),
- end: new Date("September 5 2022"),
- link: "https://www.semasoftware.com",
- type: "fixed",
- logo: "sema.jpeg",
- description: `In my role as Community Manager and Open Source Engineer at Sema Software, I significantly shaped and cultivated the Discord community, expanding its membership from 300 to 1,000. This involved fostering engagement and creating a welcoming space for all members.
-
-In addition to community management, I led various open source initiatives across multiple projects. This included creating a base template for starting new projects and providing developers with a structured and efficient foundation. I also managed the Developer Skills Matrix repository and its associated Discord bot, website, and Slack bot, allowing users to take self-assessments across their preferred platforms.
-
-Moreover, I developed a Discord bot to query projects listed on the Open Source Welcoming Committee, enhancing accessibility and visibility for open source projects. Through these contributions, I have played a key role in driving community growth and promoting open source engagement at Sema Software.`
- },
- {
- title: "Community Manager",
- company: "4C",
- start: new Date("May 5 2022"),
- end: new Date("November 5 2022"),
- link: "https://discord.com/invite/ns5x8bTz25",
- type: "fixed",
- logo: "4c.png",
- description: `As Community Manager at 4C, I played a pivotal role in shaping and nurturing the Discord community, driving significant growth and member engagement. Under my management, the community expanded from 1,100 to 3,350 members, fostering an active and thriving space for all participants. My contributions have been instrumental in creating a welcoming and dynamic environment, promoting meaningful interactions, and enhancing overall community satisfaction.`
- },
- {
- title: "Community Manager",
- company: "TweetShift",
- start: new Date("January 5 2022"),
- end: new Date("May 5 2023"),
- link: "https://tweetshift.com",
- type: "fixed",
- logo: "tweetshift.png",
- description: `As the Community Manager for the TweetShift Discord bot, I provided comprehensive support to a community that utilizes the bot across over 230,000 servers. My focus was on delivering high-quality assistance and ensuring the bot's seamless functionality for users. I also played a key role in moderating the community and maintaining a safe and inclusive environment for all members. Through these efforts, I have fostered a welcoming space and contributed to the overall success and engagement of the TweetShift community.`
- },
- {
- title: "Senior Integrations Engineer",
- company: "Rythm",
- start: new Date("April 5 2022"),
- end: null,
- link: "https://rythm.fm",
- type: "fixed",
- description: `As a Senior Integrations Engineer at Rythm, I specialized in building Discord bots and tools that empower our team to effectively manage a server of over 300,000 members. My work involved creating a comprehensive moderation bot that includes an auto-moderation system, extensive moderation history, and FAQ responses. This tool offers individual case management, evidence logging, a staff-only note system, and customizable automod rules.
-
-I developed an economy bot that rewards long-term activity with levels, roles, and a currency system that enables members to purchase specialized rewards, personalize their bot profiles, and earn badges. Additionally, I designed a staff incentive bot that allows leadership to recognize volunteer moderators and staff for their exceptional contributions.
-
-My projects also include an analytics bot to monitor user engagement, a trivia bot to entertain members with music-related trivia questions, and a social media bot that cross-posts Twitter updates to the Discord community and internal Slack. Furthermore, I implemented a staff analytics bot to track staff performance, encompassing commands used, messages sent, and modmail threads closed.
-
-Through these tools and bots, I have greatly enhanced the efficiency and engagement within the Rythm server, fostering a vibrant and interactive community.`,
- logo: "rythm.jpeg"
- },
- {
- title: "Community Manager and Infrastructure Engineer",
- company: "Streamcord",
- start: new Date("August 5 2021"),
- end: null,
- link: "https://streamcord.io",
- type: "fixed",
- logo: "streamcord.jpeg",
- description: `In my role as Community Manager and Infrastructure Engineer at Streamcord, I managed a vibrant community of approximately 50,000 members. I provided support for the Streamcord bot, which is actively used in over 1 million communities, ensuring its seamless operation and addressing user queries. My initiatives included running staff streams and game nights to foster interaction and strengthen the bond between the community and the team. I played a key role in overhauling the community to boost retention and activity, and supported the development process, contributing to the maintenance of the documentation and dashboard site. Additionally, I took charge of interviewing and onboarding new staff, providing comprehensive training, and conducting quarterly evaluations to ensure a skilled and cohesive team. My work has greatly contributed to the thriving and dynamic environment within the Streamcord community.`
- },
- {
- title: "Community Moderator",
- company: "Battlesnake",
- start: new Date("June 5 2021"),
- end: new Date("November 5 2022"),
- link: "https://play.battlesnake.com",
- type: "volunteer",
- logo: "battlesnake.jpeg",
- description: `As a Community Moderator at Battlesnake, I played a vital role in ensuring a safe and welcoming environment for players. My focus was on promoting a positive experience for all members, allowing them to enjoy the game and interact with one another respectfully.
-
-Additionally, I contributed to driving engagement for the Summer League 2021 and the Caster House system, fostering enthusiasm and participation in these events. My efforts helped create an inclusive and vibrant community for Battlesnake enthusiasts.`
- },
- {
- title: "Discord Administrator and Platform Engineering Manager",
- company: "Caylus Crew",
- start: new Date("June 5 2021"),
- end: null,
- link: "https://discord.gg/infinite",
- type: "volunteer",
- logo: "caylus.png",
- description: `As the Discord Administrator and Platform Engineering Manager at Caylus Crew, I developed custom bots that enhanced the community experience and streamlined operations. One such bot posted daily messages wishing happy birthday to members, fostering a sense of connection and camaraderie. I also created a bot to manage sponsor perks, ensuring efficient and accurate distribution of benefits to eligible members.
-
-In addition to technical contributions, I coached and trained moderators, providing quarterly staff reviews to support their professional growth and improve performance. My work played a pivotal role in maintaining a vibrant, well-managed community and ensuring an exceptional experience for all participants.`
- },
- {
- title: "Integrations Engineer",
- company: "Xcentric Collective",
- start: new Date("April 5 2021"),
- end: new Date("July 5 2023"),
- link: "http://discord.gg/U3jQVYNbJt",
- type: "volunteer",
- logo: "xcentric.jpg",
- description: `As an Integrations Engineer at Xcentric Collective, I developed a custom Discord bot that incorporated a unique Matchmaking Rating (MMR) system to calculate Rocket League proficiency. This system enabled users to track and monitor their skill levels accurately.
-
-The bot also featured the ability to define teams and find matches with opponents of similar skill levels, facilitating balanced and fair gameplay. Additionally, the bot allowed users to schedule matches seamlessly, providing a streamlined and efficient experience for the community. My work enhanced the overall gaming experience and engagement within the Xcentric Collective community. As an Integrations Engineer at Xcentric Collective, I developed a custom Discord bot that incorporated a unique Matchmaking Rating (MMR) system to calculate Rocket League proficiency. This system enabled users to track and monitor their skill levels accurately. The bot also featured the ability to define teams and find matches with opponents of similar skill levels, facilitating balanced and fair gameplay. Additionally, the bot allowed users to schedule matches seamlessly, providing a streamlined and efficient experience for the community. My work enhanced the overall gaming experience and engagement within the Xcentric Collective community.`
- },
- {
- title: "Hacktoberfest Community Moderator",
- company: "DigitalOcean",
- start: new Date("April 5 2021"),
- end: null,
- link: "https://hacktoberfest.com",
- type: "volunteer",
- logo: "digitalocean.jpeg",
- description: `As a Hacktoberfest Community Moderator at DigitalOcean, I supported the community by building a custom bot to ensure repository links were correctly included in promotional channel messages, streamlining interactions, and providing automated responses for frequently asked questions. This contributed to a smoother experience for participants and enhanced community engagement.
-
-In addition to managing the bot, I answered queries and guided developers in their open-source contributions, helping them navigate the Hacktoberfest event and maximize their impact. By maintaining a safe and welcoming community space, I fostered an inclusive environment for developers of all skill levels to collaborate and grow. My efforts played a crucial role in the success of the event and the satisfaction of its participants.`
- },
- {
- title: "Discord Administrator",
- company: "EddieHub",
- start: new Date("January 5 2021"),
- end: new Date("May 5 2023"),
- link: "https://www.eddiehub.org",
- type: "volunteer",
- logo: "eddiehub.jpeg",
- description: `As a Discord Administrator for EddieHub, I played a key role in moderating the community and fostering an open and inclusive environment. My focus was on upholding community guidelines and ensuring a positive experience for all members.
-
-I provided support and encouragement to members on their development path, offering guidance and resources to help them grow and succeed. Additionally, I planned and managed community events and initiatives, creating opportunities for members to engage, learn, and collaborate.
-
-My efforts contributed to the vibrancy and success of the EddieHub community, helping to create a welcoming space for developers to thrive.`
- },
- {
- title: "Discord Administrator and Lead Integrations Engineer",
- company: "Commit Your Code",
- start: new Date("December 5 2020"),
- end: null,
- link: "https://discord.gg/StwJYeq",
- type: "volunteer",
- logo: "cyc.jpeg",
- description: `As the Discord Administrator and Lead Integrations Engineer at Commit Your Code, I played a key role in fostering a supportive and friendly community environment by moderating interactions and ensuring a positive space for members. I provided guidance to individuals on their development path, offering support as they prepared for their first job or encountered coding challenges.
-
-To enhance community security, I built a robust verification system that significantly reduced the number of compromised accounts, safeguarding members' data and promoting a safe space for collaboration. My contributions have been instrumental in supporting members' growth and maintaining a secure, welcoming atmosphere within the community.`
- },
- {
- title: "Educational Developer and Community Manager",
- company: "freeCodeCamp",
- start: new Date("December 5, 2020"),
- end: null,
- link: "https://freecodecamp.org",
- type: "fixed",
- logo: "fcc.jpeg",
- description: `As an Educational Developer and Community Manager at freeCodeCamp, I have played a pivotal role in maintaining and enhancing the platform's open-source curriculum, serving millions of developers globally. I assisted in completely redesigning the Responsive Web Design curriculum to create a more accessible and engaging learning experience. Additionally, I built a moderation bot to improve the safety and functionality of the Discord community and developed a tool to efficiently distribute a weekly email newsletter to millions of subscribers. My work also involves supporting and guiding users on their journey to become web developers while managing the Discord, Forum, and Reddit communities to drive engagement and deliver an exceptional user experience. Through these contributions, I have significantly impacted the growth and success of the freeCodeCamp community, empowering individuals worldwide to achieve their web development goals. As an Educational Developer and Community Manager at freeCodeCamp, I have played a pivotal role in maintaining and enhancing the platform's open-source curriculum, serving millions of developers globally. I assisted in completely redesigning the Responsive Web Design curriculum to create a more accessible and engaging learning experience. Additionally, I built a moderation bot to improve the safety and functionality of the Discord community and developed a tool to efficiently distribute a weekly email newsletter to millions of subscribers. My work also involves supporting and guiding users on their journey to become web developers while managing the Discord, Forum, and Reddit communities to drive engagement and deliver an exceptional user experience. Through these contributions, I have significantly impacted the growth and success of the freeCodeCamp community, empowering individuals worldwide to achieve their web development goals.`
- },
- {
- title: "Discord Moderator",
- company: "Virtual Insanity",
- start: new Date("May 5 2024"),
- end: null,
- link: "https://discord.com/invite/GDYNGnrGUs",
- type: "volunteer",
- logo: "troopy.png",
- description: `As a Discord Moderator for Virtual Insanity, an adult-only community, I was instrumental in cultivating a secure, respectful, and interactive atmosphere for our diverse members. My responsibilities encompassed vigilant monitoring of discussions, ensuring compliance with established guidelines to deter any disruptive conduct, and safeguarding our users. Alongside conflict resolution, I provided empathetic support and guidance, fostering a harmonious environment conducive to positive interactions. Moreover, I actively assisted in verifying identification documents, reinforcing our commitment to maintaining a safe and authentic community experience. Through these efforts, I contributed to upholding the community's integrity and nurturing an inclusive space for all participants to thrive.`
- },
- {
- title: "Discord Administrator and Integrations Engineer",
- company: "Azuliah (VTuber)",
- start: new Date("December 5 2023"),
- end: new Date("April 5 2024"),
- link: "https://discord.com/invite/XNSy8PMvyy",
- type: "volunteer",
- logo: "azuliah.jpg",
- description: `As a Discord Administrator and Integrations Engineer at Azuliah, I established custom integrations to streamline moderation efforts and enhance community management. These integrations supported the moderation team in maintaining a safe and welcoming space for all members.
-
-In addition to technical contributions, I trained the owner and moderation team on best practices for running a successful community. My guidance included techniques for efficient moderation, conflict resolution, and fostering positive interactions among members. Through my efforts, I played a key role in ensuring the community's smooth operation and promoting a vibrant, supportive environment.`
- },
- {
- title: "Discord Moderator",
- company: "Rion Kuroko (VTuber)",
- start: new Date("Nov 5 2023"),
- end: new Date("Jan 5 2024"),
- link: "https://discord.com",
- type: "volunteer",
- logo: "rion.jpg",
- description: `As a Discord Moderator for Rion Kuroko, I constructed the server almost entirely from scratch to tailor it to the specific needs of the community. This involved designing and implementing structures, channels, and rules that supported a smooth and organized environment.
-
-I also provided guidance to the owner on the technical aspects of Discord moderation, sharing best practices and offering solutions to effectively manage the server. My efforts played a key role in establishing a functional, user-friendly community space and empowering the owner with the knowledge needed to maintain and grow the server.`
- },
- {
- title: "Senior Discord Moderator",
- company: "Rythm",
- start: new Date("Feb 5 2022"),
- end: new Date("July 5 2022"),
- link: "https://discord.com/invite/rythm",
- type: "volunteer",
- logo: "rythm.jpeg",
- description: `As a Senior Discord Moderator for Rythm, I played a dual role in overseeing community moderation and mentoring the moderation team. My responsibilities included tracking weekly staff activity to monitor performance and identify areas for improvement, ensuring the team remained effective and engaged.
-
-Additionally, I guided and supported moderators, helping them develop their skills and excel in their roles. By identifying opportunities to enhance staff activity, I contributed to the overall health and vibrancy of the community. My efforts were instrumental in maintaining a positive, safe, and well-managed space for all members.`
- },
- {
- title: "Technical Support Staff",
- company: "TweetShift",
- start: new Date("Oct 5 2021"),
- end: new Date("Jan 5 2022"),
- link: "https://discord.com/invite/zdfQhjc",
- type: "volunteer",
- logo: "tweetshift.png",
- description: `As Technical Support Staff for TweetShift, I responded promptly to user queries, addressing issues and bugs within the bot to ensure a smooth user experience. I provided clear guidance on how to use the bot's features effectively, helping users maximize its capabilities.
-
-My role involved troubleshooting technical challenges and offering solutions to enhance user satisfaction. By delivering efficient support and sharing helpful tips, I contributed to the overall success and reliability of the bot for the TweetShift community.`
- },
- {
- title: "Discord Moderator",
- company: "Rythm",
- start: new Date("Sept 5 2021"),
- end: new Date("Feb 5 2022"),
- link: "https://discord.com/invite/rythm",
- type: "volunteer",
- logo: "rythm.jpeg",
- description: `As a Discord Moderator for Rythm, I played a central role in maintaining a safe, respectful, and welcoming environment for community members. I monitored conversations to ensure compliance with community guidelines and addressed any disruptive behavior promptly.
-
-My efforts helped foster a positive and inclusive space for all members, contributing to the overall health and vibrancy of the Rythm community.`
- },
- {
- title: "Technical Support Staff",
- company: "Streamcord",
- start: new Date("Mar 5 2021"),
- end: new Date("Aug 5 2021"),
- link: "https://discord.com/invite/streamcord",
- type: "volunteer",
- logo: "streamcord.jpeg",
- description: `As Technical Support Staff for Streamcord, I provided essential support to users by triaging and debugging issues related to the Streamcord Discord bot. My role involved investigating and resolving technical challenges to ensure a seamless user experience.
-
-Acting as a liaison between users and developers, I facilitated clear communication and reported user feedback to the development team for continuous improvement. Additionally, I moderated and engaged with the community, fostering a positive and inclusive environment for all participants. My efforts contributed to the overall success and satisfaction of the Streamcord community.`
- },
- {
- title: "Community Moderator",
- company: "freeCodeCamp",
- start: new Date("Jun 5 2020"),
- end: new Date("Dec 5 2020"),
- link: "https://discord.com/invite/freecodecamp-org-official-fi-fo-692816967895220344",
- type: "volunteer",
- logo: "fcc.jpeg",
- description: `As a Community Moderator for freeCodeCamp, I provided vital support to users (campers) as they navigated the freeCodeCamp curriculum. My role included assisting users in debugging their code and answering questions, ensuring they received the guidance they needed to progress in their learning journey.
-
-I engaged with and moderated the community on the forum and Discord server, fostering a positive, supportive, and inclusive environment for all members. Additionally, I assisted with issue triage and pull request review on GitHub, contributing to the ongoing improvement and development of freeCodeCamp's open-source projects. My efforts played a key role in maintaining the quality of the community and empowering users to achieve their learning goals.`
- },
- {
- title: "Community Moderator",
- company: "FruitPursuits",
- start: new Date("March 5 2024"),
- end: null,
- link: "https://discord.gg/xcy2fRsC5K",
- type: "volunteer",
- logo: "fruit.png",
- description: `As a Discord Moderator for FruitPursuits, I provide crucial support to members, ensuring they have a seamless experience within our community. I troubleshoot technical issues, enforce community guidelines, and foster engagement among members. Collaborating with fellow moderators, I contribute to the ongoing improvement of our Discord server, empowering users to fully enjoy their fruit-loving journey.`
- },
- {
- title: "Developer Experience Consultant",
- company: "Deepgram",
- start: new Date("June 5 2024"),
- end: null,
- link: "https://deepgram.com",
- type: "fixed",
- logo: "deepgram.jpeg",
- description: `As a DX Consultant at Deepgram, I spearhead efforts to enhance community engagement and streamline developer experiences. Leveraging my expertise, I optimize community management workflows on platforms like Slack, GitHub Discussions, and Discord. My primary focus involves acting as a Community Manager, where I strive to answer approximately 60% of community inquiries, foster engagement, and ensure valuable feedback reaches the Product Board for consideration.
-
- In parallel, I lead DX initiatives, delivering minor documentation improvements, documenting new product features, and integrating new solutions. My proficiency extends to SDK support (JS, Python), where I deliver enhancements and develop new applications as needed. Additionally, I provide high-priority support for demo applications.
-
- Through my multifaceted approach, I drive tangible improvements in community interactions and developer experiences, contributing to Deepgram's growth and user satisfaction.`
- }
-];
diff --git a/src/app/config/Icons.ts b/src/app/config/Icons.ts
deleted file mode 100644
index 5b592e4..0000000
--- a/src/app/config/Icons.ts
+++ /dev/null
@@ -1,957 +0,0 @@
-import { IconDefinition } from "@fortawesome/fontawesome-svg-core";
-import { faCalendar, faCircle } from "@fortawesome/free-regular-svg-icons";
-import { faListCheck } from "@fortawesome/free-solid-svg-icons";
-
-import { Employment } from "./Employment";
-
-export const Codeberg: IconDefinition = {
- prefix: "xxx",
- iconName: "yyy",
- icon: [
- 474,
- 474,
- [],
- "U+E002",
- `M 36.00,373.00
- C 19.99,344.87 11.56,324.72 5.00,293.00
- 5.00,293.00 2.08,280.00 2.08,280.00
- 2.08,280.00 2.08,271.04 2.08,271.04
- 1.21,265.55 0.02,268.68 0.00,259.00
- 0.00,259.00 0.00,232.00 0.00,232.00
- 0.10,225.30 1.32,226.49 2.08,221.96
- 2.08,221.96 2.08,214.00 2.08,214.00
- 2.08,214.00 4.55,203.00 4.55,203.00
- 8.89,181.33 13.79,163.93 23.75,144.00
- 23.75,144.00 31.87,128.00 31.87,128.00
- 40.56,112.80 56.86,91.48 69.17,79.17
- 69.17,79.17 80.00,69.72 80.00,69.72
- 90.99,60.09 102.48,51.08 115.00,43.46
- 115.00,43.46 132.00,34.75 132.00,34.75
- 194.09,3.71 265.92,2.29 330.00,28.45
- 346.58,35.22 368.94,48.49 383.00,59.51
- 383.00,59.51 397.00,71.72 397.00,71.72
- 418.24,90.34 435.64,113.79 448.25,139.00
- 460.07,162.66 464.56,176.20 469.80,202.00
- 471.25,209.15 473.99,218.02 474.00,225.00
- 474.00,225.00 474.00,270.00 474.00,270.00
- 474.00,270.00 469.42,294.00 469.42,294.00
- 469.42,294.00 465.25,313.00 465.25,313.00
- 465.25,313.00 454.33,343.00 454.33,343.00
- 454.33,343.00 439.00,373.00 439.00,373.00
- 439.00,373.00 437.00,373.00 437.00,373.00
- 437.00,373.00 386.42,307.00 386.42,307.00
- 386.42,307.00 285.87,177.00 285.87,177.00
- 285.87,177.00 250.35,131.00 250.35,131.00
- 247.89,127.81 240.50,116.27 236.17,117.49
- 234.17,118.05 231.85,121.40 230.58,123.00
- 230.58,123.00 221.13,135.00 221.13,135.00
- 221.13,135.00 183.35,184.00 183.35,184.00
- 183.35,184.00 88.88,306.00 88.88,306.00
- 88.88,306.00 55.65,349.00 55.65,349.00
- 50.94,355.09 41.27,368.61 36.00,373.00 Z
- M 244.00,138.00
- C 244.00,138.00 272.65,174.00 272.65,174.00
- 272.65,174.00 327.65,245.00 327.65,245.00
- 327.65,245.00 401.88,341.00 401.88,341.00
- 401.88,341.00 433.00,382.00 433.00,382.00
- 433.00,382.00 409.96,410.00 409.96,410.00
- 409.96,410.00 400.00,419.17 400.00,419.17
- 400.00,419.17 389.00,429.68 389.00,429.68
- 389.00,429.68 361.00,449.54 361.00,449.54
- 361.00,449.54 346.00,457.31 346.00,457.31
- 346.00,457.31 331.00,465.00 331.00,465.00
- 331.00,465.00 315.85,409.00 315.85,409.00
- 315.85,409.00 283.85,289.00 283.85,289.00
- 283.85,289.00 257.12,189.00 257.12,189.00
- 257.12,189.00 244.00,138.00 244.00,138.00 Z`
- ]
-} as never;
-
-export const Matrix: IconDefinition = {
- prefix: "xxx",
- iconName: "yyy",
- icon: [
- 342,
- 342,
- [],
- "U+E002",
- `M 138.00,0.53
- C 150.87,-1.59 166.46,0.98 179.00,4.13
- 230.88,17.15 270.41,61.51 279.08,114.00
- 279.08,114.00 281.00,131.00 281.00,131.00
- 281.08,137.92 281.47,143.03 277.20,148.99
- 268.97,160.46 252.22,161.04 243.39,149.98
- 237.90,143.12 239.56,138.59 238.83,131.00
- 238.25,124.97 237.10,118.87 235.63,113.00
- 230.45,92.32 217.03,73.13 200.00,60.48
- 188.68,52.07 173.95,45.62 160.00,43.28
- 149.18,41.47 136.43,43.78 128.21,34.91
- 117.46,23.31 123.25,5.13 138.00,0.53 Z
- M 126.00,61.42
- C 132.79,60.60 140.80,60.41 147.00,63.67
- 157.30,69.10 161.07,83.05 155.00,93.00
- 148.91,102.97 142.67,102.25 133.00,103.17
- 133.00,103.17 121.00,104.75 121.00,104.75
- 106.64,107.11 91.56,113.68 80.00,122.50
- 61.64,136.52 50.33,153.71 44.63,176.00
- 43.46,180.57 42.62,185.30 42.17,190.00
- 41.42,197.85 43.18,203.96 37.61,210.99
- 28.88,221.99 10.70,222.28 2.99,210.00
- -0.87,203.84 -0.08,195.99 0.00,189.00
- 0.10,181.05 1.94,171.72 3.87,164.00
- 14.25,122.51 43.23,89.80 82.00,72.31
- 97.65,65.25 109.47,63.78 126.00,61.42 Z
- M 315.00,123.64
- C 330.97,120.43 341.97,128.41 342.00,145.00
- 342.03,164.57 338.91,182.06 330.69,200.00
- 308.91,247.57 260.01,281.64 207.00,281.00
- 183.02,280.71 177.62,255.16 192.04,243.39
- 198.72,237.94 203.50,239.55 211.00,238.83
- 217.03,238.25 223.12,237.09 229.00,235.63
- 249.81,230.42 269.96,216.52 282.28,199.00
- 290.55,187.24 296.09,175.19 298.74,161.00
- 301.56,145.87 296.54,130.60 315.00,123.64 Z
- M 78.00,184.53
- C 87.56,183.00 96.80,186.96 101.08,196.00
- 101.08,196.00 105.45,225.00 105.45,225.00
- 108.31,239.01 115.29,252.68 123.90,264.00
- 136.86,281.04 157.21,293.39 178.00,298.11
- 188.70,300.54 202.89,298.40 210.98,304.56
- 222.59,313.38 221.84,332.30 209.00,339.64
- 203.20,342.95 194.60,342.07 188.00,342.00
- 180.39,341.91 168.41,339.51 161.00,337.42
- 119.62,325.74 86.75,295.86 70.60,256.00
- 70.60,256.00 66.29,243.00 66.29,243.00
- 63.87,234.58 62.76,227.67 61.84,219.00
- 60.14,203.20 59.71,189.94 78.00,184.53 Z`
- ]
-} as never;
-export const Peerlist: IconDefinition = {
- prefix: "xxx",
- iconName: "yyy",
- icon: [
- 512,
- 512,
- [],
- "U+E002",
- `M 214.00,0.14
- C 214.00,0.14 243.00,0.14 243.00,0.14
- 243.00,0.14 291.00,0.14 291.00,0.14
- 291.00,0.14 301.00,1.00 301.00,1.00
- 301.00,1.00 311.00,1.00 311.00,1.00
- 311.00,1.00 328.00,2.83 328.00,2.83
- 375.51,7.58 421.85,17.89 457.91,51.42
- 483.50,75.23 497.13,112.43 503.80,146.00
- 507.93,166.77 510.12,187.89 511.04,209.00
- 511.04,209.00 512.00,220.00 512.00,220.00
- 512.59,270.71 513.41,322.24 502.42,372.00
- 495.29,404.31 483.17,434.75 459.72,458.83
- 437.47,481.67 407.37,493.82 377.00,501.37
- 326.73,513.88 274.38,512.08 223.00,512.00
- 223.00,512.00 208.00,511.00 208.00,511.00
- 208.00,511.00 204.00,511.00 204.00,511.00
- 204.00,511.00 166.00,507.13 166.00,507.13
- 125.75,501.54 81.42,488.74 52.28,458.83
- 18.32,423.96 7.84,375.75 2.84,329.00
- 2.84,329.00 0.91,302.00 0.91,302.00
- 0.91,302.00 0.00,290.00 0.00,290.00
- 0.00,290.00 0.00,253.00 0.00,253.00
- 0.00,253.00 0.00,223.00 0.00,223.00
- 0.00,223.00 1.00,205.00 1.00,205.00
- 1.00,205.00 6.59,155.00 6.59,155.00
- 11.95,123.04 22.32,89.63 42.81,64.00
- 74.31,24.60 121.91,10.61 170.00,4.28
- 170.00,4.28 201.00,1.09 201.00,1.09
- 201.00,1.09 214.00,0.14 214.00,0.14 Z
- M 234.00,18.14
- C 227.52,19.22 223.42,18.99 217.00,19.00
- 217.00,19.00 205.00,20.04 205.00,20.04
- 205.00,20.04 197.00,20.04 197.00,20.04
- 149.57,24.69 92.98,33.42 60.44,72.00
- 34.70,102.51 25.98,143.28 21.84,182.00
- 21.84,182.00 19.00,224.00 19.00,224.00
- 19.00,224.00 18.00,241.00 18.00,241.00
- 18.00,241.00 18.00,273.00 18.00,273.00
- 18.00,273.00 18.96,283.00 18.96,283.00
- 18.96,283.00 18.96,297.00 18.96,297.00
- 18.96,297.00 19.91,307.00 19.91,307.00
- 19.91,307.00 24.92,353.00 24.92,353.00
- 30.18,384.75 40.74,418.98 63.09,443.00
- 93.04,475.19 139.93,485.66 182.00,490.16
- 182.00,490.16 205.00,492.09 205.00,492.09
- 205.00,492.09 215.00,493.04 215.00,493.04
- 215.00,493.04 229.00,493.04 229.00,493.04
- 229.00,493.04 241.00,494.00 241.00,494.00
- 241.00,494.00 271.00,494.00 271.00,494.00
- 271.00,494.00 283.00,493.04 283.00,493.04
- 283.00,493.04 295.00,493.04 295.00,493.04
- 295.00,493.04 307.00,492.09 307.00,492.09
- 327.86,490.66 348.55,488.59 369.00,483.88
- 398.65,477.06 426.42,466.49 447.96,444.00
- 469.93,421.06 480.00,389.49 486.00,359.00
- 490.02,338.59 492.97,308.77 493.00,288.00
- 493.00,288.00 494.00,271.00 494.00,271.00
- 494.00,271.00 494.00,241.00 494.00,241.00
- 494.00,241.00 493.04,229.00 493.04,229.00
- 493.04,229.00 493.04,217.00 493.04,217.00
- 493.04,217.00 492.09,205.00 492.09,205.00
- 490.82,186.52 489.06,168.22 485.40,150.00
- 478.89,117.63 467.20,84.85 442.00,62.17
- 412.18,35.33 368.80,25.99 330.00,21.84
- 330.00,21.84 307.00,19.91 307.00,19.91
- 307.00,19.91 295.00,18.96 295.00,18.96
- 295.00,18.96 283.00,18.96 283.00,18.96
- 283.00,18.96 271.00,18.14 271.00,18.14
- 271.00,18.14 234.00,18.14 234.00,18.14 Z
- M 156.00,101.00
- C 156.00,101.00 231.00,101.00 231.00,101.00
- 231.00,101.00 270.00,101.00 270.00,101.00
- 304.65,101.05 338.60,117.93 361.91,143.00
- 370.38,152.10 378.11,164.62 383.14,176.00
- 398.86,211.57 395.05,254.17 374.58,287.00
- 365.39,301.73 358.75,306.40 347.28,318.17
- 331.52,334.35 322.21,343.76 301.00,353.14
- 279.20,362.77 264.27,364.00 241.00,364.00
- 241.00,364.00 241.00,411.00 241.00,411.00
- 241.00,411.00 223.00,411.00 223.00,411.00
- 223.00,411.00 223.00,429.00 223.00,429.00
- 223.00,429.00 138.00,429.00 138.00,429.00
- 138.00,429.00 138.00,119.00 138.00,119.00
- 138.00,119.00 156.00,119.00 156.00,119.00
- 156.00,119.00 156.00,101.00 156.00,101.00 Z
- M 223.00,329.00
- C 263.91,329.00 301.86,332.36 336.00,304.54
- 349.16,293.81 359.70,280.51 366.69,265.00
- 374.05,248.67 375.20,234.53 375.00,217.00
- 374.56,179.46 346.33,143.35 313.00,128.31
- 291.09,118.42 270.44,118.00 247.00,118.00
- 247.00,118.00 207.00,118.00 207.00,118.00
- 207.00,118.00 182.00,118.00 182.00,118.00
- 180.01,118.00 176.19,117.77 174.60,119.02
- 172.62,120.59 173.00,124.70 173.00,127.00
- 173.00,127.00 173.00,332.00 173.00,332.00
- 173.00,332.00 173.00,385.00 173.00,385.00
- 173.02,393.64 173.36,393.98 182.00,394.00
- 182.00,394.00 223.00,394.00 223.00,394.00
- 223.00,394.00 223.00,329.00 223.00,329.00 Z
- M 223.00,166.00
- C 223.00,166.00 266.00,166.00 266.00,166.00
- 306.49,166.06 336.49,205.40 321.39,244.00
- 319.11,249.82 315.95,255.30 311.82,260.00
- 300.28,273.13 284.59,280.92 267.00,281.00
- 267.00,281.00 253.00,281.00 253.00,281.00
- 253.00,281.00 223.00,281.00 223.00,281.00
- 223.00,281.00 223.00,166.00 223.00,166.00 Z
- M 241.00,202.00
- C 241.00,202.00 241.00,255.00 241.00,255.00
- 241.02,263.64 241.36,263.98 250.00,264.00
- 258.53,264.02 277.96,264.47 284.58,259.01
- 289.25,255.16 289.06,244.57 289.00,239.00
- 288.79,221.67 275.23,207.53 259.00,203.16
- 253.08,201.56 247.07,202.00 241.00,202.00 Z`
- ]
-} as never;
-export const Polywork: IconDefinition = {
- prefix: "xxx",
- iconName: "yyy",
- icon: [
- 225, // SVG view box width
- 225, // SVG view box height
- [],
- "U+E002", // probably not important for SVG and JS approach
- `M 153.00,155.00
- C 153.00,177.49 155.16,201.18 134.00,215.78
- 117.90,226.88 101.50,224.00 83.00,224.00
- 83.00,224.00 57.00,224.00 57.00,224.00
- 36.75,224.00 21.13,223.75 8.22,205.00
- 5.78,201.46 3.67,197.12 2.44,193.00
- 0.64,186.98 0.01,182.25 0.00,176.00
- 0.00,176.00 0.00,49.00 0.00,49.00
- 0.05,19.44 19.43,0.05 49.00,0.00
- 49.00,0.00 176.00,0.00 176.00,0.00
- 203.99,0.04 223.96,18.67 224.00,47.00
- 224.00,47.00 224.00,89.00 224.00,89.00
- 224.00,112.86 226.74,132.44 204.00,147.95
- 200.27,150.49 196.33,152.29 192.00,153.56
- 182.70,156.30 170.69,156.05 161.00,156.00
- 157.55,155.98 156.36,155.95 153.00,155.00 Z
- M 70.00,11.00
- C 52.54,11.00 34.21,8.10 21.09,22.01
- 17.77,25.54 15.22,29.35 13.77,34.00
- 11.01,42.87 12.00,61.03 12.00,71.00
- 12.00,71.00 70.00,71.00 70.00,71.00
- 70.00,71.00 70.00,11.00 70.00,11.00 Z
- M 141.00,71.00
- C 141.00,71.00 141.00,19.00 141.00,19.00
- 140.94,10.87 139.73,11.02 132.00,11.00
- 132.00,11.00 82.94,11.00 82.94,11.00
- 82.94,11.00 82.94,65.00 82.94,65.00
- 82.65,71.56 84.51,70.99 91.00,71.00
- 91.00,71.00 141.00,71.00 141.00,71.00 Z
- M 212.00,71.00
- C 212.00,71.00 212.00,46.00 212.00,46.00
- 211.99,40.91 212.06,38.94 210.30,34.00
- 200.99,7.84 175.95,12.00 154.00,12.00
- 154.00,12.00 154.00,71.00 154.00,71.00
- 154.00,71.00 212.00,71.00 212.00,71.00 Z
- M 70.00,84.00
- C 70.00,84.00 11.00,84.00 11.00,84.00
- 11.00,84.00 11.00,136.00 11.00,136.00
- 11.02,144.64 11.36,144.98 20.00,145.00
- 20.00,145.00 70.00,145.00 70.00,145.00
- 70.00,145.00 70.00,84.00 70.00,84.00 Z
- M 141.00,84.00
- C 141.00,84.00 83.00,84.00 83.00,84.00
- 83.00,84.00 83.00,144.00 83.00,144.00
- 83.00,144.00 141.00,144.00 141.00,144.00
- 141.00,144.00 141.00,84.00 141.00,84.00 Z
- M 212.00,84.00
- C 212.00,84.00 154.00,84.00 154.00,84.00
- 154.00,84.00 154.00,145.00 154.00,145.00
- 176.30,145.00 201.22,148.17 210.45,122.00
- 212.02,117.55 211.99,114.59 212.00,110.00
- 212.00,110.00 212.00,84.00 212.00,84.00 Z
- M 70.00,157.00
- C 70.00,157.00 11.00,157.00 11.00,157.00
- 11.00,177.94 8.44,201.56 33.00,210.30
- 37.94,212.06 39.91,211.99 45.00,212.00
- 45.00,212.00 70.00,212.00 70.00,212.00
- 70.00,212.00 70.00,157.00 70.00,157.00 Z
- M 141.00,158.00
- C 141.00,158.00 83.00,158.00 83.00,158.00
- 83.00,158.00 83.00,213.00 83.00,213.00
- 83.00,213.00 106.00,213.00 106.00,213.00
- 110.59,212.99 113.55,213.02 118.00,211.45
- 143.85,202.34 141.00,180.01 141.00,158.00 Z`
- ]
-} as never;
-
-export const Fiverr: IconDefinition = {
- prefix: "xxx",
- iconName: "yyy",
- icon: [
- 300,
- 300,
- [],
- "U+E002",
- `M 131.00,0.21
- C 131.00,0.21 161.00,0.21 161.00,0.21
- 175.05,0.02 192.91,4.74 206.00,9.81
- 219.21,14.93 234.03,23.67 245.00,32.61
- 271.56,54.26 290.61,84.25 297.40,118.00
- 298.88,125.38 299.99,130.37 300.00,138.00
- 300.00,138.00 300.00,164.00 300.00,164.00
- 299.71,188.69 285.28,221.51 270.63,241.00
- 257.74,258.14 242.56,270.96 224.00,281.57
- 207.02,291.29 180.65,299.97 161.00,300.00
- 161.00,300.00 137.00,300.00 137.00,300.00
- 126.65,299.88 110.91,295.97 101.00,292.67
- 56.73,277.91 22.19,243.07 7.08,199.00
- -1.16,174.97 -0.04,162.44 0.00,138.00
- 0.02,124.75 3.92,109.38 8.58,97.00
- 29.12,42.42 74.15,9.01 131.00,0.21 Z
- M 176.00,58.00
- C 152.33,58.00 122.24,54.22 107.10,77.00
- 104.97,80.22 103.13,84.29 102.04,88.00
- 100.10,94.62 100.00,104.07 100.00,111.00
- 100.00,111.00 78.00,111.00 78.00,111.00
- 78.00,111.00 78.00,141.00 78.00,141.00
- 95.43,141.00 99.81,138.98 100.00,149.00
- 100.00,149.00 100.00,200.00 100.00,200.00
- 100.00,200.00 100.00,220.00 100.00,220.00
- 100.00,221.94 99.75,225.72 100.99,227.26
- 102.70,229.38 107.50,229.00 110.00,229.00
- 110.00,229.00 138.00,229.00 138.00,229.00
- 138.00,229.00 138.00,163.00 138.00,163.00
- 138.00,158.95 136.99,145.29 139.60,142.74
- 141.71,140.68 146.23,141.00 149.00,141.00
- 149.00,141.00 169.00,141.00 169.00,141.00
- 171.37,141.04 174.58,140.96 176.40,142.74
- 178.34,144.64 177.99,148.47 178.00,151.00
- 178.00,151.00 178.00,229.00 178.00,229.00
- 178.00,229.00 215.00,229.00 215.00,229.00
- 215.00,229.00 215.00,111.00 215.00,111.00
- 215.00,111.00 138.00,111.00 138.00,111.00
- 138.00,106.78 137.73,101.98 139.34,98.01
- 143.35,88.13 153.31,89.00 162.00,89.00
- 162.00,89.00 176.00,89.00 176.00,89.00
- 176.00,89.00 176.00,58.00 176.00,58.00 Z`
- ]
-} as never;
-
-export const JobTypes: {
- [key in (typeof Employment)[number]["type"]]: IconDefinition;
-} = {
- hypothetical: faCircle,
- volunteer: {
- prefix: "xxx",
- iconName: "yyy",
- icon: [
- 1024,
- 1024,
- [],
- "U+E002",
- `M 400.00,894.00
- C 393.17,894.89 374.14,887.23 367.00,884.40
- 337.83,872.82 313.05,859.89 287.00,842.33
- 201.70,784.84 140.73,692.77 120.45,592.00
- 113.21,556.04 112.58,528.31 113.00,492.00
- 113.00,492.00 113.91,482.00 113.91,482.00
- 115.58,457.77 119.57,434.55 125.53,411.00
- 154.89,294.99 237.46,198.14 346.00,148.31
- 385.38,130.22 427.96,119.14 471.00,114.83
- 471.00,114.83 494.00,113.00 494.00,113.00
- 494.00,113.00 532.00,113.00 532.00,113.00
- 532.00,113.00 542.00,113.91 542.00,113.91
- 568.64,115.77 592.21,119.87 618.00,126.85
- 758.81,164.98 868.19,278.92 900.88,421.00
- 905.70,441.95 908.62,462.59 910.09,484.00
- 910.09,484.00 911.00,494.00 911.00,494.00
- 911.39,527.33 910.55,552.96 904.58,586.00
- 891.40,658.90 857.93,723.53 809.28,779.00
- 792.87,797.72 774.49,813.80 755.00,829.20
- 749.42,833.60 737.84,843.77 731.00,844.00
- 728.01,849.34 721.15,852.51 716.00,855.60
- 703.56,863.07 691.17,869.28 678.00,875.31
- 641.79,891.89 597.75,905.01 558.00,908.83
- 558.00,908.83 528.00,911.00 528.00,911.00
- 528.00,911.00 496.00,911.00 496.00,911.00
- 496.00,911.00 484.00,910.09 484.00,910.09
- 463.73,908.70 443.86,906.17 424.00,901.65
- 418.56,900.41 403.20,897.89 400.00,894.00 Z
- M 745.00,714.00
- C 745.00,714.00 757.63,698.00 757.63,698.00
- 766.05,686.76 775.00,673.35 781.69,661.00
- 809.23,610.20 820.67,559.53 820.00,502.00
- 820.00,502.00 819.09,492.00 819.09,492.00
- 818.06,477.07 816.33,462.67 813.21,448.00
- 787.94,329.09 694.66,234.49 575.00,210.55
- 560.13,207.58 547.09,205.95 532.00,204.91
- 532.00,204.91 522.00,204.00 522.00,204.00
- 469.75,203.39 418.76,213.14 372.00,237.26
- 358.36,244.29 341.24,254.73 329.00,263.89
- 329.00,263.89 310.00,279.00 310.00,279.00
- 312.13,285.23 315.03,286.64 319.42,291.16
- 319.42,291.16 341.72,313.42 341.72,313.42
- 341.72,313.42 412.84,384.58 412.84,384.58
- 412.84,384.58 435.00,406.84 435.00,406.84
- 437.17,408.96 442.60,414.77 445.00,415.72
- 449.00,417.29 452.75,413.42 456.00,411.46
- 461.69,408.04 463.60,408.01 470.00,408.00
- 470.00,408.00 553.00,408.00 553.00,408.00
- 555.59,408.00 558.53,407.87 561.00,408.70
- 565.25,410.11 577.20,418.95 581.00,422.08
- 596.88,435.17 612.92,450.77 625.58,467.00
- 649.77,498.03 667.75,532.22 675.55,571.00
- 677.70,581.69 679.02,596.10 679.00,607.00
- 678.99,613.69 677.78,624.35 676.58,631.00
- 676.05,633.92 673.99,641.67 674.40,644.00
- 675.17,648.33 687.28,659.10 691.07,662.84
- 691.07,662.84 726.72,698.28 726.72,698.28
- 731.59,703.16 738.54,711.74 745.00,714.00 Z
- M 445.00,286.00
- C 452.54,286.80 458.72,292.04 465.00,295.95
- 468.14,297.91 472.13,300.69 476.00,300.09
- 479.96,299.48 483.28,295.70 486.00,293.00
- 491.51,287.52 501.52,275.82 509.00,274.34
- 524.32,271.30 531.95,290.81 547.00,289.91
- 547.00,289.91 571.00,284.22 571.00,284.22
- 573.70,283.72 578.07,283.00 579.36,286.28
- 580.36,288.83 578.56,291.88 577.30,294.00
- 577.30,294.00 568.86,308.00 568.86,308.00
- 561.04,322.01 546.53,350.92 543.00,366.00
- 543.00,366.00 488.00,366.00 488.00,366.00
- 485.90,366.00 482.39,366.25 480.65,365.01
- 478.31,363.34 474.32,352.20 472.99,349.00
- 472.99,349.00 454.75,310.00 454.75,310.00
- 450.91,302.31 445.42,294.64 445.00,286.00 Z
- M 416.00,444.00
- C 416.00,444.00 381.92,410.07 381.92,410.07
- 381.92,410.07 314.17,342.58 314.17,342.58
- 314.17,342.58 290.00,318.00 290.00,318.00
- 287.86,315.87 283.32,310.70 280.09,311.03
- 277.98,311.24 276.27,313.52 275.00,315.02
- 275.00,315.02 265.42,327.00 265.42,327.00
- 252.81,343.25 241.25,363.31 232.69,382.00
- 193.14,468.36 194.64,564.63 236.26,650.00
- 243.09,664.02 251.58,677.29 260.58,690.00
- 300.75,746.77 357.46,787.24 424.00,807.28
- 455.72,816.83 488.99,820.38 522.00,820.00
- 522.00,820.00 532.00,819.09 532.00,819.09
- 547.91,818.00 563.40,816.04 579.00,812.58
- 585.72,811.08 602.88,805.91 608.00,806.00
- 608.00,806.00 622.00,799.80 622.00,799.80
- 622.00,799.80 649.00,787.89 649.00,787.89
- 649.00,787.89 686.00,766.28 686.00,766.28
- 686.00,766.28 714.00,745.00 714.00,745.00
- 711.59,737.94 702.66,731.07 697.28,725.72
- 697.28,725.72 669.92,698.07 669.92,698.07
- 665.14,693.37 658.44,687.61 655.00,682.00
- 649.32,683.67 638.29,694.47 632.00,698.64
- 620.59,706.22 604.21,712.80 591.00,716.57
- 578.14,720.24 549.20,724.94 536.00,725.00
- 536.00,725.00 517.00,726.00 517.00,726.00
- 517.00,726.00 487.00,725.00 487.00,725.00
- 487.00,725.00 461.00,722.27 461.00,722.27
- 418.48,716.14 374.27,698.72 355.31,657.00
- 347.38,639.54 344.97,619.97 345.00,601.00
- 345.06,560.19 364.22,515.43 386.51,482.00
- 391.39,474.68 397.42,466.67 403.13,460.00
- 407.31,455.12 413.08,449.45 416.00,444.00 Z
- M 470.00,374.57
- C 470.00,374.57 497.00,374.00 497.00,374.00
- 497.00,374.00 546.00,374.00 546.00,374.00
- 550.21,374.01 554.30,373.78 557.78,376.65
- 563.51,381.39 563.34,392.77 557.78,397.57
- 552.71,401.96 541.45,400.01 535.00,400.00
- 535.00,400.00 518.00,400.00 518.00,400.00
- 518.00,400.00 500.00,400.83 500.00,400.83
- 500.00,400.83 492.00,400.02 492.00,400.02
- 492.00,400.02 477.00,400.02 477.00,400.02
- 473.06,399.99 469.41,400.33 466.21,397.57
- 459.68,391.93 460.30,378.47 470.00,374.57 Z
- M 459.00,429.00
- C 459.00,429.00 458.00,429.00 458.00,429.00
- 458.00,429.00 459.00,430.00 459.00,430.00
- 459.00,430.00 459.00,429.00 459.00,429.00 Z
- M 462.00,432.00
- C 462.00,432.00 461.00,432.00 461.00,432.00
- 461.00,432.00 462.00,433.00 462.00,433.00
- 462.00,433.00 462.00,432.00 462.00,432.00 Z
- M 464.00,434.00
- C 464.00,434.00 463.00,434.00 463.00,434.00
- 463.00,434.00 464.00,435.00 464.00,435.00
- 464.00,435.00 464.00,434.00 464.00,434.00 Z
- M 467.00,437.00
- C 467.00,437.00 466.00,437.00 466.00,437.00
- 466.00,437.00 467.00,438.00 467.00,438.00
- 467.00,438.00 467.00,437.00 467.00,437.00 Z
- M 470.00,440.00
- C 470.00,440.00 469.00,440.00 469.00,440.00
- 469.00,440.00 470.00,441.00 470.00,441.00
- 470.00,441.00 470.00,440.00 470.00,440.00 Z
- M 472.00,442.00
- C 472.00,442.00 471.00,442.00 471.00,442.00
- 471.00,442.00 472.00,443.00 472.00,443.00
- 472.00,443.00 472.00,442.00 472.00,442.00 Z
- M 475.00,445.00
- C 475.00,445.00 474.00,445.00 474.00,445.00
- 474.00,445.00 475.00,446.00 475.00,446.00
- 475.00,446.00 475.00,445.00 475.00,445.00 Z
- M 419.00,447.00
- C 419.00,447.00 418.00,447.00 418.00,447.00
- 418.00,447.00 419.00,448.00 419.00,448.00
- 419.00,448.00 419.00,447.00 419.00,447.00 Z
- M 478.00,448.00
- C 478.00,448.00 477.00,448.00 477.00,448.00
- 477.00,448.00 478.00,449.00 478.00,449.00
- 478.00,449.00 478.00,448.00 478.00,448.00 Z
- M 422.00,450.00
- C 422.00,450.00 421.00,450.00 421.00,450.00
- 421.00,450.00 422.00,451.00 422.00,451.00
- 422.00,451.00 422.00,450.00 422.00,450.00 Z
- M 480.00,450.00
- C 480.00,450.00 479.00,450.00 479.00,450.00
- 479.00,450.00 480.00,451.00 480.00,451.00
- 480.00,451.00 480.00,450.00 480.00,450.00 Z
- M 483.00,453.00
- C 483.00,453.00 482.00,453.00 482.00,453.00
- 482.00,453.00 483.00,454.00 483.00,454.00
- 483.00,454.00 483.00,453.00 483.00,453.00 Z
- M 427.00,455.00
- C 427.00,455.00 426.00,455.00 426.00,455.00
- 426.00,455.00 427.00,456.00 427.00,456.00
- 427.00,456.00 427.00,455.00 427.00,455.00 Z
- M 486.00,456.00
- C 486.00,456.00 485.00,456.00 485.00,456.00
- 485.00,456.00 486.00,457.00 486.00,457.00
- 486.00,457.00 486.00,456.00 486.00,456.00 Z
- M 430.00,458.00
- C 430.00,458.00 429.00,458.00 429.00,458.00
- 429.00,458.00 430.00,459.00 430.00,459.00
- 430.00,459.00 430.00,458.00 430.00,458.00 Z
- M 433.00,461.00
- C 433.00,461.00 432.00,461.00 432.00,461.00
- 432.00,461.00 433.00,462.00 433.00,462.00
- 433.00,462.00 433.00,461.00 433.00,461.00 Z
- M 491.00,461.00
- C 491.00,461.00 490.00,461.00 490.00,461.00
- 490.00,461.00 491.00,462.00 491.00,462.00
- 491.00,462.00 491.00,461.00 491.00,461.00 Z
- M 435.00,463.00
- C 435.00,463.00 434.00,463.00 434.00,463.00
- 434.00,463.00 435.00,464.00 435.00,464.00
- 435.00,464.00 435.00,463.00 435.00,463.00 Z
- M 567.00,520.00
- C 566.65,504.24 556.88,488.77 543.00,481.32
- 535.67,477.39 528.16,476.54 526.10,475.49
- 520.81,472.81 524.40,467.66 521.98,464.60
- 519.97,462.05 505.67,463.00 502.00,463.00
- 502.00,463.00 502.85,473.00 502.85,473.00
- 502.85,473.00 518.00,489.96 518.00,489.96
- 518.00,489.96 551.00,523.00 551.00,523.00
- 551.00,523.00 567.00,520.00 567.00,520.00 Z
- M 436.00,464.00
- C 436.00,464.00 435.00,464.00 435.00,464.00
- 435.00,464.00 436.00,465.00 436.00,465.00
- 436.00,465.00 436.00,464.00 436.00,464.00 Z
- M 494.00,464.00
- C 494.00,464.00 493.00,464.00 493.00,464.00
- 493.00,464.00 494.00,465.00 494.00,465.00
- 494.00,465.00 494.00,464.00 494.00,464.00 Z
- M 438.00,466.00
- C 438.00,466.00 437.00,466.00 437.00,466.00
- 437.00,466.00 438.00,467.00 438.00,467.00
- 438.00,467.00 438.00,466.00 438.00,466.00 Z
- M 496.00,466.00
- C 496.00,466.00 495.00,466.00 495.00,466.00
- 495.00,466.00 496.00,467.00 496.00,467.00
- 496.00,467.00 496.00,466.00 496.00,466.00 Z
- M 499.00,469.00
- C 499.00,469.00 498.00,469.00 498.00,469.00
- 498.00,469.00 499.00,470.00 499.00,470.00
- 499.00,470.00 499.00,469.00 499.00,469.00 Z
- M 443.00,471.00
- C 443.00,471.00 442.00,471.00 442.00,471.00
- 442.00,471.00 443.00,472.00 443.00,472.00
- 443.00,472.00 443.00,471.00 443.00,471.00 Z
- M 501.00,471.00
- C 501.00,471.00 500.00,471.00 500.00,471.00
- 500.00,471.00 501.00,472.00 501.00,472.00
- 501.00,472.00 501.00,471.00 501.00,471.00 Z
- M 446.00,474.00
- C 446.00,474.00 445.00,474.00 445.00,474.00
- 445.00,474.00 446.00,475.00 446.00,475.00
- 446.00,475.00 446.00,474.00 446.00,474.00 Z
- M 449.00,477.00
- C 449.00,477.00 448.00,477.00 448.00,477.00
- 448.00,477.00 449.00,478.00 449.00,478.00
- 449.00,478.00 449.00,477.00 449.00,477.00 Z
- M 451.00,479.00
- C 451.00,479.00 450.00,479.00 450.00,479.00
- 450.00,479.00 451.00,480.00 451.00,480.00
- 451.00,480.00 451.00,479.00 451.00,479.00 Z
- M 454.00,482.00
- C 454.00,482.00 453.00,482.00 453.00,482.00
- 453.00,482.00 454.00,483.00 454.00,483.00
- 454.00,483.00 454.00,482.00 454.00,482.00 Z
- M 459.00,487.00
- C 459.00,487.00 458.00,487.00 458.00,487.00
- 458.00,487.00 459.00,488.00 459.00,488.00
- 459.00,488.00 459.00,487.00 459.00,487.00 Z
- M 462.00,490.00
- C 462.00,490.00 461.00,490.00 461.00,490.00
- 461.00,490.00 462.00,491.00 462.00,491.00
- 462.00,491.00 462.00,490.00 462.00,490.00 Z
- M 466.00,494.00
- C 466.00,494.00 465.00,494.00 465.00,494.00
- 465.00,494.00 466.00,495.00 466.00,495.00
- 466.00,495.00 466.00,494.00 466.00,494.00 Z
- M 522.00,659.00
- C 547.74,655.37 571.32,636.69 571.99,609.00
- 572.04,606.82 572.13,602.98 571.40,601.00
- 570.05,597.33 557.76,586.06 554.16,582.58
- 554.16,582.58 505.32,533.88 505.32,533.88
- 505.32,533.88 477.93,506.07 477.93,506.07
- 476.09,504.24 469.18,497.08 466.93,496.87
- 464.26,496.63 462.76,500.05 461.76,502.00
- 458.45,508.44 457.09,513.77 457.00,521.00
- 456.78,539.77 459.07,552.64 474.00,565.82
- 478.69,569.96 485.24,573.66 491.00,576.13
- 493.96,577.40 499.27,578.55 500.98,581.27
- 502.21,583.24 502.00,586.72 502.00,589.00
- 502.00,589.00 502.00,626.00 502.00,626.00
- 493.16,620.59 487.56,611.13 486.00,601.00
- 486.00,601.00 461.00,603.72 461.00,603.72
- 458.73,603.99 454.49,603.70 453.03,605.60
- 450.60,608.74 455.20,621.40 456.61,625.00
- 463.79,643.31 481.77,658.54 502.00,659.00
- 502.00,659.00 502.00,672.00 502.00,672.00
- 502.00,672.00 522.00,672.00 522.00,672.00
- 522.00,672.00 522.00,659.00 522.00,659.00 Z
- M 558.00,528.00
- C 558.00,528.00 557.00,528.00 557.00,528.00
- 557.00,528.00 558.00,529.00 558.00,529.00
- 558.00,529.00 558.00,528.00 558.00,528.00 Z
- M 560.00,530.00
- C 560.00,530.00 559.00,530.00 559.00,530.00
- 559.00,530.00 560.00,531.00 560.00,531.00
- 560.00,531.00 560.00,530.00 560.00,530.00 Z
- M 563.00,533.00
- C 563.00,533.00 562.00,533.00 562.00,533.00
- 562.00,533.00 563.00,534.00 563.00,534.00
- 563.00,534.00 563.00,533.00 563.00,533.00 Z
- M 566.00,536.00
- C 566.00,536.00 565.00,536.00 565.00,536.00
- 565.00,536.00 566.00,537.00 566.00,537.00
- 566.00,537.00 566.00,536.00 566.00,536.00 Z
- M 571.00,541.00
- C 571.00,541.00 570.00,541.00 570.00,541.00
- 570.00,541.00 571.00,542.00 571.00,542.00
- 571.00,542.00 571.00,541.00 571.00,541.00 Z
- M 574.00,544.00
- C 574.00,544.00 573.00,544.00 573.00,544.00
- 573.00,544.00 574.00,545.00 574.00,545.00
- 574.00,545.00 574.00,544.00 574.00,544.00 Z
- M 576.00,546.00
- C 576.00,546.00 575.00,546.00 575.00,546.00
- 575.00,546.00 576.00,547.00 576.00,547.00
- 576.00,547.00 576.00,546.00 576.00,546.00 Z
- M 579.00,549.00
- C 579.00,549.00 578.00,549.00 578.00,549.00
- 578.00,549.00 579.00,550.00 579.00,550.00
- 579.00,550.00 579.00,549.00 579.00,549.00 Z
- M 582.00,552.00
- C 582.00,552.00 581.00,552.00 581.00,552.00
- 581.00,552.00 582.00,553.00 582.00,553.00
- 582.00,553.00 582.00,552.00 582.00,552.00 Z
- M 584.00,554.00
- C 584.00,554.00 583.00,554.00 583.00,554.00
- 583.00,554.00 584.00,555.00 584.00,555.00
- 584.00,555.00 584.00,554.00 584.00,554.00 Z
- M 587.00,557.00
- C 587.00,557.00 586.00,557.00 586.00,557.00
- 586.00,557.00 587.00,558.00 587.00,558.00
- 587.00,558.00 587.00,557.00 587.00,557.00 Z
- M 590.00,560.00
- C 590.00,560.00 589.00,560.00 589.00,560.00
- 589.00,560.00 590.00,561.00 590.00,561.00
- 590.00,561.00 590.00,560.00 590.00,560.00 Z
- M 592.00,562.00
- C 592.00,562.00 591.00,562.00 591.00,562.00
- 591.00,562.00 592.00,563.00 592.00,563.00
- 592.00,563.00 592.00,562.00 592.00,562.00 Z
- M 595.00,565.00
- C 595.00,565.00 594.00,565.00 594.00,565.00
- 594.00,565.00 595.00,566.00 595.00,566.00
- 595.00,566.00 595.00,565.00 595.00,565.00 Z
- M 598.00,568.00
- C 598.00,568.00 597.00,568.00 597.00,568.00
- 597.00,568.00 598.00,569.00 598.00,569.00
- 598.00,569.00 598.00,568.00 598.00,568.00 Z
- M 600.00,570.00
- C 600.00,570.00 599.00,570.00 599.00,570.00
- 599.00,570.00 600.00,571.00 600.00,571.00
- 600.00,571.00 600.00,570.00 600.00,570.00 Z
- M 603.00,573.00
- C 603.00,573.00 602.00,573.00 602.00,573.00
- 602.00,573.00 603.00,574.00 603.00,574.00
- 603.00,574.00 603.00,573.00 603.00,573.00 Z
- M 606.00,576.00
- C 606.00,576.00 605.00,576.00 605.00,576.00
- 605.00,576.00 606.00,577.00 606.00,577.00
- 606.00,577.00 606.00,576.00 606.00,576.00 Z
- M 608.00,578.00
- C 608.00,578.00 607.00,578.00 607.00,578.00
- 607.00,578.00 608.00,579.00 608.00,579.00
- 608.00,579.00 608.00,578.00 608.00,578.00 Z
- M 611.00,581.00
- C 611.00,581.00 610.00,581.00 610.00,581.00
- 610.00,581.00 611.00,582.00 611.00,582.00
- 611.00,582.00 611.00,581.00 611.00,581.00 Z
- M 614.00,584.00
- C 614.00,584.00 613.00,584.00 613.00,584.00
- 613.00,584.00 614.00,585.00 614.00,585.00
- 614.00,585.00 614.00,584.00 614.00,584.00 Z
- M 616.00,586.00
- C 616.00,586.00 615.00,586.00 615.00,586.00
- 615.00,586.00 616.00,587.00 616.00,587.00
- 616.00,587.00 616.00,586.00 616.00,586.00 Z
- M 619.00,589.00
- C 619.00,589.00 618.00,589.00 618.00,589.00
- 618.00,589.00 619.00,590.00 619.00,590.00
- 619.00,590.00 619.00,589.00 619.00,589.00 Z
- M 624.00,594.00
- C 624.00,594.00 623.00,594.00 623.00,594.00
- 623.00,594.00 624.00,595.00 624.00,595.00
- 624.00,595.00 624.00,594.00 624.00,594.00 Z
- M 627.00,597.00
- C 627.00,597.00 626.00,597.00 626.00,597.00
- 626.00,597.00 627.00,598.00 627.00,598.00
- 627.00,598.00 627.00,597.00 627.00,597.00 Z
- M 629.00,599.00
- C 629.00,599.00 628.00,599.00 628.00,599.00
- 628.00,599.00 629.00,600.00 629.00,600.00
- 629.00,600.00 629.00,599.00 629.00,599.00 Z
- M 630.00,600.00
- C 630.00,600.00 629.00,600.00 629.00,600.00
- 629.00,600.00 630.00,601.00 630.00,601.00
- 630.00,601.00 630.00,600.00 630.00,600.00 Z
- M 577.00,605.00
- C 577.00,605.00 576.00,605.00 576.00,605.00
- 576.00,605.00 577.00,606.00 577.00,606.00
- 577.00,606.00 577.00,605.00 577.00,605.00 Z
- M 635.00,605.00
- C 635.00,605.00 634.00,605.00 634.00,605.00
- 634.00,605.00 635.00,606.00 635.00,606.00
- 635.00,606.00 635.00,605.00 635.00,605.00 Z
- M 638.00,608.00
- C 638.00,608.00 637.00,608.00 637.00,608.00
- 637.00,608.00 638.00,609.00 638.00,609.00
- 638.00,609.00 638.00,608.00 638.00,608.00 Z
- M 639.00,609.00
- C 639.00,609.00 638.00,609.00 638.00,609.00
- 638.00,609.00 639.00,610.00 639.00,610.00
- 639.00,610.00 639.00,609.00 639.00,609.00 Z
- M 582.00,610.00
- C 582.00,610.00 581.00,610.00 581.00,610.00
- 581.00,610.00 582.00,611.00 582.00,611.00
- 582.00,611.00 582.00,610.00 582.00,610.00 Z
- M 640.00,610.00
- C 640.00,610.00 639.00,610.00 639.00,610.00
- 639.00,610.00 640.00,611.00 640.00,611.00
- 640.00,611.00 640.00,610.00 640.00,610.00 Z
- M 643.00,613.00
- C 643.00,613.00 642.00,613.00 642.00,613.00
- 642.00,613.00 643.00,614.00 643.00,614.00
- 643.00,614.00 643.00,613.00 643.00,613.00 Z
- M 587.00,615.00
- C 587.00,615.00 586.00,615.00 586.00,615.00
- 586.00,615.00 587.00,616.00 587.00,616.00
- 587.00,616.00 587.00,615.00 587.00,615.00 Z
- M 646.00,616.00
- C 646.00,616.00 645.00,616.00 645.00,616.00
- 645.00,616.00 646.00,617.00 646.00,617.00
- 646.00,617.00 646.00,616.00 646.00,616.00 Z
- M 590.00,618.00
- C 590.00,618.00 589.00,618.00 589.00,618.00
- 589.00,618.00 590.00,619.00 590.00,619.00
- 590.00,619.00 590.00,618.00 590.00,618.00 Z
- M 648.00,618.00
- C 648.00,618.00 647.00,618.00 647.00,618.00
- 647.00,618.00 648.00,619.00 648.00,619.00
- 648.00,619.00 648.00,618.00 648.00,618.00 Z
- M 593.00,621.00
- C 593.00,621.00 592.00,621.00 592.00,621.00
- 592.00,621.00 593.00,622.00 593.00,622.00
- 593.00,622.00 593.00,621.00 593.00,621.00 Z
- M 651.00,621.00
- C 651.00,621.00 650.00,621.00 650.00,621.00
- 650.00,621.00 651.00,622.00 651.00,622.00
- 651.00,622.00 651.00,621.00 651.00,621.00 Z
- M 595.00,623.00
- C 595.00,623.00 594.00,623.00 594.00,623.00
- 594.00,623.00 595.00,624.00 595.00,624.00
- 595.00,624.00 595.00,623.00 595.00,623.00 Z
- M 654.00,624.00
- C 654.00,624.00 653.00,624.00 653.00,624.00
- 653.00,624.00 654.00,625.00 654.00,625.00
- 654.00,625.00 654.00,624.00 654.00,624.00 Z
- M 598.00,626.00
- C 598.00,626.00 597.00,626.00 597.00,626.00
- 597.00,626.00 598.00,627.00 598.00,627.00
- 598.00,627.00 598.00,626.00 598.00,626.00 Z
- M 656.00,626.00
- C 656.00,626.00 655.00,626.00 655.00,626.00
- 655.00,626.00 656.00,627.00 656.00,627.00
- 656.00,627.00 656.00,626.00 656.00,626.00 Z
- M 601.00,629.00
- C 601.00,629.00 600.00,629.00 600.00,629.00
- 600.00,629.00 601.00,630.00 601.00,630.00
- 601.00,630.00 601.00,629.00 601.00,629.00 Z
- M 659.00,629.00
- C 659.00,629.00 658.00,629.00 658.00,629.00
- 658.00,629.00 659.00,630.00 659.00,630.00
- 659.00,630.00 659.00,629.00 659.00,629.00 Z
- M 603.00,631.00
- C 603.00,631.00 602.00,631.00 602.00,631.00
- 602.00,631.00 603.00,632.00 603.00,632.00
- 603.00,632.00 603.00,631.00 603.00,631.00 Z
- M 662.00,632.00
- C 662.00,632.00 661.00,632.00 661.00,632.00
- 661.00,632.00 662.00,633.00 662.00,633.00
- 662.00,633.00 662.00,632.00 662.00,632.00 Z
- M 606.00,634.00
- C 606.00,634.00 605.00,634.00 605.00,634.00
- 605.00,634.00 606.00,635.00 606.00,635.00
- 606.00,635.00 606.00,634.00 606.00,634.00 Z
- M 664.00,634.00
- C 664.00,634.00 663.00,634.00 663.00,634.00
- 663.00,634.00 664.00,635.00 664.00,635.00
- 664.00,635.00 664.00,634.00 664.00,634.00 Z
- M 609.00,637.00
- C 609.00,637.00 608.00,637.00 608.00,637.00
- 608.00,637.00 609.00,638.00 609.00,638.00
- 609.00,638.00 609.00,637.00 609.00,637.00 Z
- M 667.00,637.00
- C 667.00,637.00 666.00,637.00 666.00,637.00
- 666.00,637.00 667.00,638.00 667.00,638.00
- 667.00,638.00 667.00,637.00 667.00,637.00 Z
- M 611.00,639.00
- C 611.00,639.00 610.00,639.00 610.00,639.00
- 610.00,639.00 611.00,640.00 611.00,640.00
- 611.00,640.00 611.00,639.00 611.00,639.00 Z
- M 670.00,640.00
- C 670.00,640.00 669.00,640.00 669.00,640.00
- 669.00,640.00 670.00,641.00 670.00,641.00
- 670.00,641.00 670.00,640.00 670.00,640.00 Z
- M 614.00,642.00
- C 614.00,642.00 613.00,642.00 613.00,642.00
- 613.00,642.00 614.00,643.00 614.00,643.00
- 614.00,643.00 614.00,642.00 614.00,642.00 Z
- M 672.00,642.00
- C 672.00,642.00 671.00,642.00 671.00,642.00
- 671.00,642.00 672.00,643.00 672.00,643.00
- 672.00,643.00 672.00,642.00 672.00,642.00 Z
- M 619.00,647.00
- C 619.00,647.00 618.00,647.00 618.00,647.00
- 618.00,647.00 619.00,648.00 619.00,648.00
- 619.00,648.00 619.00,647.00 619.00,647.00 Z
- M 620.00,648.00
- C 620.00,648.00 619.00,648.00 619.00,648.00
- 619.00,648.00 620.00,649.00 620.00,649.00
- 620.00,649.00 620.00,648.00 620.00,648.00 Z
- M 622.00,650.00
- C 622.00,650.00 621.00,650.00 621.00,650.00
- 621.00,650.00 622.00,651.00 622.00,651.00
- 622.00,651.00 622.00,650.00 622.00,650.00 Z
- M 625.00,653.00
- C 625.00,653.00 624.00,653.00 624.00,653.00
- 624.00,653.00 625.00,654.00 625.00,654.00
- 625.00,654.00 625.00,653.00 625.00,653.00 Z
- M 627.00,655.00
- C 627.00,655.00 626.00,655.00 626.00,655.00
- 626.00,655.00 627.00,656.00 627.00,656.00
- 627.00,656.00 627.00,655.00 627.00,655.00 Z
- M 633.00,661.00
- C 633.00,661.00 632.00,661.00 632.00,661.00
- 632.00,661.00 633.00,662.00 633.00,662.00
- 633.00,662.00 633.00,661.00 633.00,661.00 Z
- M 635.00,663.00
- C 635.00,663.00 634.00,663.00 634.00,663.00
- 634.00,663.00 635.00,664.00 635.00,664.00
- 635.00,664.00 635.00,663.00 635.00,663.00 Z
- M 638.00,666.00
- C 638.00,666.00 637.00,666.00 637.00,666.00
- 637.00,666.00 638.00,667.00 638.00,667.00
- 638.00,667.00 638.00,666.00 638.00,666.00 Z
- M 641.00,669.00
- C 641.00,669.00 640.00,669.00 640.00,669.00
- 640.00,669.00 641.00,670.00 641.00,670.00
- 641.00,670.00 641.00,669.00 641.00,669.00 Z
- M 646.00,674.00
- C 646.00,674.00 645.00,674.00 645.00,674.00
- 645.00,674.00 646.00,675.00 646.00,675.00
- 646.00,675.00 646.00,674.00 646.00,674.00 Z
- M 649.00,677.00
- C 649.00,677.00 648.00,677.00 648.00,677.00
- 648.00,677.00 649.00,678.00 649.00,678.00
- 649.00,678.00 649.00,677.00 649.00,677.00 Z
- M 651.00,679.00
- C 651.00,679.00 650.00,679.00 650.00,679.00
- 650.00,679.00 651.00,680.00 651.00,680.00
- 651.00,680.00 651.00,679.00 651.00,679.00 Z`
- ]
- } as never,
- fixed: faCalendar,
- project: faListCheck
-};
-
-export const JobTypeDescriptions: {
- [key in (typeof Employment)[number]["type"]]: string;
-} = {
- hypothetical: "",
- volunteer: "Pro-bono work",
- fixed: "Fixed-rate contract",
- project: "Project-based contract"
-};
diff --git a/src/app/config/Logos.ts b/src/app/config/Logos.ts
deleted file mode 100644
index c1ae04f..0000000
--- a/src/app/config/Logos.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-export const Logos: {
- link: string;
- file: string;
- alt: string;
-}[] = [
- {
- link: "https://freecodecamp.org",
- file: "fcc_primary_large.svg",
- alt: "freeCodeCamp"
- },
- {
- link: "https://rythm.fm",
- file: "rythm.svg",
- alt: "Rythm"
- },
- {
- link: "https://deepgram.com",
- file: "deepgram.svg",
- alt: "Deepgram AI"
- }
-];
diff --git a/src/app/config/Socials.ts b/src/app/config/Socials.ts
deleted file mode 100644
index 955be24..0000000
--- a/src/app/config/Socials.ts
+++ /dev/null
@@ -1,106 +0,0 @@
-import { IconDefinition } from "@fortawesome/fontawesome-svg-core";
-import {
- faDiscord,
- faGithub,
- faHashnode,
- faLinkedinIn,
- faMastodon,
- faReddit,
- faSlack,
- faXTwitter
-} from "@fortawesome/free-brands-svg-icons";
-import { faHashtag } from "@fortawesome/free-solid-svg-icons";
-
-import { Codeberg, Fiverr, Matrix, Peerlist, Polywork } from "./Icons";
-
-export const Socials: {
- icon: IconDefinition;
- link: string;
- label: string;
- alt: string;
-}[] = [
- {
- label: "Codeberg",
- link: "https://codeberg.org/naomi-lgbt",
- alt: "Codeberg Logo",
- icon: Codeberg
- },
- {
- label: "GitHub",
- link: "https://github.com/nhcarrigan",
- alt: "GitHub Logo",
- icon: faGithub
- },
- {
- label: "Discord",
- link: "https://chat.naomi.lgbt",
- alt: "Discord Logo",
- icon: faDiscord
- },
- {
- label: "Matrix",
- link: "https://matrix.to/#/#naomi:matrix.org",
- alt: "Element Logo",
- icon: Matrix
- },
- {
- label: "IRC",
- link: "https://docs.nhcarrigan.com/#/contact?id=irc",
- alt: "Hash symbol",
- icon: faHashtag
- },
- {
- label: "Slack",
- link: "https://join.slack.com/t/naomi-lgbt/signup",
- alt: "Slack Logo",
- icon: faSlack
- },
- {
- label: "Reddit",
- link: "https://reddit.com/r/nhcarrigan",
- alt: "Reddit Logo",
- icon: faReddit
- },
- {
- label: "Blog",
- link: "https://blog.nhcarrigan.com",
- alt: "Hashnode Logo",
- icon: faHashnode
- },
- {
- label: "LinkedIn",
- link: "https://linkedin.com/in/naomi-lgbt",
- alt: "LinkedIn Logo",
- icon: faLinkedinIn
- },
- {
- label: "Resume",
- link: "https://resume.nhcarrigan.com",
- alt: "Peerlist Logo",
- icon: Peerlist
- },
- {
- label: "Polywork",
- link: "https://polywork.nhcarrigan.com/",
- alt: "Polywork Logo",
- icon: Polywork
- },
- {
- label: "Fiverr",
- link: "https://www.fiverr.com/nhcarrigan",
- alt: "Fiverr Logo",
- icon: Fiverr
- },
- {
- label: "Mastodon",
- link: "https://mastodon.social/@naomi_lgbt",
- alt: "Mastodon Logo",
- icon: faMastodon
- },
- {
- label: "X (Twitter)",
- link: "https://x.com/naomi_lgbt",
- alt: "X Logo",
- icon: faXTwitter
- }
-];
diff --git a/src/app/config/Stats.ts b/src/app/config/Stats.ts
deleted file mode 100644
index 4e26a80..0000000
--- a/src/app/config/Stats.ts
+++ /dev/null
@@ -1,77 +0,0 @@
-import { Certifications } from "./Certifications";
-import { Employment } from "./Employment";
-import { Testimonials } from "./Testimonials";
-
-const getTimeBetween = (start: Date, end: Date) => {
- const months =
- (end.getFullYear() - start.getFullYear()) * 12 -
- start.getMonth() +
- end.getMonth();
- return Math.floor(months / 12) > 0
- ? `${Math.floor(months / 12)} years, ${months % 12} months`
- : `${months} months`;
-};
-
-export const Stats: {
- title: string;
- value: string | number;
-}[] = [
- {
- title: "Current Positions Held",
- value: Employment.filter((el) => !el.end).length
- },
- {
- title: "Total Positions Held",
- value: Employment.length
- },
- {
- title: "Paid Positions Held",
- value: Employment.filter(
- (el) => el.type !== "hypothetical" && el.type !== "volunteer"
- ).length
- },
- {
- title: "Pro-Bono Positons Held",
- value: Employment.filter((el) => el.type === "volunteer").length
- },
- {
- title: "Current Longest Position Held",
- value: (() => {
- const longest = Employment.filter(
- (el) => !el.end && el.type !== "hypothetical"
- ).sort(
- (a, b) =>
- (b.end ?? new Date(Date.now())).getTime() -
- b.start.getTime() -
- ((a.end ?? new Date(Date.now())).getTime() - a.start.getTime())
- )[0];
- return `${longest.title} - ${getTimeBetween(longest.start, longest.end ?? new Date(Date.now()))}`;
- })()
- },
- {
- title: "All-time Longest Position Held",
- value: (() => {
- const longest = Employment.filter(
- (el) => el.type !== "hypothetical"
- ).sort(
- (a, b) =>
- (b.end ?? new Date(Date.now())).getTime() -
- b.start.getTime() -
- ((a.end ?? new Date(Date.now())).getTime() - a.start.getTime())
- )[0];
- return `${longest.title} - ${getTimeBetween(longest.start, longest.end ?? new Date(Date.now()))}`;
- })()
- },
- {
- title: "Clients Served",
- value: new Set(Employment.map((el) => el.company)).size
- },
- {
- title: "Reviews Received",
- value: Testimonials.length
- },
- {
- title: "Certifications Earned",
- value: Certifications.length
- }
-];
diff --git a/src/app/contact/page.tsx b/src/app/contact/page.tsx
new file mode 100644
index 0000000..805c367
--- /dev/null
+++ b/src/app/contact/page.tsx
@@ -0,0 +1,51 @@
+import { Rule } from "@/components/rule";
+import { Social } from "@/components/social";
+import { Donate, HireMe, Socials } from "@/config/Socials";
+
+const Contact = (): JSX.Element => {
+ return (
+ <>
+
+
Contact Us
+
+ We offer many different ways to get in touch with us. Use the buttons
+ below to choose your preferred method.
+
- Creative professional with a focus on developing unique Discord bots and
- fostering engaged online communities. Eager to leverage technical and
- interpersonal skills to drive impactful, user-centric projects. Seeking
- clients where my expertise in designing user-centric solutions and managing
- vibrant digital spaces can drive engagement and growth.
-
+ Hiya! This page is meant to give you a run-down of what working with
+ me is like. It's like a li'l insight into the way I best
+ interact with people and perform on a team.
+
+
+
+
+
+
My Values
+
+ I tend to be very firm in my values, to the degree that I shy away
+ from organisations or projects which do not align with my ethics.
+
+
+
+ First and foremost, do not pass judgement. I will not begrudge you
+ for your religious beliefs, political alignments, or any other
+ aspects of your life. And I expect the same courtesy in return.
+ You do not have to accept who I am, or support my choices, but we
+ need to maintain a respectful and cordial professional
+ relationship. Expressing hateful, mean-spirited, or vitriolic
+ comments does not foster such an environment, and my tolerance for
+ such is nil.
+
+
+ Second, we shall do no harm. I very strongly believe that
+ technology is meant to advance our society, not regress it.
+ Software should not be used to automate people's careers
+ away, or replace creative works with pale imitations, or
+ harass/target someone, or restrict access to information.
+
+
+
+
+
+
Environment
+
+ I have found that I best thrive and produce the greatest works in
+ specific environments.
+
+
+
+ Ideas should be freely discussed, challenged, and evaluated. I am
+ not a "yes girl" to blindly follow orders. If I hear a
+ plan that I think misses the mark, I will absolutely voice my
+ concerns. And I welcome the same scrutiny in return. Discussion
+ needs to be constructive and fruitful - if we're going around
+ in circles, it's time to table it and sleep on our thoughts.
+
+
+ We are not our ideas, however. "This is bad and you should
+ feel bad" helps no one. "I'm not sure that is the
+ best approach, can we consider doing this instead?" keeps the
+ conversation focused on the right things and moving forward.
+
+
+ ADHD means my productivity is highly fluctuating. There are days
+ where I can sit and bang out a week of work in 16 hours, and there
+ are days where I stare mindlessly at the screen and then realise
+ the sun has set already. Flexibility in both schedule and
+ deadlines is very important to me.
+
+
+ Likewise, insomnia can rear its ugly head and absolutely wreck my
+ sleep schedule without any warning. Asynchronous comms are always
+ preferred over meetings, but if a meeting must happen the
+ afternoon hours are the best. Too early and I'll likely fail
+ to wake up. Too late and I might be incoherent.
+
+
+ If given something like a Trello or a Monday board, I will 100%
+ make it pretty and load every single task ever on there. I'm
+ a sucker for organising workloads and the easiest way for me to be
+ transparent about the work I'm doing is to just let you look
+ at a task board. If you say "what did you do yesterday"
+ I will not remember this for I have slept since then.
+
+
+
+
+
+
Communication
+
+ As with many people, there are certain approaches to communication
+ that are more effective for me.
+
+
+
+ Don't just say "hello" in my DMs or ping me without
+ context. You'll pull me out of a workflow to wait for the
+ rest of the message. Send it all at once, or save the ping for the
+ last part.
+
+
+ I have generalised anxiety disorder. Please for the love of all
+ things, do NOT say "we need to talk" or "do you
+ have time to meet". I will 100% sit there right up until the
+ meeting starts stressing about getting fired and not actually
+ getting any work done. If you need to call me out, just rip the
+ bandage off and come out of the gate with it.
+
+
+ I dunno if you noticed the tone changed in this document about a
+ million times. That's pretty much Naomi in a nutshell.
+ I'll go from collected and eloquent to manic and sending
+ messages faster than Discord can process. I try my hardest to stay
+ professional, but ADHD makes that very hard. I'll swear
+ sometimes, I'll say totally off-the-wall things. But I really
+ do try!
+
- Here's what people have to say about our work! If you want to leave your own,
- you can do so through LinkedIn, TopMate, or even an issue on this repository!
-
+ );
+};
diff --git a/src/components/rule.tsx b/src/components/rule.tsx
new file mode 100644
index 0000000..c5254da
--- /dev/null
+++ b/src/components/rule.tsx
@@ -0,0 +1,5 @@
+import styles from "./rule.module.css";
+
+export const Rule = (): JSX.Element => {
+ return ;
+};
diff --git a/src/components/social.tsx b/src/components/social.tsx
new file mode 100644
index 0000000..1f55676
--- /dev/null
+++ b/src/components/social.tsx
@@ -0,0 +1,33 @@
+import { IconDefinition } from "@fortawesome/fontawesome-svg-core";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+
+interface SocialProps {
+ icon: IconDefinition;
+ link: string;
+ label: string;
+ alt: string;
+ color: string;
+ background: string;
+}
+
+export const Social = (props: SocialProps): JSX.Element => {
+ const { icon, link, label, alt, background, color } = props;
+
+ return (
+
+
+ {label}
+
+ );
+};
diff --git a/src/app/config/Certifications.ts b/src/config/Certifications.ts
similarity index 100%
rename from src/app/config/Certifications.ts
rename to src/config/Certifications.ts
diff --git a/src/config/Jobs.ts b/src/config/Jobs.ts
new file mode 100644
index 0000000..3a4c0e1
--- /dev/null
+++ b/src/config/Jobs.ts
@@ -0,0 +1,765 @@
+export const Jobs: {
+ title: string;
+ company: string;
+ /**
+ * Set ALL dates to the 5th. These are not exact days, but intended to avoid month discrepancies
+ * when dealing with timezones.
+ */
+ start: Date;
+ /**
+ * Set ALL dates to the 5th. These are not exact days, but intended to avoid month discrepancies
+ * when dealing with timezones.
+ */
+ end: Date | null;
+ link: string;
+ type: "volunteer" | "fixed" | "project" | "hypothetical";
+ description: string;
+ /**
+ * File name of logo.
+ */
+ logo: string;
+}[] = [
+ {
+ title: "Consultant",
+ company: "Your Company!",
+ start: new Date(Date.now()),
+ end: null,
+ link: "https://topmate.io/nhcarrigan/913920",
+ type: "hypothetical",
+ logo: "future.jpeg",
+ description: `You could be our next client! Hit the "Contact" link and use the "Hire Us" button to get in touch!`
+ },
+ {
+ title: "Started Journey",
+ company: "nhcarrigan",
+ start: new Date("April 5 2020"),
+ end: null,
+ link: "https://naomi.lgbt",
+ type: "hypothetical",
+ logo: "nhcarrigan.jpeg",
+ description:
+ "Began my journey learning to code, starting from the top of the freeCodeCamp curriculum."
+ },
+ {
+ title: "Development Lead",
+ company: "Artists For Palestine",
+ start: new Date("November 5 2023"),
+ end: null,
+ link: "https://art4palestine.org",
+ type: "volunteer",
+ logo: "a4p.jpeg",
+ description: `As a Development Lead at Art 4 Palestine, I developed a bot that efficiently manages integrations between Airtable forms, Trello boards, and Discord, streamlining workflow and improving productivity. The bot also pulls news articles from reputable sources and cross-posts them into the server, keeping the community informed with reliable updates.
+
+Additionally, I guided and mentored other developers in the design and coding of the website, ensuring high-quality output and consistent alignment with project goals. My contributions have been instrumental in supporting the organization's initiatives and fostering collaboration within the development team.`
+ },
+ {
+ title: "Community Moderator",
+ company: "AngelRose",
+ start: new Date("September 5 2023"),
+ end: null,
+ link: "https://discord.gg/kYpjgEB",
+ type: "volunteer",
+ logo: "angel.png",
+ description: `As a Discord Moderator at AngelRose, I played a key role in maintaining a safe, respectful, and engaging environment for community members. I monitored conversations, enforcing community guidelines to prevent disruptive behavior and protect users. Additionally, I addressed and resolved conflicts, providing support and guidance to members to promote a positive experience. My contributions helped uphold the integrity of the community and foster an inclusive and welcoming space for all participants.`
+ },
+ {
+ title: "Community Bot Engineer",
+ company: "Deepgram",
+ start: new Date("July 5 2023"),
+ end: new Date("June 4 2024"),
+ link: "https://deepgram.com",
+ type: "project",
+ logo: "deepgram.jpeg",
+ description: `
+
As a Discord Bot Developer, I spearheaded the creation and implementation of an advanced bot designed to revolutionize community management and user interactions. My primary focus involved developing a comprehensive suite of features to streamline communication, enhance user engagement, and provide valuable insights into community health.
+
+
Leveraging AI capabilities, I integrated intelligent automation to address user queries efficiently and maintain an organized community structure. Additionally, I implemented cross-platform integration features to ensure seamless information flow between Discord, GitHub, and ProductBoard, fostering a cohesive ecosystem for community management.
+
+
Through this multifaceted approach, I significantly improved community interactions, user satisfaction, and the overall efficiency of community management processes.
+
+
Key responsibilities and achievements include:
+
+
Message Management and Organization:
+
+
Developed functionality to relocate messages from standard channels to forum channels
+
Implemented a scheduled messaging system to guide users towards appropriate channels
+
+
+
AI-Powered Assistance:
+
+
Integrated AI capabilities for automatic question answering in forum channels
+
Designed feature for marking responses as correct answers
+
+
+
Community Engagement Tools:
+
+
Developed daily and weekly aggregations of unanswered questions
+
Implemented a reminder system for inactive questions after seven days
+
Created cross-posting functionality to GitHub discussion board for answered questions
+
+
+
Metrics and Analytics:
+
+
Developed tracking system for community health indicators including unanswered, answered, and closed questions
+
Created a dashboard for easy monitoring of community engagement
+
+
+
Cross-Platform Integration:
+
+
Implemented feature to post feedback messages to ProductBoard
+
Designed system for cross-posting between Discord and GitHub
As a Twitch Bot Developer, I spearheaded the creation and deployment of "PrivateTwigs," a custom chat bot designed to revolutionize stream management and viewer engagement. My role involved engineering sophisticated features, implementing data analysis tools, and creating user-friendly interfaces to empower streamers with valuable insights and enhanced interaction capabilities.
+
+
By developing a comprehensive logging system and custom redemption rewards, I significantly improved the streaming experience for both content creators and viewers. My work directly contributed to increased viewer engagement and provided streamers with powerful tools to manage and grow their channels effectively.
+
+
Through close collaboration with streamers and careful attention to Twitch's guidelines, I ensured that PrivateTwigs not only met but exceeded user expectations while maintaining full compliance with platform regulations.
+
+
Key responsibilities and achievements include:
+
+
PrivateTwigs Bot Development:
+
+
Engineered and deployed a custom Twitch chat bot, enhancing stream management and viewer engagement
+
Developed comprehensive logging functionality for all chat messages and stream events
+
Implemented data analysis tools to derive strategic insights from stream data
+
Created a user-friendly interface for streamers to access and utilize collected data
+
+
+
Custom Redemption Rewards System:
+
+
Designed and implemented a custom redemption rewards system within the bot
As an Open Source Community Manager, I successfully spearheaded the growth of our Discord community from 300 to 1,000 members, achieving a remarkable 233% increase. My role involved implementing strategic engagement initiatives, creating an inclusive environment, and leading multiple open source projects that significantly enhanced developer productivity and community engagement.
+
+
By developing standardized tools and resources, such as project templates and skills assessment bots, I streamlined processes and improved consistency across the organization. My work on the Developer Skills Matrix ecosystem, including the creation of dedicated bots and websites, facilitated self-assessment and skill development among community members.
+
+
Through the engineering of specialized Discord bots and the cultivation of a vibrant community atmosphere, I increased the visibility of open source opportunities and drove higher levels of member participation and retention. My efforts in cross-functional collaboration ensured that community initiatives aligned with broader business objectives, contributing to both user growth and product adoption.
+
+
Key responsibilities and achievements include:
+
+
Community Growth and Engagement:
+
+
Spearheaded growth of Discord community from 300 to 1,000 members, representing a 233% increase
+
Implemented strategic engagement initiatives and created an inclusive environment
+
Cultivated a vibrant, engaging community atmosphere, resulting in increased member participation and retention
+
+
+
Open Source Initiatives Leadership:
+
+
Led multiple open source initiatives, enhancing developer productivity and community engagement
+
Developed and implemented a standardized base template for new projects, streamlining project initiation and improving consistency
+
Engineered a Discord bot to query and showcase projects from the Open Source Welcoming Committee, increasing visibility of opportunities
+
+
+
Developer Skills Matrix Ecosystem Management:
+
+
Created and maintained a Discord bot for self-assessments
+
Developed a dedicated website for the Skills Matrix
+
Implemented a Slack bot to extend accessibility across platforms
+
+
+
Strategic Alignment and Collaboration:
+
+
Collaborated cross-functionally to align community initiatives with overall business objectives
+
Drove both user growth and product adoption through strategic community management
As a Discord Community Growth Manager, I successfully orchestrated the exponential growth of our Discord community, expanding it from 1,100 to 3,350 members – a remarkable 205% increase. My role encompassed implementing strategic engagement initiatives, developing community events, and creating a safe, inclusive environment that fostered active participation and meaningful interactions among members.
+
+
By implementing a comprehensive onboarding process and establishing clear community guidelines, I ensured new members were effectively integrated and all participants felt welcome and secure. My data-driven approach, involving the analysis of community metrics and user feedback, allowed for continuous improvement of engagement strategies and overall member satisfaction.
+
+
Through close collaboration with cross-functional teams, I aligned community initiatives with broader business objectives, ensuring that our thriving Discord community contributed significantly to our organization's goals. My proactive conflict resolution and attentive addressing of member concerns maintained a positive community atmosphere, crucial for sustained growth and engagement.
+
+
Key responsibilities and achievements include:
+
+
Community Growth and Engagement:
+
+
Orchestrated exponential growth of Discord community from 1,100 to 3,350 members, representing a 205% increase
+
Implemented strategic engagement initiatives to foster an active and thriving community space
+
Developed and executed community events, driving participation and member retention
+
Created and moderated discussion channels to encourage meaningful interactions
+
+
+
Community Management and Moderation:
+
+
Implemented a comprehensive onboarding process for new members, enhancing their integration into the community
+
Established and enforced community guidelines, ensuring a safe and inclusive environment for all members
+
Managed conflict resolution and addressed member concerns, maintaining a positive community atmosphere
+
+
+
Data-Driven Strategy and Collaboration:
+
+
Analysed community metrics and user feedback to continually improve engagement strategies and member satisfaction
+
Collaborated with cross-functional teams to align community initiatives with broader business objectives
As the Community Manager, I successfully managed and supported a vast user community spanning over 230,000 Discord servers, demonstrating my ability to operate effectively at scale. My role encompassed providing comprehensive support, implementing and enforcing community guidelines, and fostering high levels of engagement across this extensive user base.
+
+
By delivering high-quality support and creating robust self-service resources, I ensured optimal bot functionality and maintained high levels of user satisfaction. My proactive approach to community management, including the development and execution of strategies to prevent and mitigate issues, contributed to maintaining a safe and inclusive environment for all members.
+
+
Through organizing community events, creating informative content, and recognizing active contributors, I fostered a vibrant and engaged community. My work directly contributed to the growth, stability, and positive culture of this large-scale Discord ecosystem.
+
+
Key responsibilities and achievements include:
+
+
Large-Scale Community Management:
+
+
Managed and supported a vast user community spanning over 230,000 Discord servers
+
Demonstrated ability to operate effectively at scale, maintaining high standards across a large user base
+
+
+
Comprehensive User Support:
+
+
Provided high-quality support to users, ensuring optimal bot functionality and user satisfaction
+
Responded to user inquiries and troubleshooting requests in a timely and effective manner
+
Created and maintained user guides and FAQs to empower self-service problem-solving
+
Collaborated with the development team to relay user feedback and suggest improvements
+
+
+
Community Guidelines and Moderation:
+
+
Implemented and enforced community guidelines to maintain a safe and inclusive environment
+
Moderated discussions and user-generated content across multiple channels
+
Resolved conflicts and addressed user concerns promptly and professionally
+
Developed and executed strategies to prevent and mitigate potential community issues
+
+
+
Community Engagement Initiatives:
+
+
Organized and facilitated community events and discussions
+
Created and curated content to keep users informed about updates and best practices
+
Recognized and rewarded active and helpful community members
As a Discord Community Manager specializing in bot development, I spearheaded the creation and implementation of advanced management tools for a thriving community of over 300,000 members. My primary focus involved developing a comprehensive suite of bots and systems to streamline moderation, enhance user engagement, and provide valuable insights into community health and staff performance.
+
+
Leveraging my expertise in Discord bot development, I implemented robust automoderation systems, designed engaging economy features, and created powerful analytics tools. My work significantly improved community interactions, user satisfaction, and the overall efficiency of community management processes.
+
+
Through this multifaceted approach, I fostered a more engaging, secure, and well-managed community environment, contributing to its substantial growth and user retention.
+
+
Key responsibilities and achievements include:
+
+
Comprehensive Moderation Bot:
+
+
Implemented robust automoderation system with customizable rules
+
Developed extensive moderation history tracking and individual case management
+
Created evidence logging system and staff-only note functionality
+
Integrated FAQ response system for efficient community support
+
+
+
Economy and Engagement Bot:
+
+
Designed leveling system to reward long-term activity
+
Implemented role-based rewards and currency system
+
Created customisable user profiles and badge earning mechanism
+
Developed specialised reward purchasing system
+
+
+
Staff Management and Analytics Tools:
+
+
Built staff incentive bot for recognising exceptional contributions
As a Community Manager, I played a pivotal role in nurturing and expanding a vibrant community of over 50,000 members. My responsibilities encompassed a wide range of areas, including community engagement, technical support, human resources management, and bot operations. I was instrumental in fostering a thriving ecosystem around the Streamcord bot, which is utilized by over 1 million communities.
+
+
My multifaceted approach involved implementing innovative engagement strategies, contributing to technical infrastructure, spearheading human resources initiatives, and ensuring seamless bot operations. Through these efforts, I significantly enhanced member retention, activity levels, and overall user satisfaction.
+
+
By bridging the gap between the user community and the development team, I facilitated continuous improvement of the Streamcord bot and associated services, directly contributing to its widespread adoption and success.
+
+
Key responsibilities and achievements include:
+
+
Community Management and Growth:
+
+
Managed and nurtured a thriving community of 50,000+ members
+
Provided comprehensive support for the Streamcord bot, utilized by over 1 million communities
+
Implemented engagement strategies, including staff streams and game nights, to foster community interaction
+
Led a complete community overhaul, significantly boosting member retention and activity
+
+
+
Technical Infrastructure and Development:
+
+
Supported the development process for the Streamcord bot
+
Maintained and updated documentation to ensure clarity and accessibility
+
Collaborated on the development and maintenance of the dashboard site
+
+
+
Human Resources Initiatives:
+
+
Conducted interviews and managed the onboarding process for new staff members
+
Developed and delivered comprehensive training programs for team members
+
Implemented and conducted quarterly staff evaluations to ensure team performance and growth
+
+
+
Bot Operations and User Support:
+
+
Addressed user queries and troubleshooting requests promptly
+
Collaborated with the development team to implement user feedback and feature requests
+
Monitored bot performance across millions of communities to maintain high uptime and user satisfaction
+
+
+
+
`
+ },
+ {
+ title: "Community Moderator",
+ company: "Battlesnake",
+ start: new Date("June 5 2021"),
+ end: new Date("November 5 2022"),
+ link: "https://play.battlesnake.com",
+ type: "volunteer",
+ logo: "battlesnake.jpeg",
+ description: `As a Community Moderator at Battlesnake, I played a vital role in ensuring a safe and welcoming environment for players. My focus was on promoting a positive experience for all members, allowing them to enjoy the game and interact with one another respectfully.
+
+Additionally, I contributed to driving engagement for the Summer League 2021 and the Caster House system, fostering enthusiasm and participation in these events. My efforts helped create an inclusive and vibrant community for Battlesnake enthusiasts.`
+ },
+ {
+ title: "Discord Administrator and Platform Engineering Manager",
+ company: "Caylus Crew",
+ start: new Date("June 5 2021"),
+ end: null,
+ link: "https://discord.gg/infinite",
+ type: "volunteer",
+ logo: "caylus.png",
+ description: `As the Discord Administrator and Platform Engineering Manager at Caylus Crew, I developed custom bots that enhanced the community experience and streamlined operations. One such bot posted daily messages wishing happy birthday to members, fostering a sense of connection and camaraderie. I also created a bot to manage sponsor perks, ensuring efficient and accurate distribution of benefits to eligible members.
+
+In addition to technical contributions, I coached and trained moderators, providing quarterly staff reviews to support their professional growth and improve performance. My work played a pivotal role in maintaining a vibrant, well-managed community and ensuring an exceptional experience for all participants.`
+ },
+ {
+ title: "Integrations Engineer",
+ company: "Xcentric Collective",
+ start: new Date("April 5 2021"),
+ end: new Date("July 5 2023"),
+ link: "http://discord.gg/U3jQVYNbJt",
+ type: "volunteer",
+ logo: "xcentric.jpg",
+ description: `As an Integrations Engineer at Xcentric Collective, I developed a custom Discord bot that incorporated a unique Matchmaking Rating (MMR) system to calculate Rocket League proficiency. This system enabled users to track and monitor their skill levels accurately.
+
+The bot also featured the ability to define teams and find matches with opponents of similar skill levels, facilitating balanced and fair gameplay. Additionally, the bot allowed users to schedule matches seamlessly, providing a streamlined and efficient experience for the community. My work enhanced the overall gaming experience and engagement within the Xcentric Collective community. As an Integrations Engineer at Xcentric Collective, I developed a custom Discord bot that incorporated a unique Matchmaking Rating (MMR) system to calculate Rocket League proficiency. This system enabled users to track and monitor their skill levels accurately. The bot also featured the ability to define teams and find matches with opponents of similar skill levels, facilitating balanced and fair gameplay. Additionally, the bot allowed users to schedule matches seamlessly, providing a streamlined and efficient experience for the community. My work enhanced the overall gaming experience and engagement within the Xcentric Collective community.`
+ },
+ {
+ title: "Hacktoberfest Community Moderator",
+ company: "DigitalOcean",
+ start: new Date("April 5 2021"),
+ end: null,
+ link: "https://hacktoberfest.com",
+ type: "volunteer",
+ logo: "digitalocean.jpeg",
+ description: `As a Hacktoberfest Community Moderator at DigitalOcean, I supported the community by building a custom bot to ensure repository links were correctly included in promotional channel messages, streamlining interactions, and providing automated responses for frequently asked questions. This contributed to a smoother experience for participants and enhanced community engagement.
+
+In addition to managing the bot, I answered queries and guided developers in their open-source contributions, helping them navigate the Hacktoberfest event and maximize their impact. By maintaining a safe and welcoming community space, I fostered an inclusive environment for developers of all skill levels to collaborate and grow. My efforts played a crucial role in the success of the event and the satisfaction of its participants.`
+ },
+ {
+ title: "Discord Administrator",
+ company: "EddieHub",
+ start: new Date("January 5 2021"),
+ end: new Date("May 5 2023"),
+ link: "https://www.eddiehub.org",
+ type: "volunteer",
+ logo: "eddiehub.jpeg",
+ description: `As a Discord Administrator for EddieHub, I played a key role in moderating the community and fostering an open and inclusive environment. My focus was on upholding community guidelines and ensuring a positive experience for all members.
+
+I provided support and encouragement to members on their development path, offering guidance and resources to help them grow and succeed. Additionally, I planned and managed community events and initiatives, creating opportunities for members to engage, learn, and collaborate.
+
+My efforts contributed to the vibrancy and success of the EddieHub community, helping to create a welcoming space for developers to thrive.`
+ },
+ {
+ title: "Discord Administrator and Lead Integrations Engineer",
+ company: "Commit Your Code",
+ start: new Date("December 5 2020"),
+ end: null,
+ link: "https://discord.gg/StwJYeq",
+ type: "volunteer",
+ logo: "cyc.jpeg",
+ description: `As the Discord Administrator and Lead Integrations Engineer at Commit Your Code, I played a key role in fostering a supportive and friendly community environment by moderating interactions and ensuring a positive space for members. I provided guidance to individuals on their development path, offering support as they prepared for their first job or encountered coding challenges.
+
+To enhance community security, I built a robust verification system that significantly reduced the number of compromised accounts, safeguarding members' data and promoting a safe space for collaboration. My contributions have been instrumental in supporting members' growth and maintaining a secure, welcoming atmosphere within the community.`
+ },
+ {
+ title: "Educational Developer and Community Manager",
+ company: "freeCodeCamp",
+ start: new Date("December 5, 2020"),
+ end: null,
+ link: "https://freecodecamp.org",
+ type: "fixed",
+ logo: "fcc.jpeg",
+ description: `
+
As a Community Manager at freeCodeCamp, I played a crucial role in maintaining and enhancing an open-source curriculum used by millions of developers worldwide. My responsibilities encompassed curriculum development, technical solution implementation, community management across multiple platforms, and contributing to the overall growth of the freeCodeCamp ecosystem.
+
+
By leading curriculum redesigns, developing technical solutions, and fostering vibrant online communities, I significantly improved user engagement, accessibility, and the overall learning experience for developers at all levels. My work directly contributed to the expansion and success of freeCodeCamp's mission to provide free coding education to anyone, anywhere.
+
+
Through collaborative efforts with a global team of contributors and strategic alignment with organizational goals, I helped shape freeCodeCamp's direction and impact in the world of coding education.
+
+
Key responsibilities and achievements include:
+
+
Curriculum Development and Enhancement:
+
+
Led complete redesign of Responsive Web Design curriculum, improving accessibility and user engagement
+
Collaborated with global team of contributors to ensure curriculum relevance and quality
+
Implemented user feedback to continuously improve learning materials
+
+
+
Technical Solutions Development:
+
+
Built and deployed a moderation bot for Discord, significantly improving community safety and functionality
+
Created an efficient tool for distributing weekly email newsletter to millions of subscribers
+
Optimized community management processes across Discord, Forum, and Reddit platforms
+
+
+
Community Management and Engagement:
+
+
Provided guidance and support to users on their web development journey
+
Implemented engagement strategies resulting in increased user participation and retention
+
Fostered a welcoming and inclusive environment for learners of all levels
+
+
+
Strategic Growth and Representation:
+
+
Collaborated with leadership to align community initiatives with organizational goals
+
Analyzed user data and feedback to inform strategic decisions
+
Represented freeCodeCamp in external events and collaborations
+
+
+
+
`
+ },
+ {
+ title: "Discord Moderator",
+ company: "Virtual Insanity",
+ start: new Date("May 5 2024"),
+ end: null,
+ link: "https://discord.com/invite/GDYNGnrGUs",
+ type: "volunteer",
+ logo: "troopy.png",
+ description: `As a Discord Moderator for Virtual Insanity, an adult-only community, I was instrumental in cultivating a secure, respectful, and interactive atmosphere for our diverse members. My responsibilities encompassed vigilant monitoring of discussions, ensuring compliance with established guidelines to deter any disruptive conduct, and safeguarding our users. Alongside conflict resolution, I provided empathetic support and guidance, fostering a harmonious environment conducive to positive interactions. Moreover, I actively assisted in verifying identification documents, reinforcing our commitment to maintaining a safe and authentic community experience. Through these efforts, I contributed to upholding the community's integrity and nurturing an inclusive space for all participants to thrive.`
+ },
+ {
+ title: "Discord Administrator and Integrations Engineer",
+ company: "Azuliah (VTuber)",
+ start: new Date("December 5 2023"),
+ end: new Date("April 5 2024"),
+ link: "https://discord.com/invite/XNSy8PMvyy",
+ type: "volunteer",
+ logo: "azuliah.jpg",
+ description: `As a Discord Administrator and Integrations Engineer at Azuliah, I established custom integrations to streamline moderation efforts and enhance community management. These integrations supported the moderation team in maintaining a safe and welcoming space for all members.
+
+In addition to technical contributions, I trained the owner and moderation team on best practices for running a successful community. My guidance included techniques for efficient moderation, conflict resolution, and fostering positive interactions among members. Through my efforts, I played a key role in ensuring the community's smooth operation and promoting a vibrant, supportive environment.`
+ },
+ {
+ title: "Discord Moderator",
+ company: "Rion Kuroko (VTuber)",
+ start: new Date("Nov 5 2023"),
+ end: new Date("Jan 5 2024"),
+ link: "https://discord.com",
+ type: "volunteer",
+ logo: "rion.jpg",
+ description: `As a Discord Moderator for Rion Kuroko, I constructed the server almost entirely from scratch to tailor it to the specific needs of the community. This involved designing and implementing structures, channels, and rules that supported a smooth and organized environment.
+
+I also provided guidance to the owner on the technical aspects of Discord moderation, sharing best practices and offering solutions to effectively manage the server. My efforts played a key role in establishing a functional, user-friendly community space and empowering the owner with the knowledge needed to maintain and grow the server.`
+ },
+ {
+ title: "Senior Discord Moderator",
+ company: "Rythm",
+ start: new Date("Feb 5 2022"),
+ end: new Date("July 5 2022"),
+ link: "https://discord.com/invite/rythm",
+ type: "volunteer",
+ logo: "rythm.jpeg",
+ description: `As a Senior Discord Moderator for Rythm, I played a dual role in overseeing community moderation and mentoring the moderation team. My responsibilities included tracking weekly staff activity to monitor performance and identify areas for improvement, ensuring the team remained effective and engaged.
+
+Additionally, I guided and supported moderators, helping them develop their skills and excel in their roles. By identifying opportunities to enhance staff activity, I contributed to the overall health and vibrancy of the community. My efforts were instrumental in maintaining a positive, safe, and well-managed space for all members.`
+ },
+ {
+ title: "Technical Support Staff",
+ company: "TweetShift",
+ start: new Date("Oct 5 2021"),
+ end: new Date("Jan 5 2022"),
+ link: "https://discord.com/invite/zdfQhjc",
+ type: "volunteer",
+ logo: "tweetshift.png",
+ description: `As Technical Support Staff for TweetShift, I responded promptly to user queries, addressing issues and bugs within the bot to ensure a smooth user experience. I provided clear guidance on how to use the bot's features effectively, helping users maximize its capabilities.
+
+My role involved troubleshooting technical challenges and offering solutions to enhance user satisfaction. By delivering efficient support and sharing helpful tips, I contributed to the overall success and reliability of the bot for the TweetShift community.`
+ },
+ {
+ title: "Discord Moderator",
+ company: "Rythm",
+ start: new Date("Sept 5 2021"),
+ end: new Date("Feb 5 2022"),
+ link: "https://discord.com/invite/rythm",
+ type: "volunteer",
+ logo: "rythm.jpeg",
+ description: `As a Discord Moderator for Rythm, I played a central role in maintaining a safe, respectful, and welcoming environment for community members. I monitored conversations to ensure compliance with community guidelines and addressed any disruptive behavior promptly.
+
+My efforts helped foster a positive and inclusive space for all members, contributing to the overall health and vibrancy of the Rythm community.`
+ },
+ {
+ title: "Technical Support Staff",
+ company: "Streamcord",
+ start: new Date("Mar 5 2021"),
+ end: new Date("Aug 5 2021"),
+ link: "https://discord.com/invite/streamcord",
+ type: "volunteer",
+ logo: "streamcord.jpeg",
+ description: `As Technical Support Staff for Streamcord, I provided essential support to users by triaging and debugging issues related to the Streamcord Discord bot. My role involved investigating and resolving technical challenges to ensure a seamless user experience.
+
+Acting as a liaison between users and developers, I facilitated clear communication and reported user feedback to the development team for continuous improvement. Additionally, I moderated and engaged with the community, fostering a positive and inclusive environment for all participants. My efforts contributed to the overall success and satisfaction of the Streamcord community.`
+ },
+ {
+ title: "Community Moderator",
+ company: "freeCodeCamp",
+ start: new Date("Jun 5 2020"),
+ end: new Date("Dec 5 2020"),
+ link: "https://discord.com/invite/freecodecamp-org-official-fi-fo-692816967895220344",
+ type: "volunteer",
+ logo: "fcc.jpeg",
+ description: `As a Community Moderator for freeCodeCamp, I provided vital support to users (campers) as they navigated the freeCodeCamp curriculum. My role included assisting users in debugging their code and answering questions, ensuring they received the guidance they needed to progress in their learning journey.
+
+I engaged with and moderated the community on the forum and Discord server, fostering a positive, supportive, and inclusive environment for all members. Additionally, I assisted with issue triage and pull request review on GitHub, contributing to the ongoing improvement and development of freeCodeCamp's open-source projects. My efforts played a key role in maintaining the quality of the community and empowering users to achieve their learning goals.`
+ },
+ {
+ title: "Community Moderator",
+ company: "FruitPursuits",
+ start: new Date("March 5 2024"),
+ end: null,
+ link: "https://discord.gg/xcy2fRsC5K",
+ type: "volunteer",
+ logo: "fruit.png",
+ description: `As a Discord Moderator for FruitPursuits, I provide crucial support to members, ensuring they have a seamless experience within our community. I troubleshoot technical issues, enforce community guidelines, and foster engagement among members. Collaborating with fellow moderators, I contribute to the ongoing improvement of our Discord server, empowering users to fully enjoy their fruit-loving journey.`
+ },
+ {
+ title: "Developer Experience Consultant",
+ company: "Deepgram",
+ start: new Date("June 5 2024"),
+ end: null,
+ link: "https://deepgram.com",
+ type: "fixed",
+ logo: "deepgram.jpeg",
+ description: `
+
+
As a DX Consultant at Deepgram, I spearhead efforts to enhance community engagement and streamline developer experiences. Leveraging my expertise, I optimize community management workflows on platforms like Slack, GitHub Discussions, and Discord. My primary focus involves acting as a Community Manager, where I strive to answer approximately 60% of community inquiries, foster engagement, and ensure valuable feedback reaches the Product Board for consideration.
+
+
In parallel, I lead DX initiatives, delivering minor documentation improvements, documenting new product features, and integrating new solutions. My proficiency extends to SDK support (JS, Python), where I deliver enhancements and develop new applications as needed. Additionally, I provide high-priority support for demo applications.
+
+
Through my multifaceted approach, I drive tangible improvements in community interactions and developer experiences, contributing to Deepgram's growth and user satisfaction.
+
+
Key responsibilities and achievements include:
+
+
Community Management:
+
+
Provide community support across Slack, GitHub Discussions, and Discord
+
Address approximately 60% of community inquiries, ensuring prompt and accurate responses
+
Foster community engagement through proactive interactions and targeted initiatives
+
Facilitate feedback flow to Product Board, driving user-centric product improvements
+
+
+
Developer Experience (DX) Initiatives:
+
+
Spearhead documentation improvements, enhancing clarity and accessibility
+
Integrate innovative solutions to streamline developer workflows
+
Deliver high-priority support for demo applications, showcasing product capabilities
+
+
+
SDK Support and Development:
+
+
Provide expert support for JavaScript and Python SDKs
+
Implement enhancements to existing SDKs based on developer feedback and emerging needs
+
Develop new applications leveraging Deepgram's SDKs to demonstrate best practices
+
+
+
Workflow Optimization:
+
+
Streamline community management processes across multiple platforms
+
Implement efficient systems for tracking and addressing developer inquiries
+
Optimize feedback collection and integration into product development cycle
+
+
+
+
`
+ },
+ {
+ title: "Service Operations Manager",
+ company: "Safeway",
+ start: new Date("5 August 2009"),
+ end: new Date("5 April 2020"),
+ link: "https://www.safeway.com",
+ type: "fixed",
+ logo: "safeway.png",
+ description: `
+
As the Service Operations Manager at Safeway, I played a pivotal role in overseeing the store's day-to-day operations and maintaining exceptional service standards. My responsibilities encompassed a wide range of critical functions, from personnel management and training to ensuring compliance with safety regulations and company policies.
+
+
By focusing on hiring, onboarding, and mentoring both new associates and management personnel, I fostered a skilled and motivated workforce capable of delivering high-quality service. My implementation of comprehensive safety programs and strict adherence to OSHA regulations created a secure environment for both employees and customers.
+
+
Through diligent auditing of financial records and assistance with payroll processing, I contributed to the store's financial accuracy and operational efficiency. My collaborative approach to problem-solving and commitment to enforcing company standards helped maintain a positive work environment and uphold Safeway's reputation for excellence in service.
+
+
Key responsibilities and achievements include:
+
+
Personnel Management and Development:
+
+
Hired, onboarded, and trained new associates to maintain a skilled workforce
+
Guided and mentored new PICs and department managers, ensuring their preparedness for leadership roles
+
Addressed associate concerns and collaboratively developed solutions to maintain a positive work environment
+
+
+
Safety and Compliance:
+
+
Maintained compliance with OSHA safety regulations across all store operations
+
Implemented a comprehensive safety program within the store to ensure employee and customer well-being
+
Enforced company policies and procedures, addressing violations appropriately
+
+
+
Financial Management and Auditing:
+
+
Audited weekly bookkeeping records for cash shortages and discrepancies, ensuring financial accuracy
+
Assisted with processing weekly payroll and timekeeping as needed
+
+
+
Operational Excellence:
+
+
Oversaw day-to-day store operations to maintain exceptional service standards
+
Upheld high service expectations and promoted a positive work environment
+
Contributed to the efficient management of store operations through various initiatives
+
+
+
+
`
+ },
+ {
+ title: "Student",
+ company: "Vancouver School of Arts and Academics",
+ start: new Date("5 September 2001"),
+ end: new Date("5 June 2009"),
+ link: "https://arts.vansd.org/",
+ type: "volunteer",
+ logo: "vsaa.png",
+ description: `
+
As a student at the Vancouver School of Arts and Academics, I immersed myself in a diverse and enriching artistic environment, with a primary focus on music and a secondary emphasis on theatre. This multidisciplinary approach allowed me to develop a broad range of skills across various art forms, fostering my creativity and artistic expression.
+
+
My dedication to music, particularly in band, saw me master multiple instruments including the clarinet, piano, bassoon, and saxophone. This comprehensive musical education enhanced my understanding of different musical styles and techniques, as well as my ability to collaborate within an ensemble setting.
+
+
In theatre, I honed my skills both as an actor and as a theatre technician, gaining a well-rounded understanding of stage production. Additionally, I explored other artistic disciplines such as dance, visual arts, filmography, and literature, further broadening my creative horizons and interdisciplinary approach to the arts.
+
+
Key areas of focus and achievements include:
+
+
Music:
+
+
Participated actively in the school band program
+
Developed proficiency in multiple instruments: clarinet, piano, bassoon, and saxophone
+
Gained experience in ensemble playing and musical collaboration
+
+
+
Theatre:
+
+
Performed as an actor in various school productions
+
Gained technical theatre experience, working behind the scenes on productions
+
Developed a comprehensive understanding of stage production processes
+
+
+
Interdisciplinary Arts Exploration:
+
+
Explored dance, enhancing physical expression and movement skills
+
Engaged in visual arts projects, developing artistic techniques and creative vision
+
Participated in filmography studies, gaining insight into visual storytelling
+
Studied literature, enhancing writing and analytical skills
+
+
+
+
`
+ }
+];
diff --git a/src/config/NavItems.ts b/src/config/NavItems.ts
new file mode 100644
index 0000000..2731a50
--- /dev/null
+++ b/src/config/NavItems.ts
@@ -0,0 +1,8 @@
+export const NavItems = [
+ { href: "/about", text: "About" },
+ { href: "/manual", text: "User Manual" },
+ { href: "/work", text: "Our Work" },
+ { href: "/contact", text: "Contact" },
+ { href: "/certs", text: "Certifications" },
+ { href: "/reviews", text: "Reviews" },
+ ].sort((a, b) => a.text.localeCompare(b.text));
diff --git a/src/config/Socials.ts b/src/config/Socials.ts
new file mode 100644
index 0000000..50b40e6
--- /dev/null
+++ b/src/config/Socials.ts
@@ -0,0 +1,207 @@
+import { Codeberg } from "@/icons/Codeberg";
+import { Fiverr } from "@/icons/Fiverr";
+import { Matrix } from "@/icons/Matrix";
+import { Peerlist } from "@/icons/Peerlist";
+import { Polywork } from "@/icons/Polywork";
+import { IconDefinition } from "@fortawesome/fontawesome-svg-core";
+import { faDiscord, faGithub, faHashnode, faLinkedinIn, faMastodon, faReddit, faSlack, faSteam, faTwitch } from "@fortawesome/free-brands-svg-icons";
+import { faXTwitter } from "@fortawesome/free-brands-svg-icons/faXTwitter";
+import { faBriefcase, faGamepad, faHashtag, faMoneyBill } from "@fortawesome/free-solid-svg-icons";
+
+export const HireMe: {
+ icon: IconDefinition;
+ link: string;
+ label: string;
+ alt: string;
+ color: string;
+ background: string;
+} = {
+ icon: faBriefcase,
+ link: "https://docs.nhcarrigan.com/#/hire",
+ label: "Hire Us!",
+ alt: "Briefcase Icon",
+ color: "#003600",
+ background: `linear-gradient(
+ 90deg,
+ #5bcefa,
+ #f5a9b8,
+ #ffffff,
+ #f5a9b8,
+ #5bcefa
+ )`
+}
+
+export const Donate: {
+ icon: IconDefinition;
+ link: string;
+ label: string;
+ alt: string;
+ color: string;
+ background: string;
+} = {
+ icon: faMoneyBill,
+ link: "https://docs.nhcarrigan.com/#/donate",
+ label: "Support Our Work 💜",
+ alt: "Money Icon",
+ color: "#003600",
+ background: `linear-gradient(
+ 90deg,
+ rgba(255, 0, 0, 1) 0%,
+ rgba(251, 7, 217, 1) 10%,
+ rgba(186, 12, 248, 1) 20%,
+ rgba(95, 21, 242, 1) 30%,
+ rgba(28, 127, 238, 1) 40%,
+ rgba(47, 201, 226, 1) 50%,
+ rgba(63, 218, 216, 1) 60%,
+ rgba(79, 220, 74, 1) 70%,
+ rgba(208, 222, 33, 1) 80%,
+ rgba(255, 154, 0, 1) 90%,
+ rgba(255, 0, 0, 1) 100%
+ )`
+}
+
+export const Socials: {
+ icon: IconDefinition;
+ link: string;
+ label: string;
+ alt: string;
+ color: string;
+ background: string;
+}[] = [
+ {
+ label: "Codeberg",
+ link: "https://codeberg.org/naomi-lgbt",
+ alt: "Codeberg Logo",
+ icon: Codeberg,
+ background: "#0B3049",
+ color: "#B5DDFF"
+ },
+ {
+ label: "GitHub",
+ link: "https://github.com/nhcarrigan",
+ alt: "GitHub Logo",
+ icon: faGithub,
+ background: "#333",
+ color: "#FFF"
+ },
+ {
+ label: "Discord",
+ link: "https://chat.naomi.lgbt",
+ alt: "Discord Logo",
+ icon: faDiscord,
+ background: "#7289DA",
+ color: "#FFF"
+ },
+ {
+ label: "Matrix",
+ link: "https://matrix.to/#/#naomi:matrix.org",
+ alt: "Element Logo",
+ icon: Matrix,
+ background: "#29B6F6",
+ color: "#FFF"
+ },
+ {
+ label: "IRC",
+ link: "https://docs.nhcarrigan.com/#/contact?id=irc",
+ alt: "Hash symbol",
+ icon: faHashtag,
+ background: "#000",
+ color: "#FFF"
+ },
+ {
+ label: "Slack",
+ link: "https://join.slack.com/t/naomi-lgbt/signup",
+ alt: "Slack Logo",
+ icon: faSlack,
+ background: "#4A154B",
+ color: "#FFF"
+ },
+ {
+ label: "Reddit",
+ link: "https://reddit.com/r/nhcarrigan",
+ alt: "Reddit Logo",
+ icon: faReddit,
+ background: "#FF4500",
+ color: "#FFF"
+ },
+ {
+ label: "Blog",
+ link: "https://blog.nhcarrigan.com",
+ alt: "Hashnode Logo",
+ icon: faHashnode,
+ background: "#2962FF",
+ color: "#FFF"
+ },
+ {
+ label: "LinkedIn",
+ link: "https://linkedin.com/in/naomi-lgbt",
+ alt: "LinkedIn Logo",
+ icon: faLinkedinIn,
+ background: "#0077B5",
+ color: "#FFF"
+ },
+ {
+ label: "Resume",
+ link: "https://resume.nhcarrigan.com",
+ alt: "Peerlist Logo",
+ icon: Peerlist,
+ background: "rgb(33, 150, 83)",
+ color: "#FFF"
+ },
+ {
+ label: "Polywork",
+ link: "https://polywork.nhcarrigan.com/",
+ alt: "Polywork Logo",
+ icon: Polywork,
+ background: "#7C3AED",
+ color: "#FFF"
+ },
+ {
+ label: "Fiverr",
+ link: "https://www.fiverr.com/nhcarrigan",
+ alt: "Fiverr Logo",
+ icon: Fiverr,
+ background: "#1DBF73",
+ color: "#FFF"
+ },
+ {
+ label: "Mastodon",
+ link: "https://mastodon.social/@naomi_lgbt",
+ alt: "Mastodon Logo",
+ icon: faMastodon,
+ background: "#2B90D9",
+ color: "#FFF"
+ },
+ {
+ label: "X (Twitter)",
+ link: "https://x.com/naomi_lgbt",
+ alt: "X Logo",
+ icon: faXTwitter,
+ background: "#1DA1F2",
+ color: "#FFF"
+ },
+ {
+ label: "Steam",
+ link: "https://steamcommunity.com/id/naomi-lgbt/",
+ alt: "Steam Logo",
+ icon: faSteam,
+ background: "rgb(27, 40, 56)",
+ color: "rgb(199, 213, 224)"
+ },
+ {
+ label: "Twitch",
+ link: "https://www.twitch.tv/naomilgbt/",
+ alt: "Twitch Logo",
+ icon: faTwitch,
+ background: "#6441A4",
+ color: "#FFF"
+ },
+ {
+ label: "HLTB",
+ link: "https://howlongtobeat.com/user/naomi_lgbt",
+ alt: "How Long to Beat Logo",
+ icon: faGamepad,
+ background: "#333",
+ color: "#FFF"
+ }
+];
diff --git a/src/app/config/Testimonials.ts b/src/config/Testimonials.ts
similarity index 74%
rename from src/app/config/Testimonials.ts
rename to src/config/Testimonials.ts
index 985c150..13c1734 100644
--- a/src/app/config/Testimonials.ts
+++ b/src/config/Testimonials.ts
@@ -7,6 +7,7 @@ export const Testimonials: {
content: string;
sourceIcon: IconDefinition;
sourceUrl: string;
+ sourceName: string;
}[] = [
{
name: "Eddie Jaoude",
@@ -14,7 +15,8 @@ export const Testimonials: {
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.",
sourceIcon: faLinkedin,
- sourceUrl: "https://www.linkedin.com/in/naomi-lgbt/details/recommendations/"
+ sourceUrl: "https://www.linkedin.com/in/naomi-lgbt/details/recommendations/",
+ sourceName: "LinkedIn"
},
{
name: "Danny Thompson",
@@ -22,7 +24,8 @@ export const Testimonials: {
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.",
sourceIcon: faLinkedin,
- sourceUrl: "https://www.linkedin.com/in/naomi-lgbt/details/recommendations/"
+ sourceUrl: "https://www.linkedin.com/in/naomi-lgbt/details/recommendations/",
+ sourceName: "LinkedIn"
},
{
name: "Francez Urmatan",
@@ -30,7 +33,8 @@ export const Testimonials: {
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!",
sourceIcon: faLinkedin,
- sourceUrl: "https://www.linkedin.com/in/naomi-lgbt/details/recommendations/"
+ sourceUrl: "https://www.linkedin.com/in/naomi-lgbt/details/recommendations/",
+ sourceName: "LinkedIn"
},
{
name: "Katey Berry",
@@ -38,7 +42,8 @@ export const Testimonials: {
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!",
sourceIcon: faLinkedin,
- sourceUrl: "https://www.linkedin.com/in/naomi-lgbt/details/recommendations/"
+ sourceUrl: "https://www.linkedin.com/in/naomi-lgbt/details/recommendations/",
+ sourceName: "LinkedIn"
},
{
name: "Kaitlyn Nichols",
@@ -46,6 +51,16 @@ export const Testimonials: {
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.",
sourceIcon: faLinkedin,
- sourceUrl: "https://www.linkedin.com/in/naomi-lgbt/details/recommendations/"
+ sourceUrl: "https://www.linkedin.com/in/naomi-lgbt/details/recommendations/",
+ sourceName: "LinkedIn"
+ },
+ {
+ name: "Alix Takada Sharp",
+ date: new Date("July 15, 2024"),
+ 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.",
+ sourceIcon: faLinkedin,
+ sourceUrl: "https://www.linkedin.com/in/naomi-lgbt/details/recommendations/",
+ sourceName: "LinkedIn"
}
];
diff --git a/src/favicon.ico b/src/favicon.ico
deleted file mode 100644
index 57614f9..0000000
Binary files a/src/favicon.ico and /dev/null differ
diff --git a/src/icons/Codeberg.ts b/src/icons/Codeberg.ts
new file mode 100644
index 0000000..d8eff36
--- /dev/null
+++ b/src/icons/Codeberg.ts
@@ -0,0 +1,64 @@
+import { IconDefinition } from "@fortawesome/fontawesome-svg-core";
+
+export const Codeberg: IconDefinition = {
+ prefix: "xxx",
+ iconName: "yyy",
+ icon: [
+ 474,
+ 474,
+ [],
+ "U+E002",
+ `M 36.00,373.00
+ C 19.99,344.87 11.56,324.72 5.00,293.00
+ 5.00,293.00 2.08,280.00 2.08,280.00
+ 2.08,280.00 2.08,271.04 2.08,271.04
+ 1.21,265.55 0.02,268.68 0.00,259.00
+ 0.00,259.00 0.00,232.00 0.00,232.00
+ 0.10,225.30 1.32,226.49 2.08,221.96
+ 2.08,221.96 2.08,214.00 2.08,214.00
+ 2.08,214.00 4.55,203.00 4.55,203.00
+ 8.89,181.33 13.79,163.93 23.75,144.00
+ 23.75,144.00 31.87,128.00 31.87,128.00
+ 40.56,112.80 56.86,91.48 69.17,79.17
+ 69.17,79.17 80.00,69.72 80.00,69.72
+ 90.99,60.09 102.48,51.08 115.00,43.46
+ 115.00,43.46 132.00,34.75 132.00,34.75
+ 194.09,3.71 265.92,2.29 330.00,28.45
+ 346.58,35.22 368.94,48.49 383.00,59.51
+ 383.00,59.51 397.00,71.72 397.00,71.72
+ 418.24,90.34 435.64,113.79 448.25,139.00
+ 460.07,162.66 464.56,176.20 469.80,202.00
+ 471.25,209.15 473.99,218.02 474.00,225.00
+ 474.00,225.00 474.00,270.00 474.00,270.00
+ 474.00,270.00 469.42,294.00 469.42,294.00
+ 469.42,294.00 465.25,313.00 465.25,313.00
+ 465.25,313.00 454.33,343.00 454.33,343.00
+ 454.33,343.00 439.00,373.00 439.00,373.00
+ 439.00,373.00 437.00,373.00 437.00,373.00
+ 437.00,373.00 386.42,307.00 386.42,307.00
+ 386.42,307.00 285.87,177.00 285.87,177.00
+ 285.87,177.00 250.35,131.00 250.35,131.00
+ 247.89,127.81 240.50,116.27 236.17,117.49
+ 234.17,118.05 231.85,121.40 230.58,123.00
+ 230.58,123.00 221.13,135.00 221.13,135.00
+ 221.13,135.00 183.35,184.00 183.35,184.00
+ 183.35,184.00 88.88,306.00 88.88,306.00
+ 88.88,306.00 55.65,349.00 55.65,349.00
+ 50.94,355.09 41.27,368.61 36.00,373.00 Z
+ M 244.00,138.00
+ C 244.00,138.00 272.65,174.00 272.65,174.00
+ 272.65,174.00 327.65,245.00 327.65,245.00
+ 327.65,245.00 401.88,341.00 401.88,341.00
+ 401.88,341.00 433.00,382.00 433.00,382.00
+ 433.00,382.00 409.96,410.00 409.96,410.00
+ 409.96,410.00 400.00,419.17 400.00,419.17
+ 400.00,419.17 389.00,429.68 389.00,429.68
+ 389.00,429.68 361.00,449.54 361.00,449.54
+ 361.00,449.54 346.00,457.31 346.00,457.31
+ 346.00,457.31 331.00,465.00 331.00,465.00
+ 331.00,465.00 315.85,409.00 315.85,409.00
+ 315.85,409.00 283.85,289.00 283.85,289.00
+ 283.85,289.00 257.12,189.00 257.12,189.00
+ 257.12,189.00 244.00,138.00 244.00,138.00 Z`
+ ]
+} as never;
diff --git a/src/icons/Fiverr.ts b/src/icons/Fiverr.ts
new file mode 100644
index 0000000..750ff4e
--- /dev/null
+++ b/src/icons/Fiverr.ts
@@ -0,0 +1,54 @@
+import { IconDefinition } from "@fortawesome/fontawesome-svg-core";
+
+export const Fiverr: IconDefinition = {
+ prefix: "xxx",
+ iconName: "yyy",
+ icon: [
+ 300,
+ 300,
+ [],
+ "U+E002",
+ `M 131.00,0.21
+ C 131.00,0.21 161.00,0.21 161.00,0.21
+ 175.05,0.02 192.91,4.74 206.00,9.81
+ 219.21,14.93 234.03,23.67 245.00,32.61
+ 271.56,54.26 290.61,84.25 297.40,118.00
+ 298.88,125.38 299.99,130.37 300.00,138.00
+ 300.00,138.00 300.00,164.00 300.00,164.00
+ 299.71,188.69 285.28,221.51 270.63,241.00
+ 257.74,258.14 242.56,270.96 224.00,281.57
+ 207.02,291.29 180.65,299.97 161.00,300.00
+ 161.00,300.00 137.00,300.00 137.00,300.00
+ 126.65,299.88 110.91,295.97 101.00,292.67
+ 56.73,277.91 22.19,243.07 7.08,199.00
+ -1.16,174.97 -0.04,162.44 0.00,138.00
+ 0.02,124.75 3.92,109.38 8.58,97.00
+ 29.12,42.42 74.15,9.01 131.00,0.21 Z
+ M 176.00,58.00
+ C 152.33,58.00 122.24,54.22 107.10,77.00
+ 104.97,80.22 103.13,84.29 102.04,88.00
+ 100.10,94.62 100.00,104.07 100.00,111.00
+ 100.00,111.00 78.00,111.00 78.00,111.00
+ 78.00,111.00 78.00,141.00 78.00,141.00
+ 95.43,141.00 99.81,138.98 100.00,149.00
+ 100.00,149.00 100.00,200.00 100.00,200.00
+ 100.00,200.00 100.00,220.00 100.00,220.00
+ 100.00,221.94 99.75,225.72 100.99,227.26
+ 102.70,229.38 107.50,229.00 110.00,229.00
+ 110.00,229.00 138.00,229.00 138.00,229.00
+ 138.00,229.00 138.00,163.00 138.00,163.00
+ 138.00,158.95 136.99,145.29 139.60,142.74
+ 141.71,140.68 146.23,141.00 149.00,141.00
+ 149.00,141.00 169.00,141.00 169.00,141.00
+ 171.37,141.04 174.58,140.96 176.40,142.74
+ 178.34,144.64 177.99,148.47 178.00,151.00
+ 178.00,151.00 178.00,229.00 178.00,229.00
+ 178.00,229.00 215.00,229.00 215.00,229.00
+ 215.00,229.00 215.00,111.00 215.00,111.00
+ 215.00,111.00 138.00,111.00 138.00,111.00
+ 138.00,106.78 137.73,101.98 139.34,98.01
+ 143.35,88.13 153.31,89.00 162.00,89.00
+ 162.00,89.00 176.00,89.00 176.00,89.00
+ 176.00,89.00 176.00,58.00 176.00,58.00 Z`
+ ]
+} as never;
diff --git a/src/icons/Matrix.ts b/src/icons/Matrix.ts
new file mode 100644
index 0000000..c2ebc6c
--- /dev/null
+++ b/src/icons/Matrix.ts
@@ -0,0 +1,61 @@
+import { IconDefinition } from "@fortawesome/fontawesome-svg-core";
+
+export const Matrix: IconDefinition = {
+ prefix: "xxx",
+ iconName: "yyy",
+ icon: [
+ 342,
+ 342,
+ [],
+ "U+E002",
+ `M 138.00,0.53
+ C 150.87,-1.59 166.46,0.98 179.00,4.13
+ 230.88,17.15 270.41,61.51 279.08,114.00
+ 279.08,114.00 281.00,131.00 281.00,131.00
+ 281.08,137.92 281.47,143.03 277.20,148.99
+ 268.97,160.46 252.22,161.04 243.39,149.98
+ 237.90,143.12 239.56,138.59 238.83,131.00
+ 238.25,124.97 237.10,118.87 235.63,113.00
+ 230.45,92.32 217.03,73.13 200.00,60.48
+ 188.68,52.07 173.95,45.62 160.00,43.28
+ 149.18,41.47 136.43,43.78 128.21,34.91
+ 117.46,23.31 123.25,5.13 138.00,0.53 Z
+ M 126.00,61.42
+ C 132.79,60.60 140.80,60.41 147.00,63.67
+ 157.30,69.10 161.07,83.05 155.00,93.00
+ 148.91,102.97 142.67,102.25 133.00,103.17
+ 133.00,103.17 121.00,104.75 121.00,104.75
+ 106.64,107.11 91.56,113.68 80.00,122.50
+ 61.64,136.52 50.33,153.71 44.63,176.00
+ 43.46,180.57 42.62,185.30 42.17,190.00
+ 41.42,197.85 43.18,203.96 37.61,210.99
+ 28.88,221.99 10.70,222.28 2.99,210.00
+ -0.87,203.84 -0.08,195.99 0.00,189.00
+ 0.10,181.05 1.94,171.72 3.87,164.00
+ 14.25,122.51 43.23,89.80 82.00,72.31
+ 97.65,65.25 109.47,63.78 126.00,61.42 Z
+ M 315.00,123.64
+ C 330.97,120.43 341.97,128.41 342.00,145.00
+ 342.03,164.57 338.91,182.06 330.69,200.00
+ 308.91,247.57 260.01,281.64 207.00,281.00
+ 183.02,280.71 177.62,255.16 192.04,243.39
+ 198.72,237.94 203.50,239.55 211.00,238.83
+ 217.03,238.25 223.12,237.09 229.00,235.63
+ 249.81,230.42 269.96,216.52 282.28,199.00
+ 290.55,187.24 296.09,175.19 298.74,161.00
+ 301.56,145.87 296.54,130.60 315.00,123.64 Z
+ M 78.00,184.53
+ C 87.56,183.00 96.80,186.96 101.08,196.00
+ 101.08,196.00 105.45,225.00 105.45,225.00
+ 108.31,239.01 115.29,252.68 123.90,264.00
+ 136.86,281.04 157.21,293.39 178.00,298.11
+ 188.70,300.54 202.89,298.40 210.98,304.56
+ 222.59,313.38 221.84,332.30 209.00,339.64
+ 203.20,342.95 194.60,342.07 188.00,342.00
+ 180.39,341.91 168.41,339.51 161.00,337.42
+ 119.62,325.74 86.75,295.86 70.60,256.00
+ 70.60,256.00 66.29,243.00 66.29,243.00
+ 63.87,234.58 62.76,227.67 61.84,219.00
+ 60.14,203.20 59.71,189.94 78.00,184.53 Z`
+ ]
+} as never;
diff --git a/src/icons/Peerlist.ts b/src/icons/Peerlist.ts
new file mode 100644
index 0000000..19f4bcd
--- /dev/null
+++ b/src/icons/Peerlist.ts
@@ -0,0 +1,127 @@
+import { IconDefinition } from "@fortawesome/fontawesome-svg-core";
+
+export const Peerlist: IconDefinition = {
+ prefix: "xxx",
+ iconName: "yyy",
+ icon: [
+ 512,
+ 512,
+ [],
+ "U+E002",
+ `M 214.00,0.14
+ C 214.00,0.14 243.00,0.14 243.00,0.14
+ 243.00,0.14 291.00,0.14 291.00,0.14
+ 291.00,0.14 301.00,1.00 301.00,1.00
+ 301.00,1.00 311.00,1.00 311.00,1.00
+ 311.00,1.00 328.00,2.83 328.00,2.83
+ 375.51,7.58 421.85,17.89 457.91,51.42
+ 483.50,75.23 497.13,112.43 503.80,146.00
+ 507.93,166.77 510.12,187.89 511.04,209.00
+ 511.04,209.00 512.00,220.00 512.00,220.00
+ 512.59,270.71 513.41,322.24 502.42,372.00
+ 495.29,404.31 483.17,434.75 459.72,458.83
+ 437.47,481.67 407.37,493.82 377.00,501.37
+ 326.73,513.88 274.38,512.08 223.00,512.00
+ 223.00,512.00 208.00,511.00 208.00,511.00
+ 208.00,511.00 204.00,511.00 204.00,511.00
+ 204.00,511.00 166.00,507.13 166.00,507.13
+ 125.75,501.54 81.42,488.74 52.28,458.83
+ 18.32,423.96 7.84,375.75 2.84,329.00
+ 2.84,329.00 0.91,302.00 0.91,302.00
+ 0.91,302.00 0.00,290.00 0.00,290.00
+ 0.00,290.00 0.00,253.00 0.00,253.00
+ 0.00,253.00 0.00,223.00 0.00,223.00
+ 0.00,223.00 1.00,205.00 1.00,205.00
+ 1.00,205.00 6.59,155.00 6.59,155.00
+ 11.95,123.04 22.32,89.63 42.81,64.00
+ 74.31,24.60 121.91,10.61 170.00,4.28
+ 170.00,4.28 201.00,1.09 201.00,1.09
+ 201.00,1.09 214.00,0.14 214.00,0.14 Z
+ M 234.00,18.14
+ C 227.52,19.22 223.42,18.99 217.00,19.00
+ 217.00,19.00 205.00,20.04 205.00,20.04
+ 205.00,20.04 197.00,20.04 197.00,20.04
+ 149.57,24.69 92.98,33.42 60.44,72.00
+ 34.70,102.51 25.98,143.28 21.84,182.00
+ 21.84,182.00 19.00,224.00 19.00,224.00
+ 19.00,224.00 18.00,241.00 18.00,241.00
+ 18.00,241.00 18.00,273.00 18.00,273.00
+ 18.00,273.00 18.96,283.00 18.96,283.00
+ 18.96,283.00 18.96,297.00 18.96,297.00
+ 18.96,297.00 19.91,307.00 19.91,307.00
+ 19.91,307.00 24.92,353.00 24.92,353.00
+ 30.18,384.75 40.74,418.98 63.09,443.00
+ 93.04,475.19 139.93,485.66 182.00,490.16
+ 182.00,490.16 205.00,492.09 205.00,492.09
+ 205.00,492.09 215.00,493.04 215.00,493.04
+ 215.00,493.04 229.00,493.04 229.00,493.04
+ 229.00,493.04 241.00,494.00 241.00,494.00
+ 241.00,494.00 271.00,494.00 271.00,494.00
+ 271.00,494.00 283.00,493.04 283.00,493.04
+ 283.00,493.04 295.00,493.04 295.00,493.04
+ 295.00,493.04 307.00,492.09 307.00,492.09
+ 327.86,490.66 348.55,488.59 369.00,483.88
+ 398.65,477.06 426.42,466.49 447.96,444.00
+ 469.93,421.06 480.00,389.49 486.00,359.00
+ 490.02,338.59 492.97,308.77 493.00,288.00
+ 493.00,288.00 494.00,271.00 494.00,271.00
+ 494.00,271.00 494.00,241.00 494.00,241.00
+ 494.00,241.00 493.04,229.00 493.04,229.00
+ 493.04,229.00 493.04,217.00 493.04,217.00
+ 493.04,217.00 492.09,205.00 492.09,205.00
+ 490.82,186.52 489.06,168.22 485.40,150.00
+ 478.89,117.63 467.20,84.85 442.00,62.17
+ 412.18,35.33 368.80,25.99 330.00,21.84
+ 330.00,21.84 307.00,19.91 307.00,19.91
+ 307.00,19.91 295.00,18.96 295.00,18.96
+ 295.00,18.96 283.00,18.96 283.00,18.96
+ 283.00,18.96 271.00,18.14 271.00,18.14
+ 271.00,18.14 234.00,18.14 234.00,18.14 Z
+ M 156.00,101.00
+ C 156.00,101.00 231.00,101.00 231.00,101.00
+ 231.00,101.00 270.00,101.00 270.00,101.00
+ 304.65,101.05 338.60,117.93 361.91,143.00
+ 370.38,152.10 378.11,164.62 383.14,176.00
+ 398.86,211.57 395.05,254.17 374.58,287.00
+ 365.39,301.73 358.75,306.40 347.28,318.17
+ 331.52,334.35 322.21,343.76 301.00,353.14
+ 279.20,362.77 264.27,364.00 241.00,364.00
+ 241.00,364.00 241.00,411.00 241.00,411.00
+ 241.00,411.00 223.00,411.00 223.00,411.00
+ 223.00,411.00 223.00,429.00 223.00,429.00
+ 223.00,429.00 138.00,429.00 138.00,429.00
+ 138.00,429.00 138.00,119.00 138.00,119.00
+ 138.00,119.00 156.00,119.00 156.00,119.00
+ 156.00,119.00 156.00,101.00 156.00,101.00 Z
+ M 223.00,329.00
+ C 263.91,329.00 301.86,332.36 336.00,304.54
+ 349.16,293.81 359.70,280.51 366.69,265.00
+ 374.05,248.67 375.20,234.53 375.00,217.00
+ 374.56,179.46 346.33,143.35 313.00,128.31
+ 291.09,118.42 270.44,118.00 247.00,118.00
+ 247.00,118.00 207.00,118.00 207.00,118.00
+ 207.00,118.00 182.00,118.00 182.00,118.00
+ 180.01,118.00 176.19,117.77 174.60,119.02
+ 172.62,120.59 173.00,124.70 173.00,127.00
+ 173.00,127.00 173.00,332.00 173.00,332.00
+ 173.00,332.00 173.00,385.00 173.00,385.00
+ 173.02,393.64 173.36,393.98 182.00,394.00
+ 182.00,394.00 223.00,394.00 223.00,394.00
+ 223.00,394.00 223.00,329.00 223.00,329.00 Z
+ M 223.00,166.00
+ C 223.00,166.00 266.00,166.00 266.00,166.00
+ 306.49,166.06 336.49,205.40 321.39,244.00
+ 319.11,249.82 315.95,255.30 311.82,260.00
+ 300.28,273.13 284.59,280.92 267.00,281.00
+ 267.00,281.00 253.00,281.00 253.00,281.00
+ 253.00,281.00 223.00,281.00 223.00,281.00
+ 223.00,281.00 223.00,166.00 223.00,166.00 Z
+ M 241.00,202.00
+ C 241.00,202.00 241.00,255.00 241.00,255.00
+ 241.02,263.64 241.36,263.98 250.00,264.00
+ 258.53,264.02 277.96,264.47 284.58,259.01
+ 289.25,255.16 289.06,244.57 289.00,239.00
+ 288.79,221.67 275.23,207.53 259.00,203.16
+ 253.08,201.56 247.07,202.00 241.00,202.00 Z`
+ ]
+} as never;
diff --git a/src/icons/Polywork.ts b/src/icons/Polywork.ts
new file mode 100644
index 0000000..b43a791
--- /dev/null
+++ b/src/icons/Polywork.ts
@@ -0,0 +1,76 @@
+import { IconDefinition } from "@fortawesome/fontawesome-svg-core";
+
+export const Polywork: IconDefinition = {
+ prefix: "xxx",
+ iconName: "yyy",
+ icon: [
+ 225, // SVG view box width
+ 225, // SVG view box height
+ [],
+ "U+E002", // probably not important for SVG and JS approach
+ `M 153.00,155.00
+ C 153.00,177.49 155.16,201.18 134.00,215.78
+ 117.90,226.88 101.50,224.00 83.00,224.00
+ 83.00,224.00 57.00,224.00 57.00,224.00
+ 36.75,224.00 21.13,223.75 8.22,205.00
+ 5.78,201.46 3.67,197.12 2.44,193.00
+ 0.64,186.98 0.01,182.25 0.00,176.00
+ 0.00,176.00 0.00,49.00 0.00,49.00
+ 0.05,19.44 19.43,0.05 49.00,0.00
+ 49.00,0.00 176.00,0.00 176.00,0.00
+ 203.99,0.04 223.96,18.67 224.00,47.00
+ 224.00,47.00 224.00,89.00 224.00,89.00
+ 224.00,112.86 226.74,132.44 204.00,147.95
+ 200.27,150.49 196.33,152.29 192.00,153.56
+ 182.70,156.30 170.69,156.05 161.00,156.00
+ 157.55,155.98 156.36,155.95 153.00,155.00 Z
+ M 70.00,11.00
+ C 52.54,11.00 34.21,8.10 21.09,22.01
+ 17.77,25.54 15.22,29.35 13.77,34.00
+ 11.01,42.87 12.00,61.03 12.00,71.00
+ 12.00,71.00 70.00,71.00 70.00,71.00
+ 70.00,71.00 70.00,11.00 70.00,11.00 Z
+ M 141.00,71.00
+ C 141.00,71.00 141.00,19.00 141.00,19.00
+ 140.94,10.87 139.73,11.02 132.00,11.00
+ 132.00,11.00 82.94,11.00 82.94,11.00
+ 82.94,11.00 82.94,65.00 82.94,65.00
+ 82.65,71.56 84.51,70.99 91.00,71.00
+ 91.00,71.00 141.00,71.00 141.00,71.00 Z
+ M 212.00,71.00
+ C 212.00,71.00 212.00,46.00 212.00,46.00
+ 211.99,40.91 212.06,38.94 210.30,34.00
+ 200.99,7.84 175.95,12.00 154.00,12.00
+ 154.00,12.00 154.00,71.00 154.00,71.00
+ 154.00,71.00 212.00,71.00 212.00,71.00 Z
+ M 70.00,84.00
+ C 70.00,84.00 11.00,84.00 11.00,84.00
+ 11.00,84.00 11.00,136.00 11.00,136.00
+ 11.02,144.64 11.36,144.98 20.00,145.00
+ 20.00,145.00 70.00,145.00 70.00,145.00
+ 70.00,145.00 70.00,84.00 70.00,84.00 Z
+ M 141.00,84.00
+ C 141.00,84.00 83.00,84.00 83.00,84.00
+ 83.00,84.00 83.00,144.00 83.00,144.00
+ 83.00,144.00 141.00,144.00 141.00,144.00
+ 141.00,144.00 141.00,84.00 141.00,84.00 Z
+ M 212.00,84.00
+ C 212.00,84.00 154.00,84.00 154.00,84.00
+ 154.00,84.00 154.00,145.00 154.00,145.00
+ 176.30,145.00 201.22,148.17 210.45,122.00
+ 212.02,117.55 211.99,114.59 212.00,110.00
+ 212.00,110.00 212.00,84.00 212.00,84.00 Z
+ M 70.00,157.00
+ C 70.00,157.00 11.00,157.00 11.00,157.00
+ 11.00,177.94 8.44,201.56 33.00,210.30
+ 37.94,212.06 39.91,211.99 45.00,212.00
+ 45.00,212.00 70.00,212.00 70.00,212.00
+ 70.00,212.00 70.00,157.00 70.00,157.00 Z
+ M 141.00,158.00
+ C 141.00,158.00 83.00,158.00 83.00,158.00
+ 83.00,158.00 83.00,213.00 83.00,213.00
+ 83.00,213.00 106.00,213.00 106.00,213.00
+ 110.59,212.99 113.55,213.02 118.00,211.45
+ 143.85,202.34 141.00,180.01 141.00,158.00 Z`
+ ]
+} as never;
diff --git a/src/icons/Volunteer.ts b/src/icons/Volunteer.ts
new file mode 100644
index 0000000..dbd064f
--- /dev/null
+++ b/src/icons/Volunteer.ts
@@ -0,0 +1,183 @@
+import { IconDefinition } from "@fortawesome/fontawesome-svg-core";
+
+export const Volunteer: IconDefinition = {
+ prefix: "xxx",
+ iconName: "yyy",
+ icon: [
+ 800,
+ 798,
+ [],
+ "U+E002",
+ `M 369.00,0.21
+ C 369.00,0.21 423.00,0.21 423.00,0.21
+ 423.00,0.21 435.00,0.91 435.00,0.91
+ 480.07,4.06 524.94,15.89 566.00,34.69
+ 608.59,54.20 648.70,80.88 681.91,114.09
+ 681.91,114.09 689.04,122.00 689.04,122.00
+ 744.21,179.68 780.10,250.35 793.75,329.00
+ 795.84,341.01 799.98,377.55 799.96,389.00
+ 799.96,389.00 799.96,401.00 799.96,401.00
+ 799.96,401.00 799.00,411.00 799.00,411.00
+ 799.00,411.00 799.00,424.00 799.00,424.00
+ 799.00,424.00 798.09,434.00 798.09,434.00
+ 796.18,461.36 791.12,488.69 783.28,515.00
+ 767.34,568.47 741.19,613.80 706.20,657.00
+ 687.38,680.22 656.65,708.80 632.00,725.79
+ 625.02,730.60 622.97,730.16 620.28,731.93
+ 620.28,731.93 613.00,738.21 613.00,738.21
+ 613.00,738.21 599.00,746.57 599.00,746.57
+ 556.64,770.81 501.54,789.82 453.00,795.72
+ 427.94,798.76 402.25,798.29 377.00,798.00
+ 377.00,798.00 367.00,797.09 367.00,797.09
+ 344.92,795.54 318.29,791.85 297.00,785.85
+ 297.00,785.85 286.00,781.78 286.00,781.78
+ 286.00,781.78 278.00,780.10 278.00,780.10
+ 278.00,780.10 264.00,775.66 264.00,775.66
+ 226.39,762.60 184.34,739.01 153.00,714.58
+ 88.50,664.30 40.30,593.29 16.72,515.00
+ 7.01,482.76 1.05,448.68 1.00,415.00
+ 1.00,415.00 0.00,399.00 0.00,399.00
+ 0.00,399.00 0.00,386.00 0.00,386.00
+ 0.00,386.00 1.91,364.00 1.91,364.00
+ 4.61,325.33 13.92,286.04 28.20,250.00
+ 69.21,146.50 153.89,63.69 258.00,24.42
+ 282.20,15.30 309.43,8.22 335.00,4.27
+ 335.00,4.27 359.00,1.17 359.00,1.17
+ 359.00,1.17 369.00,0.21 369.00,0.21 Z
+ M 401.00,91.28
+ C 394.52,92.22 391.36,91.97 385.00,92.00
+ 385.00,92.00 353.00,95.27 353.00,95.27
+ 313.54,101.08 274.97,114.38 241.00,135.42
+ 241.00,135.42 212.00,155.35 212.00,155.35
+ 209.44,157.33 202.07,162.65 200.71,165.09
+ 198.21,169.54 204.20,174.18 207.00,177.00
+ 207.00,177.00 235.00,205.00 235.00,205.00
+ 235.00,205.00 306.00,276.00 306.00,276.00
+ 306.00,276.00 324.00,294.00 324.00,294.00
+ 326.43,296.43 330.64,301.14 334.00,301.90
+ 338.06,302.82 342.52,298.70 346.00,296.91
+ 350.15,294.78 352.51,295.01 357.00,295.00
+ 357.00,295.00 441.00,295.00 441.00,295.00
+ 443.61,295.00 446.49,294.89 449.00,295.65
+ 459.82,298.91 479.22,317.96 488.00,325.72
+ 494.82,331.74 493.43,330.92 499.09,337.00
+ 524.87,364.72 545.33,396.98 557.33,433.00
+ 561.89,446.67 566.83,467.67 567.00,482.00
+ 567.12,492.76 567.23,503.33 565.72,514.00
+ 565.04,518.78 562.18,527.73 563.74,532.00
+ 565.85,537.79 574.50,544.90 579.00,549.09
+ 579.00,549.09 605.00,575.00 605.00,575.00
+ 605.00,575.00 625.00,594.91 625.00,594.91
+ 627.41,597.11 630.45,600.14 633.91,598.27
+ 636.09,597.09 641.72,589.38 643.58,587.00
+ 651.47,576.86 658.60,566.02 665.20,555.00
+ 686.91,518.74 700.15,476.84 705.15,435.00
+ 705.15,435.00 707.09,413.00 707.09,413.00
+ 707.09,413.00 707.09,397.00 707.09,397.00
+ 707.09,397.00 707.09,388.00 707.09,388.00
+ 702.39,255.14 612.04,137.79 483.00,102.85
+ 463.36,97.53 444.19,94.76 424.00,92.83
+ 417.04,92.17 407.75,90.66 401.00,91.28 Z
+ M 333.00,173.00
+ C 340.67,173.43 344.75,176.62 351.00,180.66
+ 353.99,182.59 359.37,186.09 363.00,185.90
+ 368.27,185.63 373.85,178.62 377.17,175.00
+ 383.79,167.80 391.65,160.51 402.00,161.04
+ 412.91,161.61 419.27,171.98 429.00,175.15
+ 436.12,177.47 448.46,172.80 456.00,171.21
+ 459.79,170.41 466.47,168.69 467.64,174.11
+ 468.77,179.32 459.61,192.07 456.86,197.00
+ 448.92,211.22 435.53,237.53 432.00,253.00
+ 432.00,253.00 376.00,253.00 376.00,253.00
+ 364.56,252.98 366.17,249.64 360.14,236.00
+ 360.14,236.00 342.75,199.00 342.75,199.00
+ 338.30,190.08 333.23,183.21 333.00,173.00 Z
+ M 167.04,199.65
+ C 161.94,202.39 158.17,208.43 154.65,213.00
+ 146.44,223.65 136.99,238.09 130.75,250.00
+ 112.14,285.48 99.61,322.10 94.85,362.00
+ 94.85,362.00 93.00,383.00 93.00,383.00
+ 93.00,383.00 93.00,417.00 93.00,417.00
+ 93.24,437.49 99.91,469.27 105.98,489.00
+ 112.01,508.63 119.50,527.91 129.31,546.00
+ 129.31,546.00 143.67,569.00 143.67,569.00
+ 185.29,631.41 245.79,675.35 318.00,695.42
+ 336.37,700.53 355.00,703.70 374.00,705.09
+ 374.00,705.09 384.00,706.04 384.00,706.04
+ 384.00,706.04 398.00,706.04 398.00,706.04
+ 398.00,706.04 407.00,706.90 407.00,706.90
+ 407.00,706.90 424.00,705.17 424.00,705.17
+ 451.49,702.51 459.30,700.93 486.00,694.37
+ 486.00,694.37 496.00,692.37 496.00,692.37
+ 496.00,692.37 512.00,685.42 512.00,685.42
+ 531.68,676.89 536.15,675.06 555.00,663.99
+ 571.20,654.47 572.79,653.64 588.00,642.13
+ 590.62,640.15 598.82,634.69 599.70,631.91
+ 601.27,626.99 591.16,618.99 588.00,615.96
+ 588.00,615.96 556.00,584.00 556.00,584.00
+ 553.97,581.97 544.57,571.87 542.83,571.25
+ 538.60,569.74 527.54,580.43 524.00,583.10
+ 510.97,592.95 489.94,601.58 474.00,605.35
+ 458.43,609.02 442.90,611.00 427.00,612.09
+ 427.00,612.09 415.00,613.00 415.00,613.00
+ 415.00,613.00 385.00,613.00 385.00,613.00
+ 385.00,613.00 355.00,610.28 355.00,610.28
+ 315.40,605.41 272.06,591.54 249.44,556.00
+ 244.25,547.85 241.28,541.17 238.34,532.00
+ 235.37,522.72 233.02,508.74 233.00,499.00
+ 233.00,499.00 233.00,480.00 233.00,480.00
+ 233.04,451.21 250.10,408.55 264.80,384.00
+ 274.06,368.54 279.87,359.91 291.59,346.00
+ 294.18,342.93 302.39,334.91 301.98,331.00
+ 301.71,328.47 298.71,325.74 297.00,324.00
+ 297.00,324.00 282.00,310.00 282.00,310.00
+ 282.00,310.00 225.00,253.00 225.00,253.00
+ 225.00,253.00 185.04,213.00 185.04,213.00
+ 180.16,207.90 174.98,199.05 167.04,199.65 Z
+ M 357.00,261.74
+ C 362.72,260.35 377.34,261.00 384.00,261.00
+ 384.00,261.00 435.00,261.00 435.00,261.00
+ 439.06,261.01 443.34,260.74 446.61,263.65
+ 451.40,267.92 451.17,280.20 446.61,284.57
+ 442.51,288.50 434.33,288.06 429.00,288.00
+ 429.00,288.00 413.00,287.00 413.00,287.00
+ 413.00,287.00 403.00,287.95 403.00,287.95
+ 403.00,287.95 386.00,287.95 386.00,287.95
+ 386.00,287.95 376.00,287.04 376.00,287.04
+ 376.00,287.04 364.00,287.04 364.00,287.04
+ 360.74,286.99 356.98,287.29 354.21,285.26
+ 347.76,280.53 346.80,267.20 357.00,261.74 Z
+ M 454.00,407.00
+ C 453.95,391.01 445.11,376.53 431.00,368.90
+ 431.00,368.90 415.05,362.86 415.05,362.86
+ 409.17,359.38 411.17,354.32 408.41,351.98
+ 405.46,349.50 394.97,350.00 391.16,350.00
+ 391.00,351.94 390.89,356.32 391.16,358.00
+ 392.38,362.29 400.62,370.40 403.84,374.00
+ 403.84,374.00 424.00,395.00 424.00,395.00
+ 427.16,398.16 435.29,407.11 439.00,408.39
+ 442.08,409.45 450.38,407.48 454.00,407.00 Z
+ M 410.00,545.00
+ C 433.68,543.90 458.71,522.64 459.00,498.00
+ 459.03,495.25 459.21,490.47 458.26,488.00
+ 456.58,483.60 444.91,472.91 441.00,469.00
+ 441.00,469.00 392.00,420.00 392.00,420.00
+ 392.00,420.00 365.00,393.00 365.00,393.00
+ 362.74,390.74 357.57,384.58 354.10,385.45
+ 351.39,386.14 349.42,390.63 348.45,393.00
+ 345.07,401.28 345.96,409.21 346.00,418.00
+ 346.07,433.59 353.45,446.21 366.00,455.25
+ 370.26,458.32 374.19,460.50 379.00,462.57
+ 382.60,464.12 386.99,465.36 388.98,469.05
+ 390.19,471.30 390.00,474.49 390.00,477.00
+ 390.00,477.00 390.00,513.00 390.00,513.00
+ 381.30,507.46 375.61,499.25 374.00,489.00
+ 374.00,489.00 351.00,490.97 351.00,490.97
+ 348.18,491.12 343.87,490.90 342.02,493.51
+ 339.48,497.11 343.57,508.12 345.06,512.00
+ 352.06,530.24 370.17,544.94 390.00,545.00
+ 390.00,545.00 390.00,559.00 390.00,559.00
+ 390.00,559.00 410.00,559.00 410.00,559.00
+ 410.00,559.00 410.00,545.00 410.00,545.00 Z`
+ ]
+} as never;
diff --git a/src/index.html b/src/index.html
deleted file mode 100644
index 60c1cab..0000000
--- a/src/index.html
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-
- Naomi Carrigan | Software Engineer and Community Manager
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/main.ts b/src/main.ts
deleted file mode 100644
index 45d3bd2..0000000
--- a/src/main.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { bootstrapApplication } from "@angular/platform-browser";
-
-import { AppComponent } from "./app/app.component";
-import { appConfig } from "./app/app.config";
-
-bootstrapApplication(AppComponent, appConfig).catch((err) => alert(err));
diff --git a/src/polyfills.ts b/src/polyfills.ts
deleted file mode 100644
index 0481066..0000000
--- a/src/polyfills.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * This file includes polyfills needed by Angular and is loaded before the app.
- * You can add your own extra polyfills to this file.
- *
- * This file is divided into 2 sections:
- * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
- * 2. Application imports. Files imported after ZoneJS that should be loaded before your main
- * file.
- *
- * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
- * automatically update themselves. This includes recent versions of Safari, Chrome (including
- * Opera), Edge on the desktop, and iOS and Chrome on mobile.
- *
- * Learn more in https://angular.io/guide/browser-support.
- */
-
-/***************************************************************************************************
- * BROWSER POLYFILLS
- */
-
-/**
- * By default, zone.js will patch all possible macroTask and DomEvents
- * user can disable parts of macroTask/DomEvents patch by setting following flags
- * because those flags need to be set before `zone.js` being loaded, and webpack
- * will put import in the top of bundle, so user need to create a separate file
- * in this directory (for example: zone-flags.ts), and put the following flags
- * into that file, and then add the following code before importing zone.js.
- * Import './zone-flags';
- *
- * The flags allowed in zone-flags.ts are listed here.
- *
- * The following flags will work for all browsers.
- *
- * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
- * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
- * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames.
- *
- * In IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
- * with the following flag, it will bypass `zone.js` patch for IE/Edge.
- *
- * (window as any).__Zone_enable_cross_context_check = true;.
- *
- */
-
-/***************************************************************************************************
- * Zone JS is required by default for Angular itself.
- */
-import "zone.js"; // Included with Angular CLI.
-
-/***************************************************************************************************
- * APPLICATION IMPORTS
- */
diff --git a/src/styles.css b/src/styles.css
deleted file mode 100644
index 5632d76..0000000
--- a/src/styles.css
+++ /dev/null
@@ -1,60 +0,0 @@
-:root {
- --bg: #000c0f;
- --text: #abfcec;
-}
-
-html::before {
- background: url(https://cdn.nhcarrigan.com/background.png);
- background-size: cover;
- background-position: center;
- width: 100%;
- height: 100%;
- z-index: -1;
- content: "";
- position: fixed;
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
- opacity: 1;
- pointer-events: none;
-}
-
-@font-face {
- font-family: "odudo";
- src: url("/assets/fonts/odudo.otf");
- font-display: swap;
-}
-
-* {
- box-sizing: border-box;
- margin: 0;
- padding: 0;
- font-family: "odudo", Courier, monospace;
-}
-
-a,
-a:visited {
- color: var(--text);
-}
-
-html {
- color: var(--text);
- text-align: center;
-}
-
-.content {
- background-color: #006064cc;
-}
-
-h1 {
- font-size: 3rem;
-}
-
-h2 {
- font-size: 2.5rem;
-}
-
-p {
- font-size: 2rem;
-}
diff --git a/src/test.ts b/src/test.ts
deleted file mode 100644
index 5f8bbb9..0000000
--- a/src/test.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-// This file is required by karma.conf.js and loads recursively all the .spec and framework files
-
-import "zone.js/testing";
-import { getTestBed } from "@angular/core/testing";
-import {
- BrowserDynamicTestingModule,
- platformBrowserDynamicTesting
-} from "@angular/platform-browser-dynamic/testing";
-
-// First, initialize the Angular testing environment.
-getTestBed().initTestEnvironment(
- BrowserDynamicTestingModule,
- platformBrowserDynamicTesting()
-);
diff --git a/tailwind.config.ts b/tailwind.config.ts
new file mode 100644
index 0000000..4bcd552
--- /dev/null
+++ b/tailwind.config.ts
@@ -0,0 +1,12 @@
+import type { Config } from "tailwindcss";
+
+const config: Config = {
+ content: [
+ "./src/pages/**/*.{js,ts,jsx,tsx,mdx}",
+ "./src/components/**/*.{js,ts,jsx,tsx,mdx}",
+ "./src/app/**/*.{js,ts,jsx,tsx,mdx}",
+ ],
+ plugins: [],
+ darkMode: "dark"
+};
+export default config;
diff --git a/tsconfig.app.json b/tsconfig.app.json
deleted file mode 100644
index 83eeccc..0000000
--- a/tsconfig.app.json
+++ /dev/null
@@ -1,10 +0,0 @@
-/* To learn more about this file see: https://angular.io/config/tsconfig. */
-{
- "extends": "./tsconfig.json",
- "compilerOptions": {
- "outDir": "./out-tsc/app",
- "types": []
- },
- "files": ["src/main.ts", "src/polyfills.ts"],
- "include": ["src/**/*.d.ts"]
-}
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
index 678336b..7b28589 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,32 +1,26 @@
-/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
- "compileOnSave": false,
"compilerOptions": {
- "outDir": "./dist/out-tsc",
- "forceConsistentCasingInFileNames": true,
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "allowJs": true,
+ "skipLibCheck": true,
"strict": true,
- "noImplicitOverride": true,
- "noPropertyAccessFromIndexSignature": true,
- "noImplicitReturns": true,
- "noFallthroughCasesInSwitch": true,
+ "noEmit": true,
"esModuleInterop": true,
- "sourceMap": true,
- "declaration": false,
- "experimentalDecorators": true,
- "moduleResolution": "node",
- "importHelpers": true,
- "target": "ES2022",
- "module": "ES2022",
- "useDefineForClassFields": false,
- "lib": [
- "ES2022",
- "dom"
- ]
+ "module": "esnext",
+ "moduleResolution": "bundler",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "jsx": "preserve",
+ "incremental": true,
+ "plugins": [
+ {
+ "name": "next"
+ }
+ ],
+ "paths": {
+ "@/*": ["./src/*"]
+ }
},
- "angularCompilerOptions": {
- "enableI18nLegacyMessageIdFormat": false,
- "strictInjectionParameters": true,
- "strictInputAccessModifiers": true,
- "strictTemplates": true
- }
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
+ "exclude": ["node_modules"]
}
diff --git a/tsconfig.spec.json b/tsconfig.spec.json
deleted file mode 100644
index 669344f..0000000
--- a/tsconfig.spec.json
+++ /dev/null
@@ -1,10 +0,0 @@
-/* To learn more about this file see: https://angular.io/config/tsconfig. */
-{
- "extends": "./tsconfig.json",
- "compilerOptions": {
- "outDir": "./out-tsc/spec",
- "types": ["jasmine"]
- },
- "files": ["src/test.ts", "src/polyfills.ts"],
- "include": ["src/**/*.spec.ts", "src/**/*.d.ts"]
-}