Startup-ready engineering range
I study Computer Science at SFSU while building across TypeScript, JavaScript, Python, Java, C/C++, SQL, React, Next.js, NestJS, Flask, Zod, OpenCV, YOLOv8, Firebase, Supabase, and PostgreSQL.
Josue Cruz
CS @ SFSU / Outreach Chair @ SF Hacks
I don't wait for internships to build production experience. I'm Josue Cruz, a Computer Science student at San Francisco State University who has shipped embedded prototypes, full-stack IoT applications, and production TypeScript contributions while looking for the next hard problem to solve.
About
I study Computer Science at SFSU while building across TypeScript, JavaScript, Python, Java, C/C++, SQL, React, Next.js, NestJS, Flask, Zod, OpenCV, YOLOv8, Firebase, Supabase, and PostgreSQL.
Hackathons, CodeDay work, and teaching support have trained me to scope quickly, test fast, document decisions, review code, and create clear API or hardware handoffs so teammates can build in parallel.
I like projects where the technology has a clear user: safer navigation for visually impaired people, pet-behavior telemetry before damage happens, live climate recommendations, or validation that makes developer workflows sturdier.
Selected Projects
01 / 05
Technology Stack
Startup Build Pattern
I look for the specific moment where a person gets stuck, then shape the prototype around what would make that moment safer, clearer, or faster.
Whether it is a sensor reading, API response, dashboard update, or model output, I try to get the core loop working early so the team can test reality instead of guessing.
Good notes, clear setup steps, and honest tradeoff calls help a small team move quickly without losing the context that made the prototype work.
Writing
Notes on open-source contributions, contributor communication, and the professional lessons I am building through real engineering work.
I started with openwall/john issue #3896, a maintenance issue titled "Consistently (don't) split long source file lines." At first glance it looked like a formatting task. Once I read deeper, it became a lesson in how small style decisions can affect portability, readability, and contributor trust inside a mature C codebase.
The issue called out a long OpenBSD-SoftRAID test vector that had been split with backslash continuations. The maintainer proposed a safer approach: close the string on one line, reopen it on the next, and let the compiler concatenate adjacent string constants. That avoids depending on details like trailing whitespace. The second part of the issue was consistency: if one long source line is split, similarly long lines across the project should be handled with the same rule.
My first draft built on magnumripper's earlier PR #3908. I focused on
src/openbsdsoftraid_variable_code.h, split long test vectors into adjacent string
constants, and experimented with an .editorconfig line-length rule. I originally aimed
for short 80-character splits around delimiter boundaries because that felt readable to me.
The maintainer feedback helped me recalibrate. The project did not want a broad delimiter-based refactor, and it did not want lines split that aggressively. The better target was closer to the existing project discussion: roughly 2000 characters per line for these huge vectors, with changes scoped to the original issue instead of expanding the problem.
I tested the OpenBSD-SoftRAID format with
./john --test --format=openbsd-softraid, and the benchmark completed successfully. The
bigger win was learning how to turn maintainer feedback into a better contribution: read the history,
stay inside the issue's scope, preserve behavior, and ask clarifying questions early when style and
maintainability are part of the bug.
Keyshade.io is an open-source secrets and configuration management platform. My CodeDay work focused on making auth and product text validation more consistent across shared TypeScript schemas and platform UI flows.
The work focused on how user input moved from UI components into shared request payloads. Email, OTP, device details, project names, titles, and metadata all needed predictable validation behavior before data moved deeper into auth and product workflows.
I focused on the platform side first and looked for component entry points where user-provided text
moved into request helpers. That led to account and OTP flows, email helpers, device-detail schemas,
and shared validation primitives in the @keyshade/schema package.
The branch introduced centralized Zod schemas, including email, OTP, encrypted device data, IP address, metadata, title, and alphanumeric variants. Instead of writing one-off checks inside every component, the validation rules lived in the shared schema package and could be reused by auth, platform, and project request shapes.
On the frontend, OTP and email flows used schema parsing before sending requests, disabling invalid submissions and surfacing clearer feedback. The larger product idea was consistency: shared validation improves feedback and keeps request shapes aligned across the app.
The work also had a collaboration layer. A maintainer pointed out overlap with Keyshade issue #929, which described unicode values being accepted and then stripped into broken slugs. We clarified how our work related to the existing thread, asked where helper logic should live, and kept changes reviewable through focused commits and technical notes.
Resume
Computer Science student at SFSU with production TypeScript contributions, full-stack IoT applications, embedded prototypes, teaching support, and hackathon leadership experience.
B.S. Computer Science, expected May 2028
GPA: 3.6
Dean's Honor List, 2024-2025
Coursework: Data Structures & Algorithms, Object-Oriented Programming, Computer Architecture, Assembly Language, Linear Algebra.
Support sponsor and partnership outreach for a student hackathon projected to serve 400+ participants, coordinating partner tracking, sponsor deliverables, and internal handoffs.
Contributed 10+ commits to a production TypeScript monorepo, improving authentication validation, reusable schemas, and user-facing error handling.
Built 15 reusable Zod schemas and collaborated in a 4-developer codebase with 750+ stars and 260+ forks.
Submitted 11 accepted bug reports across 2 pre-release updates, documenting reproduction steps, severity, expected and actual behavior, screenshots, recordings, and retest results.
Supported 120+ students in Java and introductory computing through tutoring, debugging help, assignment review, and code guidance.
Reviewed 70+ assignments and helped students improve Java fundamentals and object-oriented problem-solving.
Trained 2 new partners and supported high-volume rush shifts through task prioritization, teamwork, customer communication, and calm issue resolution.
IBM, issued Jun 2026. Credential ID: 76cded70500c4159b05d3724fc0cec7b.
HackStorm 2.0, awarded May 2026 for Smart Cane.
San Francisco State University, issued May 2026.
Covered federated learning, Flower Framework + Python, and privacy and ethics in ML applications.
IBM, issued May 2026.
Atlassian, issued May 2026.
Student Volunteer, The City Eats Inc., Feb 2026 - Present.
Google, issued Sep 2023. Credential ID: FN6XXG5SN9TS.
Google, issued Aug 2023. Credential ID: 4T3ZP5EZSXMD.
Contact
I am looking for internships with startup teams building practical software, AI, IoT, accessibility, or developer-tool products.
Email is the best way to reach me for startup internships, software roles, open-source work, or hackathon community partnerships.
Mini Game
Mini Game