Skip to content

Commit d415c36

Browse files
Completed remaining pages
X-Lovable-Edit-ID: edt-6d9c563e-2d28-4899-82fa-85a664c1d949 Co-authored-by: ghostcodedynamics <295822717+ghostcodedynamics@users.noreply.github.com>
2 parents 9ac704e + 198ad37 commit d415c36

5 files changed

Lines changed: 588 additions & 41 deletions

File tree

‎public/sitemap.xml‎

Lines changed: 60 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,38 +2,92 @@
22
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
33
<url>
44
<loc>https://ghostcodedynamics.github.io/</loc>
5-
<lastmod>2026-06-30</lastmod>
5+
<lastmod>2026-08-27</lastmod>
66
<changefreq>weekly</changefreq>
77
<priority>1.0</priority>
88
</url>
99
<url>
1010
<loc>https://ghostcodedynamics.github.io/services</loc>
11-
<lastmod>2026-06-30</lastmod>
11+
<lastmod>2026-08-27</lastmod>
1212
<changefreq>monthly</changefreq>
1313
<priority>0.9</priority>
1414
</url>
1515
<url>
1616
<loc>https://ghostcodedynamics.github.io/portfolio</loc>
17-
<lastmod>2026-06-30</lastmod>
17+
<lastmod>2026-08-27</lastmod>
1818
<changefreq>monthly</changefreq>
1919
<priority>0.8</priority>
2020
</url>
21+
<url>
22+
<loc>https://ghostcodedynamics.github.io/blog</loc>
23+
<lastmod>2026-08-27</lastmod>
24+
<changefreq>weekly</changefreq>
25+
<priority>0.8</priority>
26+
</url>
2127
<url>
2228
<loc>https://ghostcodedynamics.github.io/about</loc>
23-
<lastmod>2026-06-30</lastmod>
29+
<lastmod>2026-08-27</lastmod>
2430
<changefreq>monthly</changefreq>
2531
<priority>0.8</priority>
2632
</url>
2733
<url>
2834
<loc>https://ghostcodedynamics.github.io/founder</loc>
29-
<lastmod>2026-06-30</lastmod>
35+
<lastmod>2026-08-27</lastmod>
3036
<changefreq>monthly</changefreq>
3137
<priority>0.8</priority>
3238
</url>
3339
<url>
3440
<loc>https://ghostcodedynamics.github.io/contact</loc>
35-
<lastmod>2026-06-30</lastmod>
41+
<lastmod>2026-08-27</lastmod>
42+
<changefreq>monthly</changefreq>
43+
<priority>0.7</priority>
44+
</url>
45+
<url>
46+
<loc>https://ghostcodedynamics.github.io/academy</loc>
47+
<lastmod>2026-08-27</lastmod>
48+
<changefreq>monthly</changefreq>
49+
<priority>0.7</priority>
50+
</url>
51+
<url>
52+
<loc>https://ghostcodedynamics.github.io/courses</loc>
53+
<lastmod>2026-08-27</lastmod>
54+
<changefreq>monthly</changefreq>
55+
<priority>0.7</priority>
56+
</url>
57+
<url>
58+
<loc>https://ghostcodedynamics.github.io/internships</loc>
59+
<lastmod>2026-08-27</lastmod>
3660
<changefreq>monthly</changefreq>
3761
<priority>0.7</priority>
3862
</url>
63+
<url>
64+
<loc>https://ghostcodedynamics.github.io/events</loc>
65+
<lastmod>2026-08-27</lastmod>
66+
<changefreq>monthly</changefreq>
67+
<priority>0.6</priority>
68+
</url>
69+
<url>
70+
<loc>https://ghostcodedynamics.github.io/community</loc>
71+
<lastmod>2026-08-27</lastmod>
72+
<changefreq>monthly</changefreq>
73+
<priority>0.6</priority>
74+
</url>
75+
<url>
76+
<loc>https://ghostcodedynamics.github.io/labs</loc>
77+
<lastmod>2026-08-27</lastmod>
78+
<changefreq>monthly</changefreq>
79+
<priority>0.6</priority>
80+
</url>
81+
<url>
82+
<loc>https://ghostcodedynamics.github.io/careers</loc>
83+
<lastmod>2026-08-27</lastmod>
84+
<changefreq>monthly</changefreq>
85+
<priority>0.6</priority>
86+
</url>
87+
<url>
88+
<loc>https://ghostcodedynamics.github.io/verify</loc>
89+
<lastmod>2026-08-27</lastmod>
90+
<changefreq>yearly</changefreq>
91+
<priority>0.5</priority>
92+
</url>
3993
</urlset>

