Inspiration

As a developer, I've always found it tedious to read pages of API documentation just to write 10 lines of boilerplate code. During a hackathon, this wasted time is critical. I was inspired to build a tool that accelerates this process: APIScribe.

The idea was to create a "developer-first" productivity tool that could take a plain-English request (like "a fetch request to POST /users") or a cURL command and instantly generate the complete, copy-paste-ready code in multiple languages.

How I Built It

I built APIScribe as a full-stack, AI-powered application using a professional monorepo structure.

  • The Backend is a powerful Spring Boot API written in Java. It has one job: to securely manage the AI prompt and call the OpenAI API.
  • The Frontend is a modern, responsive React application built with Tailwind CSS. It provides a clean, fast interface for the user.
  • The "Brain" is the OpenAI gpt-4o API, which I prompt-engineered to return perfectly formatted JSON objects containing the code snippets.
  • The Deployment is fully CI/CD. The frontend is live on Vercel, and the Spring Boot backend is hosted on Railway.

Challenges I faced

This was a huge learning project for me. The biggest challenge was deployment.

  1. Local Environment: I first ran into platform-specific issues with my local mvnw and npm environments, which forced me to learn how to debug PATH issues and run my Spring app directly from my IDE.
  2. Hosting a Spring App: My initial attempt to deploy the backend to Render failed because it didn't support Java on its free tier. This taught me to read documentation carefully. I successfully pivoted to Railway, which had first-class Spring Boot support.
  3. CORS: I hit the classic "CORS policy" error. This was a critical challenge that taught me how to configure my Spring backend to securely allow requests from my live Vercel frontend, while still allowing localhost for testing.

What I learned

This project was a crash course in modern, end-to-end development. I learned:

  • How to build a secure, full-stack application.
  • The vital importance of environment variables for API keys.
  • How to build a professional-looking UI with Tailwind CSS.
  • How to deploy a monorepo with two different services (React on Vercel, Spring on Railway) and connect them.
  • Most importantly, I learned how to debug and problem-solve complex deployment and configuration issues under a time limit.

Built With

Share this project:

Updates