blob: 7158e271c5b91e91415f2ecff6c7467849a3b8ce [file] [log] [blame]
Samuel Shuert8629d792024-02-07 17:41:02 -05001import Work from "@/components/work";
2
3const summary = `
4 I'm a 20, going on 21, year old developer who's been programming since I was 11. I started with Python and have since taken my skills to both NodeJS and Rust.
5 I'm eager to make your acquaintance and put my skills to use in a collaborative environment.
6`
7
8export default function Home() {
9 return (
10 <main className={`flex min-h-screen ${process.env.PRODUCTION ? "w-1/2" : "w-full"} flex-col items-center p-2`}>
11 <div id="info" className="flex h-fit gap-2 my-2 justify-between w-full">
12 <div className="flex flex-col text-sm">
13 <h1 className="text-sm">Delaware, USA</h1>
14 <a href="mailto:coded@clicks.codes"><p>coded@clicks.codes</p></a>
15 </div>
16 <h1 className="text-2xl pl-40">Samuel Shuert</h1>
17 <div className="flex flex-col text-sm text-right">
18 <a href="https://linkedin.com/in/samuelshuert"><p className="underline">linkedin.com/in/samuelshuert</p></a>
19 <a href="https://github.com/TheCodedProf"><p className="underline">github.com/TheCodedProf</p></a>
20 <a href="https://git.clicks.codes/q/owner:coded"><p className="underline">git.clicks.codes/q/owner:coded</p></a>
21 <a href="https://app.codecrafters.io/users/TheCodedProf"><p className="underline">app.codecrafters.io/users/TheCodedProf</p></a>
22 </div>
23 </div>
24
25 <h1 className="self-start text-xl">Summary</h1>
26 <hr className="w-full border-t border-t-black mb-2"/>
27
28 <p className="text-sm mb-8 pl-4 text-left w-full">
29 {summary}
30 </p>
31
32 <h1 className="self-start text-xl">Work Experience</h1>
33 <hr className="w-full border-t border-t-black"/>
34
35 <div id="experience" className="flex flex-col h-fit gap-8 my-2 w-full mb-16">
36
37 <Work jobTitle={"Developer"} area={"Infrastructure"} projectName={"Clicks Nix"} dateFrom={"Aug 2022"} dateTo={"Current"} obsolete={false} >
38 <li>
39 Nix configuration for Clicks servers.
40 </li>
41 <li>
42 Responsible for general mainenance and major updates, depends on current needs.
43 </li>
44 <li>
45 Written in Nix
46 </li>
47 </Work>
48
49 <Work jobTitle={"Developer"} area={"Backend"} projectName={"Nucleus"} dateFrom={"Sep 2020"} dateTo={"Sep 2023"} obsolete={false}>
50 <li>Nucleus (Feb 2023 - Sep 2023)</li>
51 <ul className="ml-8 mt-2 list-disc text-sm mb-4">
52 <li>
53 Discord moderation bot. Rewritten with TypeScript.
54 </li>
55 <li>
56 I was responsible for database read/write and slash command registration.
57 </li>
58 <li>
59 Used Node.JS (w/ TypeScript), discord.js and MongoDB
60 </li>
61 </ul>
62 <li>Remote Server Management (RSM) Version 2 (Jan 2021 - Jan 2022)</li>
63 <ul className="ml-8 mt-2 list-disc text-sm mb-4">
64 <li>
65 Discord moderation bot. Additional features including NSFW image detection and checking for malware.
66 </li>
67 <li>
68 I was responsible for the guild settings flow, tesseract flow and clamav flow.
69 </li>
70 <li>
71 Used Python, discord.py and JSON
72 </li>
73 </ul>
74 <li>Remote Server Management (RSM) Version 1 (Sep 2020 - Jan 2021)</li>
75 <ul className="ml-8 mt-2 list-disc text-sm">
76 <li>
77 Discord moderation bot. Featuring readable UI and extra moderation features Discord does not have like tempbans.
78 </li>
79 <li>
80 I was responsible for the guild settings flow.
81 </li>
82 <li>
83 Used Python, discord.py and JSON
84 </li>
85 </ul>
86 </Work>
87
88 <Work jobTitle={"Developer"} area={"Backend"} projectName={"Innuendo"} dateFrom={"Jul 2020"} dateTo={"Current"} obsolete={false}>
89 <li>Innuendo (Dec 2023 - Current)</li>
90 <ul className="ml-8 mt-2 list-disc text-sm">
91 <li>
92 Cardboard Against Humankind remade in Rust
93 </li>
94 <li>
95 I'm the main developer for this project, in charge of coordinating other people the main game loop code.
96 </li>
97 <li>
98 Uses Rust, Serenity-rs + Poise, and Postgres
99 </li>
100 </ul>
101 <li>Cardboard Against Humankind (Jul 2020 - Sep 2021)</li>
102 <ul className="ml-8 mt-2 list-disc text-sm">
103 <li>
104 A Cards Against Humanity discord bot. Was invited to 2000+ servers and had ~400 congruent games at peak times.
105 </li>
106 <li>
107 I was responsible for writing the game loop and discord interactions.
108 </li>
109 <li>
110 Used Python, discord.py and JSON
111 </li>
112 </ul>
113 </Work>
114
115 <Work jobTitle={"Lead Developer"} area={"Full Stack"} projectName={"Infinite Stories"} dateFrom={"Oct 2021"} dateTo={"Jun 2022"} obsolete={true} >
116 <li>
117 Website that allowed writers to publish excerpts from their books online to get feedback
118 </li>
119 <li>
120 I was responsible for full website design, component creation, read/write to supabase,
121 </li>
122 <li>
123 Used Next.JS for web development and Supabase for storage
124 </li>
125 </Work>
126 </div>
127
128 <h1 className="self-start text-xl">Certifications</h1>
129 <hr className="w-full border-t border-t-black"/>
130
131 <div id="skills" className="flex flex-col h-fit gap-2 my-2 w-full mb-16">
132 <p className="text-sm"><strong>CodeCrafters: </strong>HTTP Server (Rust)</p>
133 </div>
134
135 <h1 className="self-start text-xl">Skills</h1>
136 <hr className="w-full border-t border-t-black"/>
137
138 <div id="skills" className="flex flex-col h-fit gap-2 my-2 w-full">
139 <p className="text-sm"><strong>Languages: </strong>TypeScript, JavaScript, Rust, Nix, Python</p>
140 <p className="text-sm"><strong>Tools: </strong>MongoDB, Postgres, Supabase, Next.JS, Vercel, Git, Gerrit, GitHub, Google Cloud, Cloudflare (DNS, Workers, Zero Trust, cloudflared), AWS, Nix</p>
141 </div>
142 </main>
143 );
144}