‎src/components/site-footer.tsx‎

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,14 @@ export function SiteFooter() {
3232
</div>
3333
</div>
3434

35-
<div className="md:col-span-3">
35+
<div className="md:col-span-2">
3636
<h4 className="text-xs font-semibold uppercase tracking-wider text-muted-foreground">
3737
Explore
3838
</h4>
3939
<ul className="mt-4 space-y-2.5 text-sm">
4040
<FooterLink to="/services">Services</FooterLink>
4141
<FooterLink to="/portfolio">Portfolio</FooterLink>
42+
<FooterLink to="/blog">Insights</FooterLink>
4243
<FooterLink to="/about">About</FooterLink>
4344
<FooterLink to="/founder">Founder</FooterLink>
4445
<FooterLink to="/" hash="why-choose-us">
@@ -48,7 +49,23 @@ export function SiteFooter() {
4849
</ul>
4950
</div>
5051

51-
<div className="md:col-span-4">
52+
<div className="md:col-span-2">
53+
<h4 className="text-xs font-semibold uppercase tracking-wider text-muted-foreground">
54+
Programs
55+
</h4>
56+
<ul className="mt-4 space-y-2.5 text-sm">
57+
<FooterLink to="/academy">Academy</FooterLink>
58+
<FooterLink to="/courses">Courses</FooterLink>
59+
<FooterLink to="/internships">Internships</FooterLink>
60+
<FooterLink to="/events">Events</FooterLink>
61+
<FooterLink to="/community">Community</FooterLink>
62+
<FooterLink to="/labs">Labs</FooterLink>
63+
<FooterLink to="/careers">Careers</FooterLink>
64+
<FooterLink to="/verify">Verify a certificate</FooterLink>
65+
</ul>
66+
</div>
67+
68+
<div className="md:col-span-3">
5269
<h4 className="text-xs font-semibold uppercase tracking-wider text-muted-foreground">
5370
Get in touch
5471
</h4>
@@ -62,6 +79,7 @@ export function SiteFooter() {
6279
For project inquiries, mentorship & collaborations.
6380
</p>
6481
</div>
82+
6583
</div>
6684

6785
<div className="mt-12 flex flex-col gap-3 border-t border-border/60 pt-6 sm:flex-row sm:items-center sm:justify-between">

‎src/routes/internships.tsx‎

Lines changed: 132 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,140 @@
1-
import { ComingSoon } from "@/components/coming-soon";
1+
import { Briefcase, GitBranch, MessageSquare, Award, Target, Clock } from "lucide-react";
2+
import { PageHero } from "@/components/section";
23
import { Seo } from "@/components/seo";
4+
import { Faq, FeatureGrid, ProgramCta, StatusNote, Timeline } from "@/components/program-page";
5+
import { breadcrumbSchema, webPageSchema } from "@/lib/seo";
6+
7+
const title = "Internships - GhostCode Dynamics";
8+
const description =
9+
"A project-based internship program at GhostCode Dynamics for students who want to ship production-grade work with real mentorship, not busywork.";
10+
const path = "/internships";
11+
12+
const PILLARS = [
13+
{
14+
icon: <Target className="h-5 w-5" />,
15+
title: "Real briefs, real scope",
16+
desc: "You work on scoped slices of live client and in-house projects — not throwaway sample apps built to fill a certificate.",
17+
},
18+
{
19+
icon: <MessageSquare className="h-5 w-5" />,
20+
title: "Founder-level mentorship",
21+
desc: "Direct code review and weekly one-to-one feedback from the founder. Fewer interns, more attention.",
22+
},
23+
{
24+
icon: <GitBranch className="h-5 w-5" />,
25+
title: "Professional workflow",
26+
desc: "Branches, pull requests, reviews, issue tracking and deploys. You leave knowing how teams actually ship.",
27+
},
28+
{
29+
icon: <Briefcase className="h-5 w-5" />,
30+
title: "Portfolio-first outcome",
31+
desc: "Every internship ends with a documented case study you can show in interviews and link from your CV.",
32+
},
33+
{
34+
icon: <Clock className="h-5 w-5" />,
35+
title: "Student-friendly hours",
36+
desc: "Part-time, remote-first blocks designed around semesters and exams rather than fighting them.",
37+
},
38+
{
39+
icon: <Award className="h-5 w-5" />,
40+
title: "Verifiable certificate",
41+
desc: "Completion issues a certificate with an ID anyone can check on our verification page.",
42+
},
43+
];
44+
45+
const PHASES = [
46+
{
47+
label: "Step 01",
48+
title: "Apply with your work",
49+
desc: "Share a GitHub profile, a deployed project or anything you have built. Effort counts more than polish.",
50+
},
51+
{
52+
label: "Step 02",
53+
title: "Short conversation",
54+
desc: "A relaxed call about how you think, what you want to learn and where you currently get stuck.",
55+
},
56+
{
57+
label: "Step 03",
58+
title: "Onboarding sprint",
59+
desc: "Environment setup, codebase walkthrough and a small first ticket to get you comfortable shipping.",
60+
},
61+
{
62+
label: "Step 04",
63+
title: "Project block",
64+
desc: "Six to twelve weeks owning features end to end, with reviews, standups and a written build journal.",
65+
},
66+
{
67+
label: "Step 05",
68+
title: "Wrap-up and certificate",
69+
desc: "A final demo, a public case study and a verifiable completion certificate.",
70+
},
71+
];
72+
73+
const FAQS = [
74+
{
75+
q: "Is the internship program live?",
76+
a: "Not yet. Applications open with the first cohort. Registering interest now puts you on the shortlist we contact first.",
77+
},
78+
{
79+
q: "Is it paid?",
80+
a: "The first cohorts are unpaid but genuinely educational, with a stipend planned as client capacity grows. We will never charge students to intern.",
81+
},
82+
{
83+
q: "Do I need to be a computer science student?",
84+
a: "No. You need working fundamentals in HTML, CSS and JavaScript, and the discipline to finish what you start.",
85+
},
86+
{
87+
q: "Is it remote?",
88+
a: "Yes, remote-first with scheduled review calls. Time zones inside India are easiest, but we consider everyone.",
89+
},
90+
];
391

492
export default function Page() {
593
return (
694
<>
7-
<Seo title={"Internships - GhostCode Dynamics"} description={"A future internship program for students who want to build production-grade work."} path={"/internships"} robots="noindex, follow" />
8-
<ComingSoon
9-
module="Internships"
10-
title="Real internships. Real projects."
11-
description="A future internship program at GhostCode Dynamics — for students who want to build production-grade work alongside the team."
12-
bullets={[
13-
"Project-based learning, not busywork",
14-
"Mentorship from the founder",
15-
"Open-source friendly experience",
16-
"Certificate of completion",
17-
]}
18-
/>
95+
<Seo
96+
title={title}
97+
description={description}
98+
path={path}
99+
schemas={[
100+
webPageSchema(title, description, path),
101+
breadcrumbSchema([
102+
{ name: "Home", path: "/" },
103+
{ name: "Internships", path },
104+
]),
105+
]}
106+
/>
107+
<PageHero
108+
eyebrow="Internships · Opening soon"
109+
title="Real internships. Real projects."
110+
description="An internship at GhostCode Dynamics is a working seat on real product work — scoped features, code review, deploys and a documented outcome you can point recruiters at."
111+
>
112+
<StatusNote>Applications not open yet · Shortlist forming</StatusNote>
113+
</PageHero>
114+
115+
<FeatureGrid
116+
eyebrow="What you get"
117+
title="Built to make you employable"
118+
description="Everything here exists because it shows up in interviews — the work, the workflow and the write-up."
119+
items={PILLARS}
120+
/>
121+
122+
<Timeline
123+
eyebrow="Process"
124+
title="How an internship runs"
125+
description="Predictable structure from the first message to the final certificate."
126+
items={PHASES}
127+
/>
128+
129+
<Faq items={FAQS} />
130+
131+
<ProgramCta
132+
title="Get on the internship shortlist"
133+
description="Send your best work and what you want to build. We read every submission and reply to the ones we can help."
134+
primaryLabel="Apply for a spot"
135+
secondaryLabel="See open roles"
136+
secondaryTo="/careers"
137+
/>
19138
</>
20139
);
21140
}

0 commit comments

Comments
 (0)