Skip to content

Commit 359fd25

Browse files
committed
services content update
1 parent 65504a5 commit 359fd25

File tree

5 files changed

+46
-12
lines changed

5 files changed

+46
-12
lines changed

app/components/TextUtils.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { ReactNode } from "react";
22

33
export function Paragraph({children}: {children?: ReactNode}) {
4-
return <p className="block prose sm:prose-sm md:prose-md lg:prose-lg xl:prose-xl 2xl:prose-2xl prose-invert font-thin">{children}</p>
4+
return <p className="block prose sm:prose-sm md:prose-md lg:prose-lg xl:prose-xl 2xl:prose-2xl prose-invert font-thin w-auto">{children}</p>
55
}
66

77
export function DimmedParagraph({children}: {children?: ReactNode}) {
@@ -15,9 +15,9 @@ export function DimmedParagraph({children}: {children?: ReactNode}) {
1515
)
1616
}
1717

18-
export function Chapter({title, children}: {title: string, children?: React.ReactNode}) {
18+
export function Chapter({title, children, className}: {title: string, children?: React.ReactNode, className?: string}) {
1919
return (
20-
<div>
20+
<div className={className}>
2121
<h1>{title}</h1>
2222
<div className="pl-2">
2323
{children}

app/services/page.tsx

Lines changed: 43 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,21 @@
11
import Link from "next/link"
2+
import Image from "next/image"
23
import { Paragraph, Chapter } from "../components/TextUtils"
4+
import { StaticImport } from "next/dist/shared/lib/get-img-props"
5+
6+
import volumeReconstructPng from "@/public/clients/baw/volume_reconstruct.png";
7+
import n4ce_1 from "@/public/clients/apps_in_cadd/n4ce_1.jpg";
38

49
type PastProjectProps =
510
{
611
company: string,
712
companyWebsite?: string,
13+
images?: StaticImport[] | string[],
14+
videos?: string[],
815
projects: React.ReactNode[]
916
}
1017

11-
function PastProject({company, companyWebsite, projects}: PastProjectProps) {
18+
function PastProject({company, companyWebsite, images, videos, projects}: PastProjectProps) {
1219
return (
1320
<div>
1421
<h3>
@@ -20,15 +27,38 @@ function PastProject({company, companyWebsite, projects}: PastProjectProps) {
2027
<ul className="list-disc list-inside pl-4 font-thin text-[#d1d5db] sm:text-sm md:text-md lg:text-lg xl:text-xl 2xl:text-2xl">
2128
{projects.map((project, index) => <li key={index}>{project}</li>)}
2229
</ul>
30+
{(images || videos) &&
31+
<div className="grid grid-cols-1 md:grid-cols-2 gap-2 p-4">
32+
{images && images.map((image, index) =>
33+
<Image
34+
key={index}
35+
src={image}
36+
alt={`${company} showcase ${index+1}`}
37+
className="w-[600px]"
38+
/>
39+
)}
40+
{videos && videos.map((video, index) =>
41+
<video
42+
key={index}
43+
src={video}
44+
autoPlay
45+
muted
46+
playsInline
47+
loop
48+
className="aspect-video w-[600px]"
49+
/>
50+
)}
51+
</div>
52+
}
2353
</div>
2454
)
2555
}
2656

2757
export default function Page() {
2858
return (
29-
<main className="container mx-auto flex flex-col gap-4 sm:gap-8 h-full items-center">
30-
<div className="flex flex-col gap-4 md:gap-8">
31-
<Chapter title="Experience and Offer">
59+
<main className="container mx-auto flex flex-col items-center">
60+
<div>
61+
<Chapter title="Experience and Offer" className="w-full">
3262
<Paragraph>
3363
We have worked on several long-term projects for companies such as Build A World Aps., Imverse
3464
S.A., Ditt B.V., and Applications In CADD. We have also done Graphics Performance Appraisals and
@@ -44,7 +74,7 @@ export default function Page() {
4474
.Net7 and WASM, Emscripten, Typescript for build systems, CI/CD and language bindings.
4575
</Paragraph>
4676
</Chapter>
47-
<Chapter title="Past Projects">
77+
<Chapter title="Past Projects" className="w-full">
4878
<div className="flex flex-col gap-8">
4979
<PastProject
5080
company="Ditt"
@@ -61,6 +91,8 @@ export default function Page() {
6191
<PastProject
6292
company="Applications in CADD"
6393
companyWebsite="https://appsincadd.co.uk"
94+
images={[n4ce_1]}
95+
videos={["/clients/apps_in_cadd/n4ce_showcase.mp4"]}
6496
projects={[
6597
<>Development of a tailor-made, GPU-driven graphics engine for n4ce v5.0 using the Nabla platform</>,
6698
<>Engineered for extremely large point cloud datasets and modern large-scale civil engineering projects</>,
@@ -87,14 +119,16 @@ export default function Page() {
87119
]}
88120
/>
89121
<PastProject
90-
company="Imverse S.A."
122+
company="Imverse"
123+
companyWebsite="https://www.imverse.ch/"
91124
projects={[
92125
<>GPGPU Consulting and Contracting to solve Computer Vision problems</>,
93126
<>GPU Accelerated Silhouette Carving from RGB+D real-time video inputs</>
94127
]}
95128
/>
96129
<PastProject
97130
company="Build A World Aps."
131+
images={[volumeReconstructPng]}
98132
projects={[
99133
<>Photogrammetry (generating point clouds from drone flythroughs)</>,
100134
<>LiDAR Point Cloud Processing and Volume Reconstruction (3D game worlds from aerial scans)</>,
@@ -106,10 +140,10 @@ export default function Page() {
106140
/>
107141
</div>
108142
</Chapter>
109-
<Chapter title="Conclusion">
143+
<Chapter title="Conclusion" className="w-full">
110144
<Paragraph>
111-
We provide an unbeatable offering with consultants dedicated to your project while also benefit-
112-
ting from heavy 50%+ discounts on co-development and maintenance of Vulkan Utilities used in
145+
We provide an unbeatable offering with consultants dedicated to your project while also benefitting
146+
from heavy 50%+ discounts on co-development and maintenance of Vulkan Utilities used in
113147
your project similar to those present in the CUDA space such as CUB.
114148
Finally our Consultants constantly benefit from each other’s experience and insights delivering
115149
solutions a step above those devisable in solitude, even if a project has a singular Consultant.
94 KB
Loading
14.4 MB
Binary file not shown.
4.72 MB
Loading

0 commit comments

Comments
 (0)