Portfolio · Frontier
Harshal Patil
Full Stack Developer & AI Architect
Building real-world web applications, AI-powered tools, and cloud infrastructure that solve actual problems.
Approach
A study in form.
Exploring the boundary between digital aesthetics and execution.
Powered by logic.
Engineering high-scale cloud, real-time web products, and AI systems.
Forged to solve.
Interactive portfolio artifacts by Harshal Patil.
Selected work
Six projects
Each of these is a district in Frontier, the 3D city this portfolio is built as. Read them here, or walk to them.
Genora Tower
Genora AI Suite
A production-grade Next.js platform with eight native AI tools under one roof, on custom Firestore real-time state.
Genora is the largest thing I have built, and it is the reason the tallest building in this city has my product’s name on it.
It is a premium, production-grade Next.js ecosystem containing eight advanced AI-powered tools, each of which would be a reasonable product on its own:
- GENxCode — a developer suite covering more than 40 languages.
- Chat with PDF — document intelligence over uploaded files.
- Social Media Studio — copy and asset generation for post workflows.
- SEO Generator — structured metadata and content briefs.
- Résumé Builder — structured document generation.
- Math Solver — step-by-step working, not just answers.
The part I am actually proud of
Not the tools — the state layer underneath them.
Eight tools that each stream results, hold session history and need to stay responsive while work is in flight is a state-management problem long before it is an AI problem. I built a custom Firestore state-management layer so that every tool gets real-time interactivity without each one reinventing its own subscription handling, optimistic updates and cleanup.
That is the work. The model calls are the easy part; keeping eight independently-streaming surfaces coherent in one app, on one auth session, with one billing context, is where the engineering went.
Stack decisions
Next.js 15 and React 19 for the app shell and server components. TypeScript throughout — with eight tools sharing one state layer, the types are the only thing stopping a refactor in one tool from silently breaking another. Firebase for auth and Firestore for state. TailwindCSS so the eight tools look like one product instead of eight.
It is fully responsive, because a developer tool that does not work on the phone in your hand at 11pm is a tool you will not reach for.
Cloud Yard
AWS Cloud Architecture
An end-to-end production deployment across six AWS services, built and maintained rather than followed from a tutorial.
Cloud Yard is the district where the server stacks are labelled with the services they stand for, because this project is infrastructure rather than an interface.
An end-to-end, production-grade cloud deployment on AWS:
| Service | Job |
|---|---|
| EC2 | Application compute. |
| RDS | Managed relational database, so backups and failover are not my cron job. |
| S3 | Object storage for static assets and uploads. |
| CloudFront | CDN in front of the origin — the thing that makes it fast outside one region. |
| Route 53 | DNS and record management. |
| ACM | TLS certificates, issued and renewed automatically. |
Why six services and not one
Any one of these is a tutorial. Wiring all six into a system that stays up is a different exercise, and it is the one worth talking about in an interview.
The interesting problems were never “how do I launch an EC2 instance.” They were the seams: getting CloudFront to cache what should be cached and pass through what must not be, getting ACM’s validation to actually complete against Route 53’s records, putting RDS somewhere that is reachable by the app and by nothing else, and deciding what belongs on S3 versus what belongs in the database.
What I took away from it
Infrastructure work is mostly about failure modes. The deployment that matters is not the one that works on the day you build it — it is the one that still works after a certificate expires, a region has a bad hour, or traffic arrives from somewhere you did not plan for.
That instinct is the direct reason the game layer of this portfolio has an eight-step performance bail-out ladder and a guaranteed HTML fallback underneath it. Same habit, different stack.
BugToBuild Workshop
BugToBuild
My engineering workspace and toolchain — the place where a reported bug becomes a shipped build.
The Workshop is the one district with tools on the bench instead of a product in the window, because BugToBuild is not a product. It is the umbrella my own engineering work lives under — the workspace, the toolchain, and the habits.
Every other project in this city was built inside it. Including this city.
Why it has a name at all
Naming your workspace sounds like an affectation until you have four projects running at once and a scattered set of one-off scripts you rewrite every time.
Giving it a name forced a decision: anything I have solved twice gets promoted out of the project it started in and into the shared workspace, with a real interface and a real place to live. Anything I have solved once stays where it is. That single rule is most of what separates a toolchain from a folder of scripts.
What lives in here
Scaffolding and project bootstrapping, local automation for the repetitive parts of setup and deploy, and the shared TypeScript configuration and conventions that every project inherits so I am not re-deciding the same things monthly.
The name is the method
A bug report is the cheapest specification you will ever be handed. It is a reproducible statement about a gap between what the system does and what it should do — which is exactly the thing a feature request usually is not.
So the pipeline runs one way: bug, to reproduction, to the smallest change that closes it, to a build. Not “bug to patch.” Bug to build — because if closing it did not leave the thing shippable, it is not closed.
Ancestriq Archive
Ancestriq
An AI ancestry story generator that turns family records into personalised narratives — where the record layer mattered far more than the model call.
The Archive is a records building: long shelves, indexed drawers, one reading desk. That is the honest shape of this project.
Ancestriq turns family records into personalised ancestry narratives — you give it what is known about a lineage, and it produces a readable story rather than a table. The interesting part was never the generation. It was the records.
The actual problem
A generative model handed loose family records will confidently produce a plausible narrative that is not in the records. For anything genealogical, a plausible answer is worse than no answer, because an invented ancestor reads exactly like a real one — and this is someone’s family.
So the work went into the layer underneath: getting records into a structure where every claim in the output traces back to a specific input, and where the model’s job is narrowed to phrasing what it was given rather than deciding what is true. If a detail is not in the records, the story does not get to have it.
What I learned that carried forward
Two things, and both of them are visible elsewhere in this city.
The first is that the record layer is the product. Swapping the model is an afternoon. Getting the data into a shape where the output is constrained by it is the project. I have not seen a GenAI application where this was not true.
The second is knowing when not to reach for a model. That lesson is the direct reason this portfolio contains no AI at all — no chatbot, no assistant, no inference at runtime. Every question a recruiter might ask is answered by authored text in the Dossier, and every behaviour in the game is deterministic logic. Having built with these models, I have a clear view of where they earn their latency and their bill. A portfolio is not one of those places.
The Exchange
The Exchange
The market district — client work, contract work, and the internship. Two projects live here.
Cielsko Storefront
WordPress and WooCommerce e-commerce work delivered during a remote internship, where the constraint was someone else's platform.
- WordPress
- WooCommerce
- PHP
- JavaScript
The Exchange is the market district — the storefront on one side, the freelance stalls on the other. This is the storefront.
The role
Web Developer Intern at Cielsko Ecommerce LLP, remote, Dec 2025 — Jul 2026. I built and maintained web products and WordPress e-commerce solutions, working with cross-functional teams on feature delivery and deployment workflows.
Why a WordPress project sits next to a Next.js one
Because it is the only project here where I did not choose the stack, and that turns out to be the more useful experience to have had.
Everything else in this city is a decision I made. This one was a platform I inherited, with a theme someone else wrote, plugins I did not pick, and a client whose store could not go down while I worked on it. The skill being exercised is not “can you write PHP” — it is working inside constraints that are not negotiable and shipping anyway.
That is most professional work. A portfolio made entirely of greenfield projects quietly claims otherwise.
What the internship actually taught me
Delivery cadence. Working with cross-functional teams means your definition of “done” has to survive contact with people who did not write the code — a feature is finished when it is deployed, documented well enough for someone else to change it, and not silently breaking something adjacent.
The deployment-workflow half of that is the thread connecting this to the AWS work: both are about the distance between “it works on my machine” and “it works, in production, for someone else.”
Freelance & Contract Work
Multiple concurrent client contracts across web, mobile and cloud — the district where scope and deadline are the real constraints.
- React
- Node.js
- Flutter
- AWS
The other half of The Exchange: the stalls. Several contracts running at once, across web development, app development and cloud deployments, for a range of clients.
Individual client work is under wraps, so this entry is about the practice rather than the products.
Running several at once
The hard part of concurrent contracts is not the code. It is that every client reasonably believes they are your only one, and all of them are right about the deadline they were given.
What made it workable:
- Estimating in ranges, out loud. “Three to five days, and here is what moves it to five” survives contact with reality. A single confident number does not.
- Deciding the stack once per client, not once per feature. Context switching between four projects is expensive enough without also switching conventions. This is the habit that eventually became BugToBuild.
- Writing down what “done” means before starting. Almost every dispute I have seen in contract work traces back to this being left implicit.
The range is deliberate
React and Node on the web, Flutter for mobile, AWS underneath. Being able to take a project from a UI through the backend API to a deployment means a small client gets one person instead of three handoffs — which is the entire value proposition of hiring a full-stack developer for contract work.
It is also why my skill list is shaped the way it is. It is not breadth for its own sake. It is the specific set of things needed to carry something end to end without stopping.
Experience
Web Developer Intern
Cielsko Ecommerce LLP · Remote
Built and maintained web products and WordPress e-commerce solutions, working with cross-functional teams on feature delivery and deployment workflows.
In Frontier: The Exchange
Ongoing
Freelance & Contract Developer
Independent · Remote
Multiple concurrent contracts across web development, app development and cloud deployments for various clients.
In Frontier: The Exchange
About
Full Stack Developer & AI Architect
Spawn Plaza
About Harshal Patil
Full Stack Developer & AI Architect
Full Stack Developer with hands-on experience building and deploying web applications, AI-integrated tools, and cloud infrastructure.
Proficient in JavaScript (React, Node.js, Express), Python, and Dart/Flutter with production deployments on AWS and Firebase. Adept at end-to-end product development — from UI/UX implementation to backend APIs and CI/CD workflows.
Based in Chhatrapati Sambhajinagar, Maharashtra, India. Available for collaboration — freelance and contract work.
The Dossier
The questions recruiters actually ask, answered in advance. Written by hand — there is no chatbot on this site and nothing here was generated.
What's the stack?
JavaScript and TypeScript on the front end — React, Next.js and TailwindCSS. Node.js and Express on the back end, with MongoDB and Firebase for storage. Python for tooling and scripting. Dart and Flutter for mobile. AWS for infrastructure. Eleven of these are laid out as plinths in Skills Garden, and each one links to the district that proves it.
What has he actually shipped with GenAI and LLMs?
Two production products. Genora AI Suite is a Next.js platform with eight native AI tools in it — a developer suite covering 40+ languages, document intelligence over PDFs, a social media studio, an SEO generator, a résumé builder and a maths solver — all running on custom Firestore state management for real-time interactivity. Ancestriq is an AI ancestry story generator that turns family records into personalised narratives. Worth noting what is not on the list: this portfolio itself contains no AI at all. Shipping an LLM wrapper is not a skill in 2026; knowing when not to reach for one is.
What does he know about AWS?
An end-to-end production deployment, built and maintained rather than followed from a tutorial: EC2 for compute, RDS for the managed database, S3 for object storage, CloudFront as the CDN, Route 53 for DNS and ACM for TLS. Six services wired into one working system, which is a different exercise from holding six certificates. In the game it is Cloud Yard — the server stacks are labelled with the services they stand for.
What's the flagship project?
Genora AI Suite — a production-grade Next.js 15 / React 19 ecosystem with eight AI tools under one roof, built on TypeScript, Firebase and TailwindCSS. It is the tallest building in Frontier and it is visible from the spawn point, which is not an accident.
Is he available, and for what?
Yes — freelance and contract work across web development, app development and cloud deployment. Currently a Web Developer Intern at Cielsko Ecommerce LLP (Dec 2025 — Jul 2026, remote) alongside independent contracts, and studying for a B.Tech in Computer Science that runs to 2027. So: contract and part-time now, full-time from 2027.
Education?
B.Tech in Computer Science & Engineering at M.G.M's Jawaharlal Nehru Engineering College, Chhatrapati Sambhajinagar, 2023 to 2027. Everything in this portfolio was built while studying full-time. In the game it is Academy Corner, at the north end of the ring road.
How do I get in touch?
The contact form is the fastest route — it reaches him directly and it is a real form, not a mailto link that opens an app you do not use. LinkedIn works too. In the game, the Contact Terminal is at the south end of the ring road.
Why is this portfolio a game?
Because a portfolio should demonstrate the skill, not describe it. Any developer can write "experienced with performance optimisation" on a page that takes four seconds to load. This site is a real-time 3D application with physics, running at 30 fps or better on a ₹8,000 Android phone and an iPhone 8 — and the 3D layer is mounted over a complete, ordinary, fast HTML site, so if your device can't handle WebGL you get a clean portfolio instead of a black rectangle. That constraint is the actual engineering: GPU tiering, a runtime performance monitor that downgrades itself in eight steps and can unmount the whole canvas, a texture budget tuned to avoid iOS memory kills, and an 8 MB asset ceiling. The game is the demo. The write-ups you are reading are the same HTML the game shows you in-world — one source of truth, no duplicate content.
Skills Garden
Skills
Eleven plinths, each cross-linked to the district that proves it. Nothing here is claimed without somewhere to point.
Frontend
React
Proven in Genora Tower
Next.js
Proven in Genora Tower
TailwindCSS
Proven in Genora Tower
Backend
Node.js
Proven in The Exchange
Express
Proven in The Exchange
Python
Working knowledge
Data & Storage
MongoDB
Working knowledge
Firebase
Proven in Genora Tower
Cloud & DevOps
AWS
Proven in Cloud Yard
Mobile
Flutter / Dart
Proven in The Exchange
AI & GenAI
GenAI & LLMs
Proven in Ancestriq Archive
Academy Corner
Education
Everything in this portfolio was built while studying full-time.
B.Tech in Computer Science & Engineering
M.G.M's Jawaharlal Nehru Engineering College · Chhatrapati Sambhajinagar, Maharashtra
In Frontier: Academy Corner
Contact
Open to work
Contact Terminal
Get in touch
Available for collaboration — freelance and contract work.