-
-
CodeCraft Landing Page: A platform that transforms code repositories into interview-ready career materials.
-
Interactive onboarding experience - Step-by-step guided tour walking users through the site
-
Portfolio analysis - Get scored on 5 key metrics: project quality, documentation, tech diversity, professionalism, and consistency
-
Projects Page: Sync all repositories and generate AI-powered STAR stories, resume bullets, and professional READMEs with one click.
-
Interview generation: Choose from technical, behavioural, system design, mixed, or project-based interviews
-
Voice-powered mock interviews with AI feedback - Practice technical and behavioural questions in real-time
The Problem I Couldn't Ignore
After graduating, I dived headfirst into the job market jungle. It really was survival of the fittest, but I quickly realised I was missing a critical skill: being able to articulate my own work. I had projects, code, and experience. But when it came to putting them on my resume or explaining them in interviews? Crickets.
My first interview was the wake-up call. The interviewer asked a question that one of my projects answered perfectly. I knew I had built something relevant, but it had been so long ago that the details were fuzzy. I fumbled through the explanation, unsure how much technical depth to include, what to leave out, or how to sell my skills without sounding like I was overselling. I walked out knowing I had the right experience but completely botched the delivery.
Meanwhile, my TikTok and YouTube feeds were flooded with advice: "Your GitHub is your portfolio!" "Employers want to see your code!" "Document everything!" The advice was overwhelming. There were dozens of tutorials for different things, all telling me my GitHub mattered but none telling me how to actually leverage it for interviews.
I thought: This should be easier.
Manual Approach
I tried doing it the "right" way. I sat down to write STAR stories for all my projects manually. Situation, Task, Action, Result. Seems simple enough, right? Wrong.
For recent projects, it was tedious but doable. For older projects? Painful. I'd open repos from months or years ago with zero documentation, trying to remember what problem I was solving, what tech I used, and why I made certain decisions. The code was all there, but my memory wasn't. I was essentially digging through my own work, and it was exhausting.
That's when it hit me: the code remembers what I forgot.
The Lightbulb Moment
I'd been using AI tools to analyse PDFs and documents for other tasks. ChatGPT could summarise articles, extract insights, and answer questions about uploaded files. Why couldn't AI do the same thing for GitHub repos?
The code is all there. The commit history, the file structure, the dependencies, and the README (if I even wrote one). AI could read all of that and tell the story I couldn't remember.
I hadn't seen anyone build this for GitHub specifically. The idea felt both obvious and unexplored. But I wasn't sure I could pull it off alone. I'm comfortable with Next.js and Supabase, but this felt bigger than anything I'd tackled solo.
That's where Kiro came in as my co-developer.
Building with Kiro
Kiro didn't just help me write code it helped me think through the entire product. While I sketched wireframes and frontend designs, Kiro converted them into functional Next.js pages and suggested the backend architecture and API structure I'd need. The spec feature was a game-changer: it helped me visualise and articulate what I wanted the finished project to look like, turning my quick shower idea into a full-fledged startup concept.
Kiro covered my shortcomings. When I wasn't sure how to structure an API route or optimise a database query, it suggested solutions. When I wanted to learn by doing, it gave me detailed instructions so I could implement features myself. My Next.js confidence went from "I can build a basic app" to "I understand how this framework actually works" thanks to Kiro explaining the changes it made and why.
But it wasn't all smooth sailing.
Voice Interviews
The voice interview feature was my biggest "oh no" moment. I had grand visions: an AI interviewer that could ask questions about your projects, listen to your answers, and give feedback. It sounded amazing in my head. In practice? Brutal.
I found a tutorial for integrating Vapi (a voice API), but it was outdated. The current documentation had changed, and I was stuck trying to map old functionality to new APIs. I spent hours debugging, pulling my hair out, wondering if I should just cut the feature entirely.
Kiro saved me. Using MCP servers, it helped me understand the current Vapi documentation and find equivalent functionality from the outdated tutorial. It bridged the gap between what I was trying to do and how to actually do it with the latest API. Slowly, piece by piece, the voice interview came together.
When I finally deployed to Vercel and tested it on my own projects including ones I'd completely forgotten about it worked. The AI generated STAR stories. It wrote professional READMEs. It improved my portfolio score. And the voice interview? It asked me questions, listened, and gave feedback.
I felt like all the hair I'd pulled out was worth it.
What I Learned (And How I Grew)
This hackathon levelled me up in ways I didn't expect:
- Technical skills: My Next.js and Supabase confidence skyrocketed. I learnt to integrate voice APIs, work with the GitHub API, and build AI-powered features from scratch.
- Self-confidence: I learnt to have more faith in myself as a developer. I can build complex, ambitious projects even when I don't know how at the start.
- Interview skills: Testing CodeCraft on myself actually improved my interview performance. Practising with the AI interviewer, reading the generated STAR stories, and seeing my projects framed professionally, it all made me better at talking about my work.
The light at the end of the job-searching tunnel got a little brighter.
The Frankenstein Integration
CodeCraft is a chimera of five seemingly incompatible technologies stitched together into one cohesive platform:
1. GitHub API - Repository analysis and code extraction
2. OpenAI GPT-4o-mini - AI content generation and portfolio analysis
3. Supabase - Authentication, database, and real-time features
4. Vapi - Voice AI for interview simulation
5. GitHub Pages - Automated portfolio deployment
Each technology serves a distinct purpose, but together they create something unexpectedly powerful: a complete career readiness pipeline that takes raw code and transforms it into interview success.
But CodeCraft orchestrates all five into a single, seamless experience where:
- GitHub repos are analysed
- OpenAI generates career content
- Supabase stores everything
- Vapi conducts voice interviews
- GitHub Pages deploys your portfolio
That's the Frankenstein magic: taking incompatible parts and creating something more powerful than the sum of its pieces.
What's Next for CodeCraft
This isn't just a hackathon project. CodeCraft is something I'm continuing to develop because I genuinely believe developers need this.
Upcoming features:
- LinkedIn integration: Sync your profile, optimize your headline and summary based on your GitHub work
- Personalized job matching: Job postings tailored to your skills, experience, and portfolio score
Most importantly, I'm listening to the people CodeCraft was built for, developers like me who code first and market later. I want to hear what they need and build it.
The Irony
I built CodeCraft to help me articulate my projects in interviews. And now, CodeCraft itself is the project I'm most excited to talk about. The tool solved its own problem.
Built With
- github
- next.js
- openai
- supabase
- tailwindcss
- vapi
- vercel
Log in or sign up for Devpost to join the conversation